NAT seletivo dos pacotes com iptables

NAT seletivo dos pacotes com iptables

Como posso fazer iptables NAT para todos os pacotes, exceto aqueles, que possuem um endereço de destino da sub-rede 192.168.254.0/24?

Responder1

Se bem entendi, isso deve ser bastante fácil usando a opção -dcom negação. Por exemplo, uma regra como esta:

$ iptables -A POSTROUTING ! -d 192.168.254.0/24 -j SNAT --to-source new_source_ip

Claro, você pode alterar a regra de acordo com suas necessidades. Isto altera o IP de origem de todos os pacotes destinados a qualquer destino, exceto a sub-rede indicada.

Responder2

Na minha opinião, seguir a ordem dos comandos do iptables funcionaria:

1. iptables -t nat -A POSTROUTING -s 192.168.254.0/24 -o eth0 -j RETURN
2. iptables -t nat -A POSTROUTING -s 0.0.0.0/0 -o eth0 -j MASQUERADE

a regra 1 corresponderá à sua rede e não será MASQUERADA; a regra 2 irá mascarar tudo, mas geralmente não é uma boa ideia fornecer o curinga 0.0.0.0 (nem tenho certeza se funcionará). Você deve adicionar seletivamente todas as redes que deseja mascarar e o resto simplesmente não será mascarado.

informação relacionada