【ぽーとふぉわーでぃんぐ】

ポートフォワーディング とは?

💡 通信の「郵便転送」—別の宛先に届ける
📌 このページのポイント
ポートフォワーディング ― 転送の仕組み インターネット 外部ユーザー 203.0.113.1:8080 リクエスト ルーター / FW ポート転送ルール :8080 → 192.168.1.10:80 :2222 → 192.168.1.20:22 LAN内部 Webサーバー :80 SSHサーバー :22 ポートフォワーディングの流れ 外部から :8080 にアクセス ルーターが ルールを照合 LAN内サーバー :80 に転送 応答を 返送
ポートフォワーディングの転送の仕組みのイメージ
ひよこ ひよこ

ポートフォワーディングって何に使うの?

ペンギン先生 ペンギン先生

①自宅サーバーの公開(ルーターのポート80→自宅PCへ転送)、②SSHトンネル(リモートのDB:5432にローカルのlocalhost:5432でアクセス)、③Docker(-p 3000:80 でコンテナの80番ポートをホストの3000番に転送)。ネットワーク越しにサービスにアクセスする基本技術だよ

ひよこ ひよこ

SSHトンネルって具体的に?

ペンギン先生 ペンギン先生

「ssh -L 5432:db-server:5432 bastion-server」と実行すると、ローカルの5432番ポートがSSH経由でリモートのDBサーバーの5432番ポートにトンネルされるよ。ブラウザやDB管理ツールから「localhost:5432」にアクセスするだけで、暗号化されたSSH経由でリモートDBに接続できるんだ

ひよこ ひよこ

セキュリティの注意点は?

ペンギン先生 ペンギン先生

①必要なポートだけ開ける(不要なポートフォワードは攻撃面を増やす)、②ルーターのUPnP自動ポート開放はマルウェアに悪用されるリスクがある、③ポートフォワード先のサービスにも認証を設定する。「ポートを開ける=世界中からアクセス可能になる」という意識を持とうね

ひよこ ひよこ

ngrokCloudflare Tunnelとの関係は?

ペンギン先生 ペンギン先生

ルーターのポートフォワードなしで、ローカルのサービスをインターネットに公開できるツールだよ。「ngrok http 3000」で一時的なURLが発行されて、外部からlocalhostにアクセスできる。Webhookのテスト、デモ共有、リモートデバッグに超便利。Cloudflare Tunnelは無料で常時接続できるから自宅サーバーにも使えるよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
ポートフォワーディング」って出てきたら「特定ポートの通信を別の宛先に転送する技術」と思えればだいたいOK!
📖 おまけ:英語の意味
「Port Forwarding」 = ポート転送
💬 Port(ポート番号)の通信をForwarding(転送)する技術だよ
← 用語集にもどる