ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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 と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?