封鎖はなぜ「脱出口がないのか」

封鎖はなぜ「脱出口がないのか」

同様の問題がありますnc ホストへのパスはありませんが、ping は可能です。
この場合、一部のポートでは、iptables(デフォルト)ルールはホストが禁止したICMPパケットを返し、「パスなし」に変換しました。
問題を解決しましたが(ルールを削除)、基本ルールがなぜ「パスなし」なのかを知りたいです。拒否、パスなし、接続拒否に設定する方が明確ではありませんか?
トランスポート接続が拒否されたため、より多くのリソースが必要ですか?かなり大きなパケットですか?

ベストアンサー1

お客様が要求する REJECT ルールは、次のように定義されます。

target      prot opt source               destination
REJECT      all  --  anywhere             anywhere             reject-with icmp-host-prohibited

これの利点は、ほとんどの/すべてのプロトコルで同じようにうまく機能するREJECTルールです。 「このホストとの通信は管理上禁止されています」という特定の種類のICMPが発生するため、受信者はこれが単純なネットワーク障害やソフトウェア構成の間違いではなく、ファイアウォールタイプの管理ブロックであることを識別できます。つまり、「このブロックは人間の行動なしで解決される可能性が低いので、試してみることは役に立たない可能性があります。これが適切でないと思われる場合は、ネットワーク管理者に連絡してください。」

必要に応じて、「Connection Rejected」を使用してTCP接続を拒否し、ICMPを使用して他のすべての接続を拒否できますが、これには2つの規則が必要です。

iptables -w -A INPUT -p tcp -j REJECT --reject-with tcp-reset
iptables -w -A INPUT -j reject --reject-with icmp-host-prohibited

デフォルトでは、「接続が拒否されました」TCP ReSeTパケットまたはICMPホスト禁止パケット転送はすでに低い優先順位で発生するため、システムがより重要なタスクを持っている場合、システムにさらに重要なタスクがある場合、これらの拒否通知は遅延または完全にスキップされます。する。 TCPリセットパケットとICMPエラーパケットの間にパケットサイズに大きな違いはありません。

ただし、(最小)リソース使用量がまだ心配な場合は、DROPルールを使用して接続をブロックできます。 DROPルールを使用すると、どのような応答も送信せず、一致するパケットが破棄されます。これを行うには、クライアントがパケットパススルー障害を検出する前にタイムアウトするまで待つ必要があるため、ネットワークのトラブルシューティングがより面倒です。

おすすめ記事