我有 2 个接口
eth0 10.0.0.163
eth1 10.0.0.164
每个接口有两台机器连接
Machine 1 to eth0 with address 10.0.0.160
Machine 2 to eth1 with address 10.0.0.161
我想从每个接口连接到每台机器,但它连接到机器 1,而不是机器 2。我尝试使用 ssh 选项绑定
ssh -b 10.0.0.164 10.0.0.161
但没有回应。如何实现?
答案1
这是因为,只要您将 IP 地址放到10.0.0.163
接口上,就会为该网络添加一条从该接口发出的路由。如果您需要指示应通过特定接口到达特定地址,则需要一条到该地址的静态路由,如下所示:
# ip route add 10.0.0.161/32 dev eth1
请注意单个 IPv4 地址路由的 /32。
您也可以使用源路由、iptables 欺骗等来实现这一点,但我认为静态路由是最简单、最明显的方法。
顺便说一句,将两个接口连接到同一个网络不是一个好主意,因此10.0.0.164
应该有一个网络掩码来确保它不在同一个网络上10.0.0.163
,例如255.255.255.255
。