Como usar o iptables para conectar o servidor proxy

3

Na minha empresa, todos os http e https devem se conectar a um servidor proxy, o que significa que devemos definir um proxy em nosso navegador da Web.

Nosso departamento tem uma rede interna ( 192.168.0.xxx ). Eu uso um servidor Linux como roteador, uso o iptables para configurar o NAT.

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Agora, o roteador Linux funciona bem. Podemos definir o proxy para acessar a Internet.

Minha pergunta é: Eu quero usar o roteador Linux para conectar o servidor proxy, então os computadores em nossa rede interna ( 192.168.0.xxx ) podem visitar a Internet sem configurar o proxy.

Isso é possível?

    
por siyuan 31.01.2013 / 09:51

2 respostas

1

Experimente esta regra:

iptables -t nat -A PREROUTING -i eth0 -s ! 192.168.0.2 -p tcp --dport 80 -j DNAT --to 192.168.0.2:3128
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -d 192.168.0.2 -j SNAT --to 192.168.0.1
iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.0.2 -i eth0 -o eth0 -p tcp --dport 3128 -j ACCEPT

onde:

192.168.0.2 - proxy server IP (Squid, etc);
192.168.0.1 - router IP (where started iptables);
192.168.0.0/24 - your local network

Eu posso estar errado, verifique com cuidado.

    
por 31.01.2013 / 10:42
1

Sem ter testado, acho que a solução @ymn é válida para HTTP, mas não acho que você possa especificar uma linha equivalente para HTTPS - na verdade, qualquer solução desse tipo deve gerar erros de certificado, etc. -efeito, fazendo um ataque man-in-the-middle em sua própria rede.

(Você pode ser capaz de contornar isso - até certo ponto - mas não é uma boa idéia, já que você está removendo a segurança que o SSL oferece. Dê uma olhada em sslstrip - link )

Talvez um meio termo melhor seja tentar fazer a autoconfiguração do proxy (WPAD com DHCP) - link

    
por 01.02.2013 / 03:07