ローカルホストにフォワード
作業PCから、HOST1 に ssh できる状態で、HOST2のポート80 を転送する
作業PCで、
$ ssh -L 10080:192.168.0.102:80 user@XXX.XXX.XXX.XXX
とした後、
作業PC で http://localhost:10080
を開く
なお、作業PCと同じLAN内にある別のPCに、作業PCの10080を公開するには 上記コマンドに -g オプションを追加する必要がある。
リモートホストにフォワード
作業PCからローカルLAN内のポート80アクセスをリモートホストのポート10080 に転送する
$ ssh -g -R 10080:192.168.0.102:80 user@YYY.YYY.YYY.YYY
とした後、Host3 から localhost:10080 にアクセスすると、HOST2のポート80が見えるようになる。
とした後、YYY.YYY.YYY.YYY のポート10080 にアクセスすると、HOST2のポート80が見えるようになる。
なお、図のようにインターネットサーバとして公開するには、Host3の /etc/ssh/sshd_config に
GatewayPorts=yes
の設定を入れて sshd を再起動する必要がある。
ポートフォワードできないもの
TCP で指定ポート以外も使うネットワーク通信はこれだとうまくいきません。
- rtsp など UDPを使うもの
- FTP のアクティブモードなど、フォワードを行ったポート以外のポートを使うもの