Squid - proxy transparente com NICs na mesma sub-rede?

1

Eu configurei uma máquina virtual básica do Squid + DansGuardian que eu deveria usar para monitorar e bloquear certos sites. Atualmente, o tráfego da Web passa por um roteador definido como o gateway - o endereço IP é distribuído por um serviço DHCP em um servidor Linux. Gostaria de rotear alguns clientes para um gateway diferente, com base em seu endereço MAC (que já posso fazer). A configuração é a seguinte:

Router (Gateway) - 192.168.0.1
DHCP/DNS Server  - 192.168.0.10
Squid Server     - 192.168.0.254
Client PCs       - 192.168.0.100-199

No entanto, a maioria dos tutoriais parece exigir que o Squid aceite tráfego em 1 NIC e, em seguida, o retransmite para o mundo externo em outra NIC, em uma sub-rede diferente.

É possível que o Squid aceite tráfego no seu IP (192.168.0.254) e o retransmita para o gateway (192.168.0.1) para deixar o prédio como normal? Em caso afirmativo, alguém tem as regras relevantes do iptables que eles poderiam me dar?

    
por fistameeny 24.10.2012 / 14:47

1 resposta

1

Você não precisa ter uma interface separada para essa finalidade.

Basta adicionar uma regra para redirecionar o tráfego HTTP e o restante para o NAT de maneira apropriada:

iptables -t nat -A PREROUTING -i eth0 -m iprange --src-range 192.168.0.100-192.168.0.199 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o eth0 -m iprange --src-range 192.168.0.100-192.168.0.199 -j SNAT --to-source 192.168.0.254

Assume-se que a política padrão para todas as cadeias está configurada para aceitar. Além disso, você precisará do encaminhamento de ipv4 para ser ativado neste host e seu gateway padrão deve ser definido como 192.168.0.1.

    
por 24.10.2012 / 15:39