ポートフォワーディングの設定をした
updated: 2017-05-20
外出先から自宅のネットワークに繋ぎたいことがあるので,ポートフォワーディングの設定をした.
インターネットにある VPS を中継して自宅に繋ぐ設定になった.
今回のポイントはポートフォワーディングと多段 SSH の省略の 2 つである.
ポートフォワーディングは,あるコンピューターのポート (IP アドレスを 100.50.150.3,ポートを 30001 とする) を別のポート (IP アドレス: 185.123.144.2, ポート:50001) へ転送するものである.
通常,ポートフォワーディングは手元のコンピューターのポートを別のコンピューターのポートへの転送を設定するものだ.つまり手元のコンピューターのポートへ接続すると,別のコンピューターへ繋がる.
しかし今回は逆ポートフォワーディングというものを用い,別のコンピューターの指定ポート (IP アドレス:110.120.130.4,ポート:10203) へ接続すると手元のコンピューターのポート (IP アドレス:140.150.160.5,ポート:40506) へ繋がる設定をした.具体的な実行コマンドは ssh を用いて以下のようになった.このコマンドは手元のコンピューター (IP アドレス:140.150.160.5) で実行する.
ssh 110.120.130.4 -R 10203:localhost:40506
多段 SSH の省略についてはそのうち書く.
また,ssh_config のファイルのメモを以下に
.ssh/config in target_machine ---------------
Host relay_server
HostName aaa.bbb.ccc.ddd # relay_server_address
Port XXX # relay_server_ssh_port
User usrname_for_relay # username_for_relay_server
RemoteForward YYY localhost:ZZZ # relay's port YYY is forwarded to localhost:ZZZ
RequestTTY no # option(not needed)
PasswordAuthentication no # option(not needed)
ServerAliveInterval 60 # option(not needed)
.ssh/config in local_machine ---------------
Host target_server
HostName hogefuga # not needed
User usrname_for_target
ProxyCommand ssh -W localhost:YYY aaa.bbb.ccc.ddd -p XXX
On above-settings,
in target_machine
$ ssh relay_server
then in local_machine
$ ssh target_server