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í
- Lo dejaste
-t nat
, por lo que está intentando agregarlo a laPREROUTING
cadena en lafilter
tabla, que no existe. - 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