如何强制客户端连接的SSH通过特定的接口进行通信?通过特定接口的SSH客户端
我有一个服务器与eth0和eth1即,我想强制所有SSH客户端通过eth0。所以当我的服务器上有很多ssh客户端时,我可以通过eth1更快地访问我的服务器。
编辑:这是启动ssh客户端连接的服务器。
如何强制客户端连接的SSH通过特定的接口进行通信?通过特定接口的SSH客户端
我有一个服务器与eth0和eth1即,我想强制所有SSH客户端通过eth0。所以当我的服务器上有很多ssh客户端时,我可以通过eth1更快地访问我的服务器。
编辑:这是启动ssh客户端连接的服务器。
只告诉其他用户eth0的ip地址。
你需要添加一些规则到“iptables”来转发你从盒子发起的ssh流量到远程机器。
iptables -A FORWARD -i eth1 -o eth2 -p tcp --dport 22 -d [destination ip] -j ACCEPT
你有没有得到它与上述技巧工作? –
wtf,这将转发从eth1到eth2通过路由器的连接。它对路由器的连接没有任何影响。 – Navin
更新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
#
我看到这并没有回答这个问题,因为OP谈到了服务器eth0,这是前面简单评论的“不要泄露秘密O&M IP” 我的答案解决了我今天遇到的问题。 – xcxc
你陈述的理由可能是错误的。除非SSH客户端使用dong文件传输或隧道技术,否则流量非常零星。 – EJP
如果你是问题解决了,然后张贴你的答案或接受这里给出的列表中的一个。如果你不想进一步调试,最好关闭这个问题或者删除这个问题,因为它不能解决发布问题以寻求答案的目的,然后将它留在 –
ooops之间只是注意到我浪费了一大堆试图回答一个2岁的问题 - 并仍然错误 – xcxc