こんにちは!ネットワークセキュリティの世界へようこそ。現場の最前線でパケットと格闘している筆者が、今日はネットワークエンジニアの登竜門であり、トラブルシューティングの要でもある「NATとNAPT」についてお話しします。
「IPアドレス?ポート番号?なんか難しそう…」と身構える必要はありません。実はこれ、皆さんの身の回りにある「郵便」や「マンションの管理」と同じ仕組みなんです。一歩ずつ、紐解いていきましょう!
—
1. そもそも、なぜIPアドレスを変換する必要があるの?
現実世界で考えてみましょう。あなたは「大きなマンション(プライベートネットワーク)」に住んでいます。このマンションの各部屋には「101号室、102号室…」と部屋番号(プライベートIPアドレス)が振られていますが、これらはマンションの外に出ると全く通用しませんよね。
インターネットという広大な世界へ手紙(パケット)を送るには、マンション全体の「代表住所(グローバルIPアドレス)」が必要です。
- プライベートIP: マンション内の部屋番号(例:
192.168.1.5) - グローバルIP: 郵便局が認識できるマンションの住所(例:
203.0.113.10)
NAT(Network Address Translation)とは、この「部屋番号」を「代表住所」に書き換えてくれる、いわばマンションの凄腕コンシェルジュのような存在なんです。
—
2. NAPTの魔法:ポート番号で「誰からの返事か」を見分ける
NATがただの「住所書き換え」だとすると、NAPT(Network Address Port Translation)はもっと賢い仕組みです。
マンションの住人AさんとBさんが同時に外へ手紙を送ったとき、返事が届いたらどちら宛てか分からなくなりますよね。そこでNAPTは、手紙の裏側に「ポート番号」という付箋をペタッと貼るんです。
1. Aさんからの手紙 → 「代表住所のポート番号:10001」に変換
2. Bさんからの手紙 → 「代表住所のポート番号:10002」に変換
外の世界から「10001宛てに返事が来た!」と届くと、コンシェルジュは手元のメモ(変換テーブル)を見て、「あ、これはAさんの分だ!」と正確に部屋へ届けてくれます。この「IPアドレス+ポート番号」のペアでセッションを管理するのがNAPTの正体です。
—
3. 実践!ルーターでの設定イメージ
では、現場でよく触れるルーターの設定を覗いてみましょう。ここでは、マンションの入り口(ルーター)で「LAN側のパケットをどう外へ出すか」という設定のイメージをコードで示します。
# CiscoルーターでのNAPT設定例
# 1. 内側のインターフェース(LAN側)を指定
interface GigabitEthernet0/0
ip nat inside # ここから来るパケットは変換対象だよ!
# 2. 外側のインターフェース(WAN側)を指定
interface GigabitEthernet0/1
ip nat outside # ここから外へ送り出すよ!
# 3. 変換ルールを作成(アクセスリストで対象を絞る)
access-list 1 permit 192.168.1.0 0.0.0.255 # 192.168.1.xの端末を対象に
# 4. 変換を実行(PAT/NAPTを有効化)
ip nat inside source list 1 interface GigabitEthernet0/1 overload
# 「overload」がポートを使って多人数をさばくNAPTの鍵です!
この overload というキーワードが、まさに「複数の端末をたった一つのグローバルIPでさばく」ための魔法の言葉なんです。
—
4. トラブルシューティングの現場から
現場でネットワークが繋がらないとき、僕たちはまずこの「変換テーブル」を確認します。
# 変換テーブルの確認コマンド
show ip nat translation
もしここにデータが表示されなければ、「そもそもパケットがルーターまで届いていない」か「変換ルールが間違っている」ことが一目瞭然です。
初心者の頃は、「IPアドレスは正しいのに繋がらない!」と焦ることがありますが、そんな時はこの「変換テーブル」を覗いてみてください。パケットがどこで迷子になっているのか、ルーターが正直に答えを教えてくれますよ。
—
最後に:ネットワークは「流れ」を想像する
ネットワークの世界は、目に見えない電気信号のやり取りですが、その実態は非常に論理的で、人間社会の仕組みとよく似ています。
- 「誰が(送信元IP)」
- 「どこへ(宛先IP)」
- 「どの窓口で(ポート番号)」
この3つを意識するだけで、ネットワークのトラブルシューティングは格段にスムーズになります。最初は難しく感じるかもしれませんが、パケットを「手紙」に例えて想像する癖をつければ、きっと誰よりも早くネットワークの動きが見えるようになりますよ!
皆さんのエンジニアライフが、より豊かで面白いものになることを応援しています。また次の記事でお会いしましょう!
コメント