IPTABLES PREROUTING todo el tráfico en la subred de forma transparente al proxy, excepto

IPTABLES PREROUTING todo el tráfico en la subred de forma transparente al proxy, excepto

Tengo un firewall entre 192.168.255.0 y 172.16.255.0. Ambos /24. 192.168.255.0 obtenga DNAT en un servidor proxy @ 172.16.255.5:8080. Quiero que esto continúe, sin embargo, tengo un servidor web 172.16.255.50 al que quiero una conexión directa para realizar pruebas. Probé esta declaración, pero iptables sigue generando errores al intentar agregarla

iptables -I PREROUTING -i eth1 -d \! 172.16.255.50 -p tcp --dport 80 -j DNAT --to-destination 172.16.255.5:8080

¡¡Gracias!!

Respuesta1

Hay 2 problemas aquí

  1. Lo dejaste -t nat, por lo que está intentando agregarlo a la PREROUTINGcadena en la filtertabla, que no existe.
  2. El 'no' ( !) tiene que ir antes del -d.

Solución de trabajo:

iptables -t nat -I PREROUTING -i eth1 \! -d 172.16.255.50 -p tcp --dport 80 -j DNAT --to-destination 172.16.255.5:8080


Alternativamente, otra forma de hacer este tipo de cosas es poner una regla antes de la que coincida con el tráfico de excepción y no haga nada con él. Iptables se detiene una vez que llega a la primera regla coincidente, por lo que nunca llega a la regla posterior.

iptables -t nat -A PREROUTING -i eth1 -d 172.16.255.50 -p tcp --dport 80
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 172.16.255.5:8080

información relacionada