CentOS 上以太网卡的异常行为

CentOS 上以太网卡的异常行为

所以我的一台服务器出现了一些奇怪的现象。它的主板上有两个板载千兆以太网端口,似乎都已正确检测到(Broadcom NetXtreme II 千兆以太网)。这两个端口都插入同一子网上的两个独立管理交换机中。

我为 eth0 和 eth1 指定了同一子网中的独立 IP 地址(分别为 10.0.10.20 和 10.0.10.30)。我已验证可以 ping 通它们。

在托管交换机上,如果我关闭 eth1 所连接的端口,我将无法再按预期 ping 10.0.10.30。重新打开端口即可恢复服务。当我关闭 eth0 所连接的端口时,我将无法再 ping任何一个地址。重新打开端口将恢复两个地址的服务。

“ifdown eth0” 也会关闭两个接口(尽管 ifconfig 显示 eth1 仍然处于运行状态)

如果我将 eth0 放在单独的网络上,同时仍然处于物理启动状态,我会遇到两个接口都没有响应的相同问题(这是我遇到的最大问题)。

启动日志或消息日志中没有生成任何错误,并且消息日志反映出每当我因任何原因将 eth0 从与 eth1 相同的网络上移除时,两个接口都会完全关闭。

我所见过的唯一错误是在 ifconfig 上,在 eth0 和 eth1 的最底部会显示三条消息之一(它们不一致且不总是存在)。这些消息是:

中断:185 内存:ea000000-ea012800

中断:17

中断:18

通过谷歌搜索这些问题,我们得到了一些模糊的问题,但却找不到解决方案。

答案1

看到这个,我觉得这是一个 arp 流量问题,而不是固件问题。当您在同一个子网中有两个网卡时,可能会出现这种情况,并且就您而言,这两个网卡位于同一个 L2 拓扑上。 http://linux-ip.net/html/ether-arp.html

您可以通过将它们放在不同的 IP/子网上来验证这一点,看看是否仍然有相同的问题。如果您需要让它工作,请仔细查看 arp_filter 和您的路由。

答案2

您知道,Linux 并不喜欢同一子网上有两个 NIC。至少,使用基本的 ifconfig 工具时不喜欢。只有其中一个用于传输,它们似乎共享相同的 MAC,等等。这会导致各种奇怪的事情发生。就像 MattyB 刚才提到的那样。

最好的解决方案是使用iproute2 工具博客文章读起来稍微容易一些)来配置您的 NIC。尝试以下操作:

初始化接口:

ip link 设置 eth0
ip link 设置 eth1

配置 IP 地址

ip addr 添加 10.0.10.20/24 dev ethe0
ip addr 添加 10.0.10.30/24 dev eth0

然后设置路由表,使其中一个 NIC 成为“默认”。ip route add 10.0.0.0/16 via 10.0.10.20


--Christopher Karel

相关内容