web-dev-qa-db-ja.com

別のインターフェースを介してSSH接続を強制する

SSHを使用してリモート接続したい。

ただし、VPNがアクティブな間は接続できないため、VPNから切断し、他の接続を使用して接続します。

VPNに接続しているときに、他の接続を介して接続を強制するにはどうすればよいですか?

Windows 7とPuTTYクライアントを使用しています。

12
Naeem

2つのオプションがあります。まず、SSHパケットが自然に正しいインターフェイスを通過するようにルートを変更できます。

または、-b SSHオプション(または同様の方法で-B 1):

     -b bind_address 
接続のソースアドレスとしてローカルマシンのbind_addressを使用します
。複数の
アドレスを持つシステムでのみ役立ちます。

SSHクライアントを選択したローカルIPアドレスにバインドし、すべてのパケットが関連するインターフェースを介して送信されるようにします。

16
Trak

問題は取られたルートにありました。

解決策は、ルーティングテーブルを更新することでした。 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コマンドからこの番号を取得できます。

4
Naeem

目的地に向かうルートを変更する必要があります。

以前の回答では、-bまたは-Bオプションを使用できると述べていましたが、通常、VPNがアクティブ化されている場合、これは機能しませんreroutes VPNネットワークインターフェイス-一般にtun0という名前。

したがって、目的地に到達するまでの経路を再構成する必要があります。 <destination>と呼び、<gate1>は、使用する別のインターフェースに関連付けられているゲートウェイのIPアドレス(技術的にはネクストホップルーターのアドレス)と呼びます。 ip routerouteは非推奨になり、次のようになります。

ip route add <destination> via <gate1>

代替案は

ip route add <destination> via <gate1> dev <different interface>

ただし、アドレス<gate1>はすでに別のインターフェイス(ここでは<different interface>)に関連付けられているため、何も変更されません。

ここで重要なのは、異なるインターフェイスのゲートウェイである<gate1>を指定することです。これは、VPNのゲートウェイではなく、通過する必要があります。

1
moth