2012-09-04 64 views
4

如何強制客戶端連接的SSH通過特定的接口進行通信?通過特定接口的SSH客戶端

我有一個服務器與eth0和eth1即,我想強制所有SSH客戶端通過eth0。所以當我的服務器上有很多ssh客戶端時,我可以通過eth1更快地訪問我的服務器。

編輯:這是啓動ssh客戶端連接的服務器。

+0

你陳述的理由可能是錯誤的。除非SSH客戶端使用dong文件傳輸或隧道技術,否則流量非常零星。 – EJP

+0

如果你是問題解決了,然後張貼你的答案或接受這裏給出的列表中的一個。如果你不想進一步調試,最好關閉這個問題或者刪除這個問題,因爲它不能解決發佈問題以尋求答案的目的,然後將它留在 –

+0

ooops之間只是注意到我浪費了一大堆試圖回答一個2歲的問題 - 並仍然錯誤 – xcxc

回答

0

只告訴其他用戶eth0的ip地址。

0

你需要添加一些規則到「iptables」來轉發你從盒子發起的ssh流量到遠程機器。

iptables -A FORWARD -i eth1 -o eth2 -p tcp --dport 22 -d [destination ip] -j ACCEPT 
+0

你有沒有得到它與上述技巧工作? –

+0

wtf,這將轉發從eth1到eth2通過路由器的連接。它對路由器的連接沒有任何影響。 – Navin

3

更新OPs編輯要求服務器端解決方案 - 這是客戶端。 對於臨時使用,您可以將選項綁定到來自特定IP或以太網端口的SSH。 ssh target_IP -b source_IP

更長期的解決方案更改路由表。

我試圖從172.x.x.7(eth0)ssh到172.x.x.69,它有另一個以太網端口172.x.x.8(eth1),這恰好是默認網關。

失敗,如果我嘗試直接噓 - 因爲這個源IP默認爲xxx8 eth1的,這是不是在外部防火牆規則允許0.69

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

成功,當我綁定SSH到xxx7 IP( eth0)使用-b開關 - 此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我有兩個以太網端口和十.7 X.8

# 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) 

我需要這個技巧的原因是路由表默認的eth1的,而不是eth0

# 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 
# 
+0

我看到這並沒有回答這個問題,因爲OP談到了服務器eth0,這是前面簡單評論的「不要泄露祕密O&M IP」 我的答案解決了我今天遇到的問題。 – xcxc