IPTables origina NAT (SNAT) a /etc/ufw/before.rules

IPTables origina NAT (SNAT) a /etc/ufw/before.rules

Necesito generar tráfico NAT (SNAT) entre dos interfaces en un servidor Ubuntu 18.04. He estado intentando usar el archivo '/etc/ufw/before.rules' para implementar mis diversas necesidades de NAT y hasta ahora todo bien... hasta ahora.

El siguiente comando iptables parece hacer exactamente lo que necesito:

iptables -j SNAT -t nat -I POSTROUTING 1 -o eth0 -d 192.168.1.0/24 -s 172.18.0.0/16 --to-source 10.136.0.2

¿Se puede traducir fácilmente esta regla a una configuración en el archivo '/etc/ufw/before.rules'? Las páginas de manual para las configuraciones UFW NAT parecen faltar un poco en comparación con las reglas de filtrado más comunes.

Antecedentes: estoy generando NAT en parte del tráfico de la ventana acoplable/contenedor para enviarlo a través de un túnel de políticas IPSec usando StrongSwan. Sin la regla de iptables mencionada anteriormente, puedo hacer que el tráfico se dirija AL contenedor desde la VPN, pero el tráfico procedente del contenedor fracasa.

eth0 es mi interfaz "pública" IP 1.2.3.4 y eth1 es mi interfaz "privada" IP 10.136.0.2

Aquí está la configuración *nat que ya tengo en el archivo '/etc/ufw/before.rules' para que el tráfico fluya (menos el tráfico procedente de Docker):

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.1.0/24  -d 10.136.0.0/16 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/24  -d 172.18.0.0/16 -j MASQUERADE
COMMIT
#

Respuesta1

Si ya agregó esta iptablesregla manualmente, puede encontrar su formato y posición correctos para agregarla before.rulesejecutando:

# sudo iptables -t nat -S
...
-A POSTROUTING -s 172.18.0.0/16 -d 192.168.1.0/24 -o eth0 -j SNAT --to-source 10.136.0.2
...

información relacionada