NATとポートフォワーディング
NATとは
NAT(Network Address Translation)は、プライベートIPアドレスとグローバルIPアドレスを相互に変換する仕組みです。[[IPアドレスとサブネット]] で学ぶとおり IPv4 のアドレスは約43億個しかないため、家庭や会社の中ではプライベートIPを使い、インターネットに出るときだけルーターがグローバルIPに書き換えます。
実際に広く使われているのは NAPT(IPマスカレード)と呼ばれる方式で、IPアドレスに加えて [[ポート番号]] も変換します。これにより、1つのグローバルIPを複数の端末で同時に共有できます。家庭のWi-Fiルーターがまさにこれを行っています。
NATの動きのイメージ
| 変換前(LAN側) | 変換後(インターネット側) |
|---|---|
| 192.168.1.10:50001 | 203.0.113.5:60001 |
| 192.168.1.11:50002 | 203.0.113.5:60002 |
ルーターはこの変換表を覚えておき、戻ってきた応答パケットを正しい端末に配り直します。
重要な性質として、NATの内側の端末は外から直接アクセスできません。変換表は内側から通信を始めたときに作られるため、外から突然届いたパケットは捨てられます。これは簡易的な防御にもなりますが、[[ファイアウォール]] の代わりにはなりません。
ポートフォワーディングとは
外からのアクセスを意図的に通したい場合に使うのがポートフォワーディング(ポート開放)です。「グローバルIPの特定ポート宛に来た通信を、LAN内の特定の端末・ポートへ転送する」というルールをルーターに登録します。
- 例: 「203.0.113.5 の 8080番宛 → 192.168.1.10 の 80番へ転送」
- 自宅サーバーの公開やオンラインゲームのホスト役などで使われる
- 開けたポートは攻撃の入口にもなるため、必要最小限にして認証・更新を怠らないことが大切
初学者向けポイント
- 「自分のIP」と検索して出るのはNAT変換後のグローバルIP。
ipconfigで見えるプライベートIPと異なるのは正常 - NAT越しでは外から接続を始められないため、[[P2P通信]] では NAT を越えるための工夫(NAT越え)が必要になる
- [[IPv6]] はアドレスが十分にあるため、原理的にはNATなしで端末同士が直接通信できる
関連技術とのつながり
- [[IPアドレスとサブネット]] — NATはグローバルIPの不足を補うための仕組み
- [[ルーティング]] — 家庭用ルーターはルーティングとNATを同時に行う
- [[ポート番号]] — NAPT はポート番号を使って通信を端末ごとに区別する
- [[IPv6]] — アドレス枯渇が解消されるとNATの必要性が薄れる
- [[VPCとクラウドネットワーク]] — クラウドのNATゲートウェイも同じ変換表の考え方で動く
Q: NAT(NAPT)の主な目的はどれ?
- [x] プライベートIPとグローバルIPを変換し、1つのグローバルIPを複数端末で共有する
- [ ] ドメイン名をIPアドレスに変換する
- [ ] 通信内容を暗号化して盗聴を防ぐ
解説: NAT はアドレス変換の仕組みで、IPv4 アドレス不足を補います。名前解決は DNS、暗号化は TLS などの役割です。
Q: NAPT(IPマスカレード)がIPアドレスに加えて変換に使うものはどれ?
- [ ] MACアドレス
- [x] ポート番号
- [ ] ドメイン名
解説: NAPT はポート番号も書き換えることで、複数端末の通信を1つのグローバルIP上で区別します。
Q: ポートフォワーディングの説明として正しいのはどれ?
- [ ] LAN内の全端末のポートを自動的にすべて公開する機能
- [ ] 外部からの通信をすべて遮断する機能
- [x] 特定ポート宛の外部からの通信をLAN内の特定端末へ転送するルールを登録する機能
解説: ポートフォワーディングは意図した通信だけを内側へ通す設定です。開けるポートは必要最小限にします。