Randomize a porta externa ao fazer NAT com iptables

1

Eu quero configurar um comportamento NAT diferente do padrão implementado por iptables .

Neste exemplo:

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 193.49.142.107:2000-400

O comportamento padrão do NAT implementado por iptables é independente do ponto de extremidade. Isso significa que todas as sessões iniciadas a partir do mesmo host terão o mesmo 'externo' (IP, número da porta) mesmo se houver um intervalo de portas.

Eu preciso saber quais são os sinalizadores ou opções a serem modificados para ter um número de porta diferente para cada sessão.

    
por HaTiMuX 17.06.2014 / 14:30

1 resposta

2

SNAT aceita uma opção --random (de iptables-extensions manpage):

--random
       If  option --random is used then port mapping will be randomized
       (kernel >= 2.6.21).

Então, eu tentaria algo como:

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 193.49.142.107:2000-4000 --random
    
por 17.06.2014 / 15:08