Tenho um firewall entre 192.168.255.0 e 172.16.255.0. Ambos /24. 192.168.255.0 obtenha DNAT para um servidor proxy @ 172.16.255.5:8080. Quero que isso continue, mas tenho um servidor web 172.16.255.50 ao qual desejo conexão direta para teste. Eu tentei esta declaração, mas o iptables continua errando ao tentar adicioná-la
iptables -I PREROUTING -i eth1 -d \! 172.16.255.50 -p tcp --dport 80 -j DNAT --to-destination 172.16.255.5:8080
Obrigado!!
Responder1
Existem 2 problemas aqui
- Você parou
-t nat
, então está tentando adicionar algo àPREROUTING
cadeia nafilter
tabela, que não existe. - O 'não' (
!
) tem que vir antes do-d
.
Solução de trabalho:
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, outra maneira de fazer coisas assim é colocar uma regra antes daquela que corresponda ao tráfego de exceção e não faça nada com ele. O Iptables para quando atinge a primeira regra correspondente, portanto nunca chega à regra 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