ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
ポートフォワーディング (ポート転送) とは、ある地点に届いたネットワーク通信を、あらかじめ決めた別の地点へ中継・転送する仕組みの総称です。文脈によって 2 つの意味で使われます。1 つは家庭用ルータや NAT 機器における「ポート開放」、もう 1 つは SSH トンネルによる「SSH ポートフォワード」です。いずれも「本来直接は届かない宛先へ、中継点を経由して通信を届ける」点が共通しています。基礎となる ポート番号 の概念を前提とします。
仕組み
NAT/ルータでのポートフォワーディングは、グローバル IP を 1 つしか持たない家庭/オフィスで、外部から来た特定ポート宛のパケットを、内部 LAN の特定ホスト・ポートへ書き換えて転送する処理です。NAT の一種である DNAT (宛先 NAT) として実装され、「外部の :外部ポート → 内部の 192.168.x.y:内部ポート」というマッピングをルータに登録します。これにより、グローバルからプライベートアドレスのサービスへ到達できるようになります。
SSH ポートフォワーディングは、暗号化された SSH コネクションの中にもう 1 本の TCP 経路をトンネルとして通す機能です。3 種類あります。
- ローカル転送 (-L): 手元の localhost:ポート へのアクセスを、SSH 先サーバから見た宛先へ転送する。例: 手元の 5433 を踏み台経由で社内 DB の 5432 へ。
- リモート転送 (-R): SSH 先サーバのポートへのアクセスを、手元のマシンから見た宛先へ転送する。NAT 内のサービスを外部に公開する用途。
- ダイナミック転送 (-D): 手元に SOCKS プロキシを立て、ブラウザ等のトラフィックを SSH 先から出ていくようにする。簡易 VPN 的に使える。
実用例
# ローカル転送: 手元の 5433 を踏み台 bastion 経由で社内 DB(db.internal:5432) へ
ssh -L 5433:db.internal:5432 user@bastion.example.com
# 別端末から
psql -h 127.0.0.1 -p 5433 -U appuser appdb
# リモート転送: 手元の Web(127.0.0.1:3000) をリモートの 8000 で公開
ssh -R 8000:127.0.0.1:3000 user@public.example.com
# ダイナミック転送: 手元 1080 に SOCKS プロキシを立てる
ssh -D 1080 user@gateway.example.com
# curl をそのプロキシ経由で
curl --socks5-hostname 127.0.0.1:1080 https://internal.example.com/
# 転送だけ行いシェルを起動しない (-N) + バックグラウンド (-f)
ssh -fNL 5433:db.internal:5432 user@bastion.example.com
NAT ルータ側のポート開放は機器の管理画面 (UPnP もしくは手動の仮想サーバ設定) で行うのが一般的で、Linux ルータでは ss で listen を確認しつつ iptables/nftables の DNAT ルールで実現します。
主な用途
- 踏み台 (bastion) 経由の DB アクセス: 直接公開できない社内 DB へ、SSH トンネル越しに安全に接続する。
- ファイアウォール越しの開発: クラウド上の内部サービスを手元のブラウザ/ツールから触る。
- NAT 内サービスの公開: 自宅サーバや IoT 機器を外部からアクセス可能にする (リモート転送やルータのポート開放)。
- 簡易プロキシ: -D による SOCKS で、出口 IP を SSH 先に固定する。
方式の比較
| 方式 | 暗号化 | 主な向き | 典型用途 |
|---|---|---|---|
| NAT/ルータ転送 (DNAT) | 無し (素通し) | 外→内 | 自宅サーバ公開、ポート開放 |
| SSH ローカル転送 (-L) | あり | 手元→リモート先 | 踏み台経由の DB/管理画面アクセス |
| SSH リモート転送 (-R) | あり | リモート→手元先 | NAT 内サービスの一時公開 |
| SSH ダイナミック (-D) | あり | 手元→任意 (SOCKS) | 簡易 VPN、出口 IP 固定 |
注意点
- 境界を貫通させる行為: ポートフォワードは事実上ファイアウォールに穴を開ける。社内ポリシーで禁止/許可制になっていることが多く、無断使用は重大なセキュリティ違反になりうる。
- リモート転送の公開範囲:
-Rはデフォルトで sshd_config のGatewayPorts設定次第で待受アドレスが変わる。意図せず 0.0.0.0 で公開しないよう確認する。 - NAT ポート開放の最小化: 不要な開放は攻撃面を広げる。開けるなら接続元 IP 制限や認証必須を徹底する。
- 転送先の取り違え:
-L ローカル:転送先ホスト:転送先ポートの「転送先ホスト」は SSH サーバから見た名前。手元視点と混同しやすい。 - トンネルの常時稼働:
-fNでバックグラウンド化したトンネルは存在を忘れがち。不要になったらプロセスを止める。
関連リンク
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- ウェルノウンポート一覧
- ポートフォワーディング
- ポートの確認方法
- nmapによるポートスキャン
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Laravel 記事一覧55件|環境構築・ルーティング・DB・エラー対処 2026-09-07 07:45:13
- Javaの定数 2026-09-07 07:45:13
- Spring Framework 記事一覧31件|DI・設定・例外の対処 2026-09-07 07:45:13
- Oracle DROP USERでユーザー削除|CASCADE・接続中ユーザーの対処 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- SQLとは|DDL・DMLとリレーショナルデータベース操作の基本 2026-09-07 07:45:13
- NetBeansでTomcatを起動する手順|サーバ登録・ポート・トラブル対処 2026-09-07 07:45:13
- hostnameコマンドの使い方|Windows・Linux・macOSでホスト名確認 2026-09-07 07:45:13
- HTML video要素の使い方|source・自動再生・muted・playsinline 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- HTML a要素の使い方|href・target・rel noopenerのセキュリティ 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?