Sie müssen Ihre Regeln in umgekehrter Reihenfolge ausführen. Iptables reagiert empfindlich auf die Reihenfolge, in der Befehle ausgeführt wurden. Wenn eine Regel zutrifft, überprüft es keine weiteren Regeln, sondern befolgt nur diese. Wenn Sie den Drop zuerst festlegen, wird die Accept-Regel nie getestet. Indem Sie das spezifische Akzeptieren mit der Quell-IP festlegen und dann die allgemeinere Richtlinie auf Verwerfen setzen, beeinflussen Sie das erwartete Verhalten.
iptables -A INPUT -s x.x.x.x -p ICMP --icmp-type 8 -j ACCEPT
iptables -A INPUT -p ICMP --icmp-type 8 -j DROP
Was das Hängeproblem betrifft, das Sie zu haben scheinen, sind Sie sicher, dass Sie eine gültige IP-Adresse eingegeben haben? Vielleicht können Sie diesem Befehl strace iptables …
voranstellen um zu sehen, was es tut, während es zu hängen scheint.
Lassen Sie ICMP nicht willkürlich fallen! Sicher, einige der ICMP-Anfragen sind gefährlich, aber der Rest ist absolut erforderlich, damit das Netzwerk funktioniert (denken Sie an „Ziel nicht erreichbar“ und diesen Zoo).