memo

2013-04-10

NAT の裏側のサーバーたちへ ssh したい

NAT なネットワーク構成になっている仮想マシンたちに外から ssh したい。 でも、ホスト上で各仮想マシンごとに port redirect の設定をするのは面倒くさい。

ということで、ホスト上に SOCKS proxy 置いてみた。

Twisted が SOCKS proxy plugin を持っているので:

$ twistd --nodaemon socks --interface=0.0.0.0

のようにして proxy を立ち上げる。

後は client PC 上で ssh -o 'ProxyCommand socat - SOCKS4A:vm-host:%h:%p' vm といったように接続する。

SOCKS proxy は色々出来過ぎちゃって危なっかしいので、 ホストも LAN の中に置いてあるような場合しか使えないけど。