Ciclos formativos de grado medio y superior de la familia Informática y Comunicaciones

reglas de iptables para un proxy transparente

Partiendo de la base expuesta en este otro post

iptables - permitir salida a internet

Vamos a obligar a los clientes de la red sin necesidad de configuración a pasar por el proxy squid

Para ello un par de reglas mágicas, la primera es por si tenemos servidores internos y DNS funcionando, ejemplo www.server1.local

# iptables -t nat -A PREROUTING -i eth1 -d 192.168.200.0/24 -j ACCEPT

Esta es la mágica:

# iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

O esta mucho más al grano (nota, o una u otra no las dos)

# iptables -t nat -A PREROUTING -i eth1 -s 192.168.200.0/24 -d ! 192.168.200.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128 

Donde ya estamos diciendo explícitamente que el destino no sea nuestra LAN (mismo comentario servidor+dns).

Ahora hay que guardarlas

# iptables-save > /etc/mis-iptables

Y si no lo tenemos ya, añadir esta línea en el fichero /etc/network/interfaces:

post-up iptables-restore < /etc/mis-iptables