Ich verwende iptables auf einem Ubuntu-Server, um eine öffentliche IP auf eine private IP umzuleiten. Ich möchte den gesamten Datenverkehr naten, einschließlich 80, 443 und ICMP.
Es scheint jedoch, dass ICMP nicht weiterleitet. Ich habe einen konstanten Ping an die öffentliche IP-Adresse und dieser hört nie auf, selbst wenn NAT auf eine falsche IP-Adresse verweist.
Hier sind die Regeln, die ich verwende:
iptables -t nat -I PREROUTING -d 206.72.119.76 -j DNAT --to-destination 10.240.5.5
iptables -t nat -I POSTROUTING -s 10.240.5.5 -j SNAT --to-source 206.72.119.76
Ich habe es speziell mit Regeln für ICMP versucht, aber ohne Erfolg:
iptables -t nat -I PREROUTING -d 206.72.119.76 - icmp --icmp-type echo-request -j DNAT --to-destination 10.240.5.5
Irgendwelche Ideen?
Antwort1
Haben Sie PCAP ausgeführt, um zu prüfen, ob die ICMP-Pakete per NAT verarbeitet und erneut gesendet werden? Vielleicht werden sie einfach von der Box akzeptiert, iptables
auf der Sie sie ausführen.