我有一台带有 2 个接口的远程计算机:eth0
和eth1
。
我可以使用 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