SSHトンネルのアウトバウンドインターフェイスの指定

SSHトンネルのアウトバウンドインターフェイスの指定

2つのインターフェイスに2つのパブリックIPアドレスを持つコンピュータがあります。このマシンは実行中ですsshd。 SOCKSインターフェイス(たとえば)を使用してトンネルを作成するときに発信-D接続に使用するインターフェイスを指定する方法はありますか?

ベストアンサー1

厳密に言えば、sshの-bオプション(mgjk提案)とルーティングを組み合わせて問題を解決できます。サイト8.8.8.7(単に設定した例)のトンネルを構築しようとしており、接続がeth1を通過したいとし、次のコマンドを実行します。

 sudo route add -host 8.8.8.7 dev eth1

正しいパスが追加され、すべてがうまくいくでしょう。

ただし、これは「ポリシールーティング」の適用の完全な例でもあります。トンネルが設定されたマシンでルーティングテーブルを設定する必要があります(つまり命令がある場所SSH -D ...発行) ただ2つのインターフェースが存在する唯一のインターフェースだからです。

David Schwartzは簡潔で十分な説明を提供します。このウェブサイトから。唯一の重要な詳細は次のとおりです。 eth0が192.168.1.2で、eth1が10.0.0.2であると仮定すると、次のように言えます。

 ip rule add from 10.0.0.2 table <NAME1>
 ip rule add from 192.168.1.2 table <NAME2>

この時点で -b を介して ssh 接続を eth1 アドレスにバインドすると、操作は完了します。

おすすめ記事