3Gキーがeth0インターフェースをブロックするのはなぜですか、それを解決する方法は何ですか?

3Gキーがeth0インターフェースをブロックするのはなぜですか、それを解決する方法は何ですか?

私は他の都市の部屋にLinux PC(Debian Squeeze)を持っています。 (私がいるところではこのPCに物理的にアクセスできません。)

このコンピュータはインターネットボックスを使用してインターネットに接続されています。ポート22を介してSSHを使用してこのPCに接続できます(実際にはリモートボックスのポートXXXXからPCのポート22へのNATがあります)。

同僚の一人が3Gキーを接続しました。その後、使用します。サキススクリプトこのコンピュータを3Gネットワ​​ークに接続しましたが、SSH接続が中断されました(パイプ破損)。私の同僚はまだSSHを使用してローカルネットワークからPCにアクセスできます。

3G接続が外部SSH接続を停止するのはなぜですか?この問題を解決する方法(3G接続の確立中にSSH接続を開いたままにする)?

編集:追加情報

3Gスクリプトが起動する前にNATを使用して接続します。

eth0のIPは変更されていません(接続に使用されるインターフェイス)。

3G接続後に新しいインターフェイスを追加する:ppp0 Link encap:Point-to-Point Protocol

IPルーティング(3G接続前)

172.16.210.0/24 dev br0  proto kernel  scope link  src 172.16.210.254 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.50 
default via 192.168.0.254 dev eth0 

IPルーティング(3G接続後)

10.64.64.64 dev ppp0  proto kernel  scope link  src 10.99.122.183 
172.16.210.0/24 dev br0  proto kernel  scope link  src 172.16.210.254 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.50 
default via 10.64.64.64 dev ppp0 

答え1

スクリプトを実行した後、デフォルトパスは別のインターフェイスを指します。 SSH接続のデータがそこに送信されましたが、アドレスが間違っているか、3Gネットワ​​ークで無関係なアドレスおよび/または他のアドレスにNAT処理されたために削除されました。

回避策:明示的なルーティングを追加します。 $SSH_CLIENT変数は、接続がどこから来るかを示します。

# set $SSH_CLIENT
# ip route replace $1 via 192.168.0.254 dev eth0

問題は解決します。

関連情報