はじめに
ポートフォワーディング(Port Forwarding)について、
NAT の基本 → なぜ必要なのか → どう動くのか
をまとめます。
参考元の記事:
[NATとポートフォワーディングの仕組み(frkz.jp)](https://frkz.jp/study/network/nat)
1. NATとは?
一言で言うと、内部 IPと外部 IPを変換する仕組み
インターネットに接続するとき、多くの環境では
- LAN 内の端末 → プライベート IP
- インターネット → グローバル IP
を使い分けています。
この 内部 IP ⇔ 外部 IP の変換を行うのが NAT です。 [frkz.jp]
※ これは一例で、外部IPが複数あるケースなど、いろんな構成があります。
NAT があることで、
- 1つのグローバル IP を複数の機器で共有できる
- 内部のプライベート IP は外から直接見えない(隠蔽される)
というセキュリティ面のメリットができます。
2. NAT の弱点
NATにも弱点があります。
外部から内部に「新規接続」できない
ことです。
NAT は本来、「内部 → 外部」の通信を想定しています。
そのため、「外から家の PC やサーバにアクセスしたい!」というケースでは、外部 → 内部の通信が NAT で止まってしまう のが問題になります。 [infra-manual.com]
理由は簡単で、
ルーターは “外から来た通信をどの内部端末へ届ければよいか” 判断できない ためです。
3. ポートフォワーディングとは?
そこで登場するのが ポートフォワーディング(Port Forwarding)。
これはルーターに対して
「このポートに届いた通信は、LAN 内のこの端末へ送れ」
と明示的にルールを追加する仕組みです。 [infra-manual.com]
これにより、
NAT環境でも内部サーバを外部へ公開できる ようになります。
5. ポートフォワーディングのルールはどうやってつける?
ポートフォワーディングのルールは、主に 2パターン あります。
- ACL(FireWall / Router側)でポートフォワードを設定する
- SSH コマンド(-L/-R/-D)で個人用トンネルを張る
公開用途・企業運用では①、
一時的アクセスや限定利用では②がよく使われます。
ACLの場合
事前に、ACL, NaPTといった設定を記載してルールを作成しておく。
パターン2:SSHのコマンド
ACLを触れない・公開したくない場合でも、
SSH の -L/-R/-D を使えば、自分専用の安全なトンネルを作れます。
| 種類 | 方向 | 主な用途 |
|---|---|---|
-L ローカル |
ローカル → リモート | 社内サーバへ安全に接続 |
-R リモート |
リモート → ローカル | 外部からローカルへ接続 |
-D 動的 |
SOCKSプロキシ化 | ブラウザ全通信をトンネル化 |
SSH の場合は「ルーターではなく SSH が転送を担当」します。
まとめ
✔ NAT は内部ネットワークを外部IPにまとめる仕組み
✔ しかしそのままでは外部 → 内部の通信が届かない
✔ ポートフォワーディングで「どこへ転送するか」ルールを決める
参考:
https://frkz.jp/study/network/nat




