关闭 eth0 后无法通过 SSH 访问 eth1

关闭 eth0 后无法通过 SSH 访问 eth1

我有一台带有 2 个接口的远程计算机:eth0eth1

我可以使用 eth0 IP 地址和 eth1 IP 地址进行 ssh。然而,一旦我使用命令关闭 eth0,事情就会变得奇怪ifdown eth0。拉下 eth0 后,我可以 ping 通 eth1,但无法再使用 eth1 进行 ssh。我检查了 ssh 配置,但找不到与接口配置相关的任何内容。

我缺少什么?

答案1

听起来您有 2 个设备具有相同的子网。这通常效果很差/出乎意料。您需要有不同的子网,或者必须禁用 ARP。

例如。禁用 ARP:

echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce

但我确信无论您遇到什么问题,都有更好的方法。也许您应该建立一个网桥并仅使用一个 IP 地址。例如:

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ip a add ... dev br0

或者同一 NIC 上的两个地址,或 2 个不同的子网(例如 192.168.123.0/24 和 192.168.124.0/24)。

答案2

也许您在 sshd conf 中留下了一些 ListenAddress 指令?在我的设置中,当我想要多接口访问时,我只需注释掉以下行:

ListenAddress ::
ListenAddress 0.0.0.0

相关内容