09/04/16 15:14:47
せっかくだから備忘録代わりに書いておこう。
(ぐぐってもSSHゲートウェイについてはあまり見当たらなかったし)
WindowsPC(複数) --- Linux A ---- ルーター ===INTERNET=== ルーター --- Linux B
sshクライアント sshd
samba samba
目的:
左端のWindowsPC(複数)から、Linux AをゲートウェイとしてSSHトンネル越しに右端のLinux Bのsambaへ接続する
(1)Linux AにIPエイリアスを作成
例として設定は以下で
eth0 → 192.168.0.100
eth0:0 → 192.168.0.200
(2)Linux A のsmb.confでeth0のみ使用する設定に
interfaces = eth0
(3)Linux A のsshクライアントでeth0:0からLinux Bへのトンネルを作成
ssh -2 -g -L192.168.0.200:139:localhost:139 -i ~/.ssh/id_rsa hogera@example.ne.jp
(相手ホストのアドレス example.ne.jp、ユーザ名 hogera、秘密鍵 ~/.ssh/id_rsa の場合)
background動作&time outを防ぎたいならば -f オプションとping -i 60 localhost > /dev/null とか追加
以上で WindowsPCから\\192.168.0.100でLinux A、\\192.168.0.200 でLinux B のsambaに繋がる。
WindowsPCからは「向こう側」のLANは見えず、Linux Bだけが「こちら側」のLANに参加したように見える。
使い途次第ではVPNよりも便利な場合も。
開けるポートはsshのみだし、向こう側のプライベートIPを気にする必要もなし。