Aleatorizar el puerto externo al hacer NAT con iptables

Aleatorizar el puerto externo al hacer NAT con iptables

Quiero configurar un comportamiento NAT diferente al predeterminado implementado por iptables.

En este ejemplo:

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

El comportamiento predeterminado de NAT implementado por iptableses independiente del punto final. Esto significa que todas las sesiones iniciadas desde el mismo host tendrán el mismo "externo" (IP, número de puerto) incluso si hay una variedad de puertos.

Necesito saber cuáles son los flags u opciones a modificar para poder tener un número de puerto diferente para cada sesión.

Respuesta1

SNATacepta una --randomopción (deextensiones-iptablespágina de manual):

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

Entonces intentaría algo como:

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

información relacionada