iptables は、1 つの IP を除くすべての着信 ICMP 要求を削除します。

iptables は、1 つの IP を除くすべての着信 ICMP 要求を削除します。

現在、次のようなものがあります。

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

関連情報