IPTABLES PREROUTING todo o tráfego na sub-rede de forma transparente para o proxy, exceto para

IPTABLES PREROUTING todo o tráfego na sub-rede de forma transparente para o proxy, exceto para

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

  1. Você parou -t nat, então está tentando adicionar algo à PREROUTINGcadeia na filtertabela, que não existe.
  2. 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

informação relacionada