![Linux 网络接口需要很长时间才能启动](https://linux22.com/image/650356/Linux%20%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%E9%9C%80%E8%A6%81%E5%BE%88%E9%95%BF%E6%97%B6%E9%97%B4%E6%89%8D%E8%83%BD%E5%90%AF%E5%8A%A8.png)
当我的 x86 服务器上的任何网络接口启动时(带有 igb 驱动程序的 1GbE 端口,或带有 ixgbe 驱动程序的 10GbE 端口),无论是使用 ifup 还是通过启用它所连接的交换机端口,接口都需要大约 30 秒的时间才能工作(ping 出或进入)。
它们在 /etc/network/interfaces 中配置了简单的静态 IP 地址,所以我觉得它们应该立即变为活动状态。
iface ge0 inet static
address 10.63.4.20
netmask 255.255.255.0
gateway 10.63.4.1
我在网上搜索了很久,但什么也没找到。tcpdump 显示端口接收广播 ARP 请求,但未回复它们或发送任何其他数据包。大约 30 秒后,它会发出 ARP 回复,ICMP 开始流动。它可能会暂停以检测重复的 IP 地址吗?
这是一个问题,因为我的制造场景涉及多次重新配置和重新启动网络。除了这个问题之外,这个过程只需要几秒钟而不是几分钟。
答案1
30 秒基本上是默认生成树端口配置开始转发流量所需的时间。
端口将经历不同的状态(例如,在听BPDU 或学习何时学习MAC 地址),直到它进入转发状态并开始,你猜对了,转发交通。
根据交换机的供应商和型号,您应该能够对其进行调整。请记住,如果您只是禁用生成树,则存在网络循环的风险,这可能会导致整个基础设施崩溃。不建议在非受控或非隔离网络上将其删除。
答案2
感谢你们!
问题确实出在生成树上。交换机上的“show spanning-tree”显示接口长时间处于阻塞状态。
将相关(绑定)接口置于 Portfast 模式后,链接后流量会立即通过。
#config
#interface Port-Channel1
(config-if-Po1)#spanning-tree portfast
答案3
您是否在 dmesg 中收到来自网络接口的任何消息?启动后尝试以下命令:
dmesg | grep "net\|^eth\|^igb\|^ixgbe"
也可能是在所连接的交换机上配置了 STP(生成树协议)。尝试检查网络设备的配置,以便在服务器所连接的端口上获取生成树模式。