Iptables Macaddress vs. Proxy Transparente
Oi pessoal,
Gostaria que os colegas desta lista analisassem este script, p/ encontra algum linha com erro e tb me ajudasse a resolver um outro problema. Este script foi criado p/ bloquear e liberar o acesso a rede através do MACADDRESS da placa de rede, vc vão poder entender melhor este script acessando este site http://www.linuxit.com.br/section-viewarticle-154.html.
O problema:
Na minha rede tenho um servidor de proxy transparente utilizando a porta 3128, bem, estou querendo incorpora o controle p/ o proxy coisa que já tinha mais não funciona na pratica, pelo que notei o script original esta com bug, Estou querendo que a porta 3128 seja bloqueado p/ todo, e só depois liberado p/ os ips ou mac que estão no arquivo MACLIST.
Grato,
Exemplo do MACLIST
a;00:21:ab:0d:ef:bb;192.168.0.2;cliente1
b;21:AD:dc:00:ff:10;192.168.0.3;cliente2
---------------------------------------- INICIO DO SCRIPT -----------------------------------------
#!/bin/bash
IPT=/sbin/iptables
PROGRAMA=/etc/init.d/macip
NET_IFACE=eth0
LAN_IFACE=eth1
MACLIST=/etc/maclist
case $1 in
start)
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPT -t nat -F
$IPT -t nat -Z
$IPT -F
$IPT -Z
# Ordem certa do script
#$IPT -t filter -P FORWARD DROP
$IPT -P FORWARD DROP
for i in `cat $MACLIST`;
do
STATUS=`echo $i | cut -d ';' -f 1`
MACSOURCE=`echo $i | cut -d ';' -f 2`
IPSOURCE=`echo $i | cut -d ';' -f 3`
IDUSER=`echo $i | cut -d ';' -f 4`
if [ $STATUS = "a" ]; then
$IPT -t nat -A POSTROUTING -s $IPSOURCE -j MASQUERADE
$IPT -A FORWORD -s $IPSOURCE -m mac --mac-source $MACSOURCE -j ACCEPT
$IPT -A FORWORD -d $IPSOURCE -j ACCEPT
fi
if [ $STATUS = "d" ]; then
$IPT -t nat -A POSTROUTING -s $IPSOURCE -j MASQUERADE
$IPT -A FORWORD -s $IPSOURCE -j ACCEPT
$IPT -A FORWORD -d $IPSOURCE -j ACCEPT
fi
if [ $STATUS = "b" ]; then
$IPT -A FORWORD -m mac --mac-source $MACSOURCE -j DROP
$IPT -A INPUT -m mac --mac-source $MACSOURCE -j DROP
$IPT -A OUTPUT -m mac --mac-source $MACSOURCE -j DROP
fi
done
;;
stop)
$IPT -F
$IPT -Z
$IPT -t nat -F
$IPT -t nat -Z
;;
restart)
$PROGRAMA stop
$PROGRAMA start
;;
esac
Iptables Macaddress vs. Proxy Transparente
Nem analisei seu script mais começa trocando FORWORD por FORWARD.
Iptables Macaddress vs. Proxy Transparente
para forcar o proxy transparente, faca um redir da 80 para a 3128, easy.
Iptables Macaddress vs. Proxy Transparente
Oi gmlinux,
Obrigado, eu escrevei errado na hora de passa do artigo p/ o fórum, vc entendeu qual e meu problema?
Citação:
Postado originalmente por gmlinux
Nem analisei seu script mais começa trocando FORWORD por FORWARD.
Iptables Macaddress vs. Proxy Transparente
Oi mistymst,
Cara eu sei q tenho q redirecionar da porta 80 p/ 3128, minha pergunta não e essa, quero bloquear todos os acesso a porta 3128 de quem não tiver no arquivo maclist, pois do jeito que esta, e só eu configura meu navegador na porta 3128 mesmo a maquina estando bloqueado pelo script ele navega.
Esta e a linha q controla o proxy neste script:
[size=9px]$IPT t nat A PREROUTING s $IPSOURCE p tcp dport 80 j REDIRECT to-port 3128[/size]
Citação:
Postado originalmente por mistymst
para forcar o proxy transparente, faca um redir da 80 para a 3128, easy.
Iptables Macaddress vs. Proxy Transparente
cara faz o seguinte,
bloquei tudo primeiro
iptables -P INPUT DROP
ai pra vc liberar o proxy,
iptables -A INPUT -p tcp -s IP_DO_CLIENTE -d IP_DO_PROXY --dport 3128 -j ACCEPT
claro q vc tera de liberar as portas q vc utliza no seu servidor ex: 25, 53, 80, 110 e outras q vc utliliza no seu servidor,
isso deve resolver seu problema,
Rosauro
Iptables Macaddress vs. Proxy Transparente
Citação:
Postado originalmente por rosauro
cara faz o seguinte,
bloquei tudo primeiro
iptables -P INPUT DROP
ai pra vc liberar o proxy,
iptables -A INPUT -p tcp -s IP_DO_CLIENTE -d IP_DO_PROXY --dport 3128 -j ACCEPT
claro q vc tera de liberar as portas q vc utliza no seu servidor ex: 25, 53, 80, 110 e outras q vc utliliza no seu servidor,
isso deve resolver seu problema,
Rosauro
Eu não queria chegar a este estremo, vc não poderia me da outra solução tipo bloquear so a porta 3128, e libera a mesma p/ os ips que estão cadastrados em maclist?
Grato,
Iptables Macaddress vs. Proxy Transparente
veja este modelo, fiz o teste aqui e funcionou o cara so navega se tiver no maclist. http://www.zago.eti.br/firewall/iptables-mac.txt