6

クライアント接続 ssh が特定のインターフェイスを介して通信するように強制するにはどうすればよいですか?

eth0 と eth1 を含むサーバーがあり、すべての ssh クライアントが eth0 を通過するように強制したいと考えています。そのため、サーバーに多数の ssh クライアントがある場合、eth1 経由でサーバーに高速にアクセスできました。

編集:sshクライアント接続を開始するのはサーバーです。

4

3 に答える 3

4

更新 OP 編集はサーバー側のソリューションを要求します - これはクライアント側です。一時的な使用のために、特定の IP またはイーサネット ポートからオプションを SSH にバインドできます。ssh ターゲット_IP -b ソース_IP

より永続的な解決策を得るには、ルーティング テーブルを変更します。

別のイーサネット ポート 172.xx8 (eth1) を持つ 172.xx7 (eth0) から 172.xx69 に ssh しようとしていますが、これがたまたまデフォルト ゲートウェイになっています。

直接 ssh しようとすると失敗します - このソース IP はデフォルトで xxx8 eth1 に設定されており、これは外部ファイアウォール ルールで .69 に許可されていないためです。

# ssh 172.29.179.69 -l root
ssh: connect to host 172.x.x.69 port 22: Connection timed out
#

-b スイッチを使用して SSH を xxx7 IP (eth0) にバインドすると成功します。この IP は、ファイアウォール ルールで .69 に接続できます。

# ssh 172.x.x.69 -b 172.x.x.7 -l root
Last login: Wed Nov 19 14:27:44 2014 from 172.x.x.7
#

172.xx7 には、x.7 と x.8 の 2 つのイーサネット ポートがあります。

# ifconfig 
eth0      Link encap:Ethernet  HWaddr xxxxx
          inet addr:172.x.x.7  Bcast:172.x.x.31  Mask:255.255.255.224
          inet6 addr: xxx Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:27678 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1852058 (1.7 MiB)  TX bytes:684 (684.0 b)

eth1      Link encap:Ethernet  HWaddr xxx
          inet addr:172.x.x.8  Bcast:172.x.x.31  Mask:255.255.255.224
          inet6 addr: xxx Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:72022 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34734 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:40788643 (38.8 MiB)  TX bytes:4441314 (4.2 MiB)

このハックが必要な理由は、ルーティング テーブルのデフォルトが eth0 ではなく eth1 であるためです。

# route (@172.x.x.7)
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.x.x.0       *               255.255.255.224 U     0      0        0 eth1
172.x.x.0       *               255.255.255.224 U     0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth2
link-local      *               255.255.0.0     U     1002   0        0 eth0
link-local      *               255.255.0.0     U     1003   0        0 eth1
link-local      *               255.255.0.0     U     1004   0        0 eth2
default         172.x.x.1       0.0.0.0         UG    0      0        0 eth1 # eth0 OK
#
于 2014-11-19T09:00:14.407 に答える
-1

他のユーザーには eth0 の IP アドレスだけを教えてください。

于 2012-09-04T08:46:00.890 に答える