STUN はほとんどの NAT で機能しますか?

STUN はほとんどの NAT で機能しますか?

私はこれまで、STUN プロトコルをノイズとしてほとんど無視してきましたが、あちこちで遭遇し続けており、その一般的な使いやすさについて疑問に思っています。

addr:port私の理解が正しければ、STUN は、マッピングを確立するときにソースが使用したパケットよりも、最も外側の NAT がペアから送信されたパケットを許可する場合にのみ役立ちます。

私は明らかに誤った理解をしていましたが、正常な NAT はaddr:port接続が確立された同じペアからのパケットのみを許可する (エンドポイント依存フィルタリング) というものでした。これを強制しないこと自体が深刻なセキュリティ問題であるように思われます。その上にプロトコルや RFC 全体を構築するのは狂気の沙汰のように思えます。

質問:

  1. エンドポイントに依存しないフィルタリングのみを実行する NAT は本当にたくさんあるのでしょうか?
  2. 怠惰であること、背後のシステムを危険にさらすこと、そして「P2P フレンドリー」な機能に追加料金を請求すること以外に、NAT でエンドポイントに依存しないフィルタリングを実行する正当な理由はありますか?

答え1

NAT はセキュリティ機能として意図されたものではなく、IPv6 が完全に導入されるまでの暫定措置として、IPv4 アドレスの不足を食い止めるためのハックです。したがって、セキュリティよりも実用性を最大化する方法で実装するのが理にかなっています。

したがって、NAT はセキュリティ デバイスとして意図されていないため、質問 2 の前提は間違っています。リモート エンドポイントを常に同じに強制すると、1 つのアプリケーションでも動作しなくなる場合、テクノロジの目的を考慮すると、同じリモート エンドポイントを強制しない方が合理的であると考えられます。

ピアツーピア IP テレフォニー (Skype など) は、NAT の動作を利用する STUN や同様のテクノロジー、あるいは UPnP などのテクノロジーによって NAT に穴を開けることができなければ、正常に動作しない正当なアプリケーションの顕著な例です。

関連情報