Randomize a porta externa ao fazer NAT com iptables

Randomize a porta externa ao fazer NAT com iptables

Quero configurar um comportamento NAT diferente do padrão implementado pelo 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 Endpoint. Isto significa que todas as sessões iniciadas no mesmo host terão o mesmo 'externo' (IP, número de porta), mesmo que haja um intervalo de portas.

Preciso saber quais são os flags ou opções a serem modificadas para ter um número de porta diferente para cada sessão.

Responder1

SNATaceita uma --randomopção (deextensões iptablespágina de manual):

--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

informação relacionada