回答:
2つのオプションがあります。まず、SSHパケットが正しいインターフェイスを自然に通過するようにルートを変更できます。
または、-b
SSHオプション(または同様の方法-B
)を使用できます。
-b bind_address ローカルマシンのbind_addressをソースアドレスとして使用します 接続。複数のシステムでのみ有用 住所。
SSHクライアントを選択したローカルIPアドレスにバインドし、すべてのパケットが関連付けられたインターフェースを介して送信されるようにします。
問題は、とられたルートにありました。
解決策は、ルーティングテーブルを更新することでした。route
コマンドを使用して、正しいインターフェイスとゲートウェイを指定する新しいルートを追加しました。
コマンドはroute add <destination> mask <netmask> <gateway> <interface>
、たとえば次のようになります。
route -p add 10.100.10.10 mask 255.255.255.0 192.168.1.0 IF 13
-p
永続的であるため、再起動後もそのまま残ります。IF
はインターフェイス用であり、コマンドからこの番号を取得できますroute print
。
目的地に向かうルートを変更する必要があります。
以前の回答では、-b
または-B
オプションを使用できると述べましたが、通常、VPNがアクティブ化されている場合、VPNネットワークインターフェイス(一般的には)を介してトラフィックを任意の宛先に再ルーティングするため、これは機能しませんtun0
。
したがって、目的地に到達するために使用するルートを再構成する必要があります。呼び出して<destination>
、<gate1>
使用するさまざまなインターフェイスに関連付けられているゲートウェイのIPアドレス(技術的にはネクストホップルーターのアドレス)を呼び出します。ではip route
、route
非推奨されている、これは次のようになります。
ip route add <destination> via <gate1>
別の方法は
ip route add <destination> via <gate1> dev <different interface>
ただし、アドレス<gate1>
が既に別のインターフェイスに関連付けられている場合、ここ<different interface>
では何も変わりません。
ここで重要なのは<gate1>
、それを指定することです。これは、VPNのゲートウェイではなく、横断する必要がある別のインターフェイスのゲートウェイです。