IP de origen del paquete Iptables no NATed en caso de respuesta icmp y confirmación tcp

IP de origen del paquete Iptables no NATed en caso de respuesta icmp y confirmación tcp

Lo estoy usando iptablesjunto con net-filterla cola para modificar paquetes mediante programación.

Estoy usando iptablesreglas sobre ubuntu lab con 2 NIC, eth0 para Internet y eth1 para la LAN. He usado las conocidas reglas de iptables para NAT con enmascaramiento en eth0.

sudo iptables --table nat --append POSTROUTING -o eth0 -j MASQUERADE 
sudo iptables -append FORWARD -i eth1 -j ACCEPT. 
sudo iptables -t mangle -A PREROUTING -j NFQUEUE --queue-num 0 
sudo iptables -t mangle -A OUTPUT -j NFQUEUE

Estas 4 reglas se utilizan para ayudarme a capturar paquetes dentro de mi programa y modificar paquetes o descartar lo que quiero usar nfq_set_verdict.

De hecho, todo va como esperaba, es decir, los tres tipos de protocolo icmp, tcpy udplos paquetes se modifican y reinyectan. Luego, en la cola sale eth0 a Internet tomando la dirección IP de eth0 como dirección de origen (efecto de usar la regla MASQUERADE NAT).
Esto es cierto para todos los paquetes EXCEPTO: ping ICMPrespondero TCPACKpaquetes.
Salen a Internet tomando la IP privada del dispositivo LAN: 192.168.xx en eth1 y llegan al otro lado con esta dirección IP de origen privada.

Algunas ideas. Gracias.

información relacionada