
Diede
(usa Debian)
Enviado em 06/12/2010 - 16:06h
Amigo, quanto as suas regras, você não precisa da "iptables -t filter -A FORWARD -i ppp0 -o eth1 -s 0/0 -d 192.168.1.200 -p tcp -j ACCEPT", pois não é necessário acesso de fora para dentro para que as máquinas acessem a internet.
Outra coisa é que sua regra de FORWARD pára funcionar pois a tabela nat está antes da filter ("lógica de iptables"). Se você jogar esse redirect para a 3128 sua máquina 192.168.1.200 vai cair no proxy. O que você pode fazer é o seguinte:
#Quanto aos softwares da caixa, fica mais "eficiente" você fazer o seguinte:
iptables -t nat -I POSTROUTING -i eth1 -p tcp -d 200.201.160/20 -j MASQUERADE
iptables -t filter -I FORWARD -i eth1 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
#Sua máquina 192.168.1.200 não caírá no proxy:
iptables -t nat -I PREROUTING -i eth1 -p tcp -d ! 200.201.160/20 -s ! 192.168.1.200 --dport 80 -j REDIRECT --to-port 3128
iptables -t filter -A FORWARD -i eth1 -o ppp0 -s 192.168.1.200 -d 0/0 -p tcp -j ACCEPT
Essas regras são para uma condição de "máquina liberada". Se você precisar liberar mais que uma, fica mais simples fazer assim a segunda parte:
#Sua máquina 192.168.1.200 não caírá no proxy:
iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! 200.201.160/20 --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -I PREROUTING -i eth1 -p tcp -s 192.168.1.200 -j ACCEPT
iptables -t filter -A FORWARD -i eth1 -o ppp0 -s 192.168.1.200 -d 0/0 -p tcp -j ACCEPT