クライアント接続 ssh が特定のインターフェイスを介して通信するように強制するにはどうすればよいですか?
eth0 と eth1 を含むサーバーがあり、すべての ssh クライアントが eth0 を通過するように強制したいと考えています。そのため、サーバーに多数の ssh クライアントがある場合、eth1 経由でサーバーに高速にアクセスできました。
編集:sshクライアント接続を開始するのはサーバーです。
クライアント接続 ssh が特定のインターフェイスを介して通信するように強制するにはどうすればよいですか?
eth0 と eth1 を含むサーバーがあり、すべての ssh クライアントが eth0 を通過するように強制したいと考えています。そのため、サーバーに多数の ssh クライアントがある場合、eth1 経由でサーバーに高速にアクセスできました。
編集:sshクライアント接続を開始するのはサーバーです。
更新 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
#
他のユーザーには eth0 の IP アドレスだけを教えてください。