Como rotear todo o tráfego HTTP de eth1 para o proxy Squid? As regras do Iptable?

2

Acabei de configurar um servidor proxy do squid. O servidor tem duas interfaces. O eth0 se conecta ao roteador e o eth1 é conectado a um comutador onde todas as outras máquinas se conectam. O servidor também tem um servidor DHCP. Eu configurei o Squid3 na máquina e quando eu configuro meu navegador para usar esse proxy (eu configurações de rede se eu definir o IP e a porta), as coisas funcionam. Mas eu preciso disso como um proxy transparente, onde não preciso configurar o navegador e todas as solicitações passarão pelo proxy.

Isso pode ser feito simplesmente definindo as regras de IPtable corretamente? Alguns artigos falam sobre a alteração do sysctl.conf. Eu tentei as regras Iptable de muitos tutoriais e nenhum funcionou. Por favor, me dê uma regra de trabalho para adicionar. Obrigado.

PS: O servidor é Ubuntu 12.10

PS2: Se você puder, por favor me diga como adicionar essas regras para o ufw

    
por THpubs 05.01.2013 / 17:15

1 resposta

1

Você deve alterar o seguinte para corresponder à sua configuração:

eth1: interface LAN
eth0: interface WAN
Squid PORT: 8028

Abaixo estão as configurações para o Squid no modo transparente.

# NAT
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT

# Redirect
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8028 -j REDIRECT --to-port 80 
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to IPaddress:8028
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8028
    
por 02.01.2014 / 11:35