現在、次のようなものがあります。
iptables -A INPUT -p ICMP --icmp-type 8 -j DROP
iptables -A INPUT -s x.x.x.x -p ICMP --icmp-type 8 -j ACCEPT
しかし、2番目のコマンドを実行すると、iptablesが停止しているように見えます。ターミナルに戻るにはそれを取り除かなければなりませんでした。たぶん私が間違っているかもしれませんが、少し洞察力が役に立ちます。
答え1
ルールを逆順で実行する必要があります。 Iptablesは、コマンドが実行される順序に敏感です。ルールが一致する場合は、より多くのルールをチェックし続けずにそのルールに従います。廃棄を最初に設定すると、受け入れルールはテストされません。送信元IPを使用して特定の承認を設定し、削除するようにより一般的なポリシーを設定すると、予想される動作に影響します。
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
問題があるようです。有効なIPアドレスを入力しましたか?コマンドstrace iptables …
が停止している間に何をしているかを見るために、コマンドの前にプレフィックスを付けることもできます。
答え2
ICMPをランダムに捨てないでください!もちろん、一部のICMP要求は危険ですが、残りはネットワークが正しく機能するために必要です(「対象に到達できない」とその動物園を考えてください)。
答え3
次の規則を追加する必要があります。
$ iptables -A INPUT -s x.x.x.x -p icmp --icmp-type echo-reply -j ACCEPT