iptables verwendet weiterhin alte NAT-Regeln

iptables verwendet weiterhin alte NAT-Regeln

Ich verwende iptables snat auf meinem Gateway, um lokale Quell-IP-Adressen in externe zu ändern. Das Problem ist, dass das Gateway nach dem Ändern der Regeln (oder sogar wenn ich die iptables nat-Tabelle lösche) weiterhin die alte Regel verwendet, bis ich das Gateway neu starte. Ich verwende Ubuntu 14.04 Server als laufendes Betriebssystem. Wenn ich also beispielsweise

iptables -t nat -A POSTROUTING -s 10.0.0.129 -j SNAT --to-source 1.2.3.4

Die externe Adresse für 10.0.0.129 ist 1.2.3.4 und auf der externen Gateway-Schnittstelle konnte ich so etwas sehen

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
09:48:07.920936 IP 1.2.3.4 > 8.8.8.8: ICMP echo request, id 2425, seq 1, length 64
09:48:08.920066 IP 1.2.3.4 > 8.8.8.8: ICMP echo request, id 2425, seq 2, length 64
09:48:09.920422 IP 1.2.3.4 > 8.8.8.8: ICMP echo request, id 2425, seq 3, length 64

und sogar danach

iptables -F 
iptables -t nat -F 
iptables -t nat -A POSTROUTING -s 10.0.0.129 -j SNAT --to-source 4.3.2.1

das Ergebnis wird das gleiche sein

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
09:54:20.674671 IP 1.2.3.4 > 8.8.8.8: ICMP echo request, id 2666, seq 1, length 64
09:54:21.674997 IP 1.2.3.4 > 8.8.8.8: ICMP echo request, id 2666, seq 2, length 64
09:54:22.676283 IP 1.2.3.4 > 8.8.8.8: ICMP echo request, id 2666, seq 3, length 64

die neuen Regeln werden erst nach einem Neustart des Systems wirksam. Dies passierte früher gelegentlich, aber vor Kurzem stellte sich heraus, dass ich diese Regeln nicht ohne Neustart ändern kann.

verwandte Informationen