Iptables mit Libnetfilter-NATing-Problem

Iptables mit Libnetfilter-NATing-Problem

Ich verwende IP-Tabellen in Verbindung mit der Netzfilterwarteschlange, um Pakete programmgesteuert zu ändern.

Ich verwende iptables-Regeln über Ubuntu Lab mit 2 NICs, eth0 zum Internet und eth1 zum LAN. Ich habe die bekannten iptables-Regeln für NATing mit Masquerading auf eth0 verwendet. 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. Diese 4 Regeln werden verwendet, um mir beim Erfassen von Paketen in meinem Programm zu helfen und Pakete zu ändern oder zu löschen, was ich mit nfq_set_verdict möchte. Tatsächlich läuft alles wie erwartet, d. h. die drei Protokolltypen ICMP, TCP und UDP-Pakete werden geändert und erneut in die Warteschlange eingespeist. Anschließend verlässt eth0 das Internet und nimmt die eth0-IP-Adresse als Quelladresse (Auswirkung der Verwendung der MASQUERADE-NAT-Regel). Dies gilt für alle Pakete AUSSER: ICMP-Ping-Antwort- oder TCP-ACK-Pakete. Sie verlassen das Internet unter Verwendung der privaten IP des LAN-Geräts – 192.168.xx – und erreichen die andere Seite mit dieser privaten Quell-IP-Adresse. Irgendwelche Ideen? Danke.

Antwort1

Ich verwende iptables-Regeln über Ubuntu Lab mit 2 NICs, eth0 zum Internet und eth1 zum LAN. Ich habe die bekannten iptables-Regeln für NATing mit Masquerading auf eth0 verwendet. 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. Diese 4 Regeln werden verwendet, um mir beim Erfassen von Paketen in meinem Programm zu helfen und Pakete zu ändern oder zu löschen, was ich mit nfq_set_verdict möchte. Tatsächlich läuft alles wie erwartet, d. h. die drei Protokolltypen ICMP, TCP und UDP-Pakete werden geändert und erneut in die Warteschlange eingespeist. Anschließend verlässt eth0 das Internet und nimmt die eth0-IP-Adresse als Quelladresse (Auswirkung der Verwendung der MASQUERADE-NAT-Regel). Dies gilt für alle Pakete AUSSER: ICMP-Ping-Antwort- oder TCP-ACK-Pakete. Sie verlassen das Internet unter Verwendung der privaten IP des LAN-Geräts – 192.168.xx – und erreichen die andere Seite mit dieser privaten Quell-IP-Adresse. Irgendwelche Ideen? Danke.

verwandte Informationen