Pessoal, tenho algumas regras de NAT na PREROUTING que estou percebendo que não funcionam.
A interface de rede em1 está com algums subinterfaces lógicas (em1:1, em1:2 e em1:3).
Cada uma destas interfaces lógicas possui um determinado IP.
Partindo deste
ponto, eu criei algumas regras na tabela nat, chain PREROUTING falando o seguinte:
iptables -t nat -A PREROUTING -i em1:1 -d XXX.XXX.1 -p tcp --dport XXX -j DNAT --to-dest 192.168.0.1
iptables -t nat -A PREROUTING -i em1:2 -d XXX.XXX.2 -p tcp --dport XXX -j DNAT --to-dest 192.168.0.2
iptables -t nat -A PREROUTING -1 em1:3 -d XXX.XXX.3 -p tcp --dport XXX -j DNAT --to-dest 192.168.0.3
Ou seja, pacotes entrando pela em1:1,2 ou 3 que tiverem como destino um determinado IP, serão nateados para um dos IPs do final da regra.
O que estou percebendo nas análises é que quando a regra de NAT é aplicada a uma interface lógica, o iptables/netfilter não faz o NAT. Ou seja, não trata.
Quando eu removi as interfaces lógicas deixando somente a física "em1" e fiz um nat da mesma forma em cima dela, o nat aconteceu.
Ou seja, o NAT funcionou quando foi aplicado na interface física e não funcionou quando foi aplicado nas interfaces lógicas construídas em cima da física.
Alguma dica?
Alguém já passou por isso?
Abraços
Ricardo Tweeg