SSHを使用してリモート接続したい。
ただし、VPNがアクティブな間は接続できないため、VPNから切断し、他の接続を使用して接続します。
VPNに接続しているときに、他の接続を介して接続を強制するにはどうすればよいですか?
Windows 7とPuTTYクライアントを使用しています。
2つのオプションがあります。まず、SSHパケットが自然に正しいインターフェイスを通過するようにルートを変更できます。
または、-b
SSHオプション(または同様の方法で-B
1):
-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がアクティブ化されている場合、これは機能しませんreroutes 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のゲートウェイではなく、通過する必要があります。