Iptables con problema de NATing libnetfilter

Iptables con problema de NATing libnetfilter

Estoy usando tablas de IP junto con la cola de filtro de red para modificar paquetes mediante programación.

Estoy usando reglas de iptables en ubuntu lab con 2 NIC eth0 para Internet y eth1 para la LAN. He usado las conocidas reglas de iptables para NATing con enmascaramiento en eth0 Sudo iptables --table nat --append POSTROUTING -o eth0 -j MASQUERADE sudo iptables -append ADELANTE -i eth1 -j ACEPTAR. 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 eliminar lo que quiero usando nfq_set_verdict. De hecho, todo va como esperaba, es decir, los tres tipos de protocolo: los paquetes icmp, tcp y udp se modifican y reinyectan. En la cola, luego sale eth0 a Internet tomando la dirección IP de eth0 como dirección de origen (efecto de usar la regla NAT MASQUERADE ). Esto es cierto para todos los paquetes EXCEPTO: los paquetes de respuesta de ping icmp o de confirmación tcp. Salen a Internet tomando la IP privada del dispositivo LAN: 192.168.xx y llegan al otro lado con esta dirección IP de origen privada. Algunas ideas. Gracias.

Respuesta1

Estoy usando reglas de iptables en ubuntu lab con 2 NIC eth0 para Internet y eth1 para la LAN. He usado las conocidas reglas de iptables para NATing con enmascaramiento en eth0 Sudo iptables --table nat --append POSTROUTING -o eth0 -j MASQUERADE sudo iptables -append ADELANTE -i eth1 -j ACEPTAR. 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 eliminar lo que quiero usando nfq_set_verdict. De hecho, todo va como esperaba, es decir, los tres tipos de protocolo: los paquetes icmp, tcp y udp se modifican y reinyectan. En la cola, luego 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: los paquetes de respuesta de ping icmp o de confirmación tcp. Salen a Internet tomando la IP privada del dispositivo LAN: 192.168.xx y llegan al otro lado con esta dirección IP de origen privado. Algunas ideas. Gracias.

información relacionada