NAT越え(NAT Traversal)は、プライベートネットワーク同士の通信やリモートアクセス、オンライン会議システムなどで重要な技術です。しかし、NAT の種類や挙動を正しく理解していないと通信が確立しなかったり、予期せぬポート閉塞が発生するなどのトラブルに繋がります。本記事では、NAT越えの基本原理と、実務で失敗しないための設計上の注意点について解説します。
NATとは何か(おさらい)
NAT(Network Address Translation)は、プライベートIPアドレスをグローバルIPアドレスに変換する仕組みです。多くの企業ネットワーク・家庭用ルータで標準的に利用されます。
NATの主な目的
- グローバルIPアドレスの節約
- 内部ネットワークの秘匿化(簡易的なセキュリティ効果)
- アドレス変換によるネットワーク統合
NAT越え通信が必要になるケース
通常、NAT は外部からの通信を遮断するため、以下のような用途では「NAT越え」の仕組みが必要です。
- P2P通信(WebRTC、オンラインゲーム、ファイル共有など)
- VPNクライアント(IPsec/IKEv2/SSL-VPN)
- 企業-企業間の通信(拠点間VPN)
- クラウドサービスへのエージェント通信
これらでは NAT を跨いで双方向通信を確立する必要があります。
NAT越え通信の基本仕組み
1. ポートマッピング(ポートフォワード)
最もシンプルな NAT 越え方法です。外部IPの特定ポートを内部ホストに紐付け、外部→内部の通信を可能にします。
- 例:TCP 443番を内部サーバへ転送
- 用途:Webサーバ、VPNゲートウェイ、SSHなど
明示的な設定が必要であり、P2Pなどの動的通信には不向きです。
2. STUN(Session Traversal Utilities for NAT)
STUN はクライアントが「自分のグローバル側のIP・ポート」を知るための仕組みです。WebRTC などで使用されます。
- 自分の NAT タイプを判定
- 外部に見えるポート番号を取得
3. TURN(Traversal Using Relays around NAT)
TURNは、NAT越えできない場合の「中継サーバ」です。
- クライアントA → TURN → クライアントB
- NAT が対称型で P2P接続できない場合に利用
4. ICE(Interactive Connectivity Establishment)
ICE は STUN と TURN を組み合わせ、最適な通信経路を自動選択する仕組みです。
- 候補アドレス作成
- P2P試行 → 失敗 → TURN フォールバック
Zoom や Teams などの多くのリアルタイム通信で採用されています。
NATの種類による通信可否
| NATタイプ | 特徴 | P2Pの成功率 |
|---|---|---|
| フルコーン NAT | 外部から同ポートでアクセス可能 | 非常に高い |
| 制限コーン NAT | 内部から通信した宛先のみ許可 | 高い |
| ポート制限コーン NAT | 宛先IP+ポートの組み合わせで制限 | 中程度 |
| 対称(Symmetric)NAT | 最も厳しい。宛先毎にポート変換が異なる | 低い(TURN必須) |
企業ファイアウォールは多くの場合「対称NAT」であるため、WebRTC や P2P 通信が失敗しやすい傾向にあります。
NAT越え通信でよく発生するトラブル
- 外部から内部サーバに接続できない
- VPNが確立しない(IPsec NAT-T問題)
- P2P通信が片方向だけ繋がらない
- WebRTC の映像・音声が途中で途切れる
- 複数クライアントが同一サービスを利用する際のポート衝突
失敗しないための設計・構成上の注意点
1. NAT の種類を事前に把握する
企業のFW/NAT装置が「対称NAT(Symmetric NAT)」の場合、P2P通信は基本的に失敗します。WebRTC やオンライン会議では TURN の利用が必須です。
2. IPsec の NAT 越えは NAT-T を有効化
- UDP 4500 を開放
- ESP が通らない環境では必須
特に拠点間VPNで問題になることが多いポイントです。
3. ポートフォワーディングは「最小限の範囲」で設定する
広範囲なポート開放はセキュリティリスクが高まります。必要なポートのみ個別に設定することが重要です。
4. 重複 NAT(二重ルータ)を避ける
家庭用ルータ → 企業用VPNルータ → インターネット のように二重化すると通信が複雑になります。可能であればブリッジモードに統一しましょう。
5. STUN/TURN サーバの冗長化
WebRTC を利用する企業では必須です。
- 複数の STUN/TURN サーバを用意
- 地理的に分散したサーバの利用
6. 企業FWのセッションタイムアウト値を確認
P2PやVPNはセッション維持が重要です。タイムアウトが短すぎると途中で切断されます。
7. 大量トラフィックが予想される場合は TURN の帯域設計を行う
TURN は中継サーバのため帯域圧迫が起きます。
- 1ユーザあたりの平均帯域(映像/音声)
- 同時接続数
この2つを基にサイジングする必要があります。
まとめ
- NAT越え通信は NAT の種類とアプリケーションの仕組みを理解することが重要です。
- 対称NATは P2P接続が難しく、TURN を利用する必要があります。
- VPNでは NAT-T(UDP4500)が必須となる場合があります。
- 設計段階で NAT 種類・ポート開放・セッションタイムアウトを確認することで、通信トラブルを大幅に減らせます。
NAT越えはシンプルに見えて、実務では多くの落とし穴があります。適切な設計と事前検証を行い、安定した通信を実現することが重要です。


