Mik*_*e B 3 networking linux centos hp hp-proliant
我有一台运行 CentOS 5.x 的 HP Proliant 460c 刀片服务器。出于某种原因,CentOS 认为 ETH0 的 mac 地址是某种东西 (18:a9:05:71:xx:xc),但我根本无法在板载管理员中找到该 MAC。事实上,如果我使用显示在板载管理员中的 MAC 地址并尝试将其硬编码到网卡(在 /etc/sysconfig/network-script/ifcfg-eth0 下),我会收到错误消息:
设备 eth0 的 MAC 地址与预期不同。
我在哪里可以明确确认系统在 MAC 地址上看到的内容?ifconfig -a 显示“不正确”的一个。
在 CentOS 主机上,我在 ifconfig 结果中看到了这一点(稍作修改以保护无辜者):
eth0 HW 18:a9:05:71:xx:xc
eth0:0 HW 18:a9:05:71:xx:xc
eth1 HW 18:A9:05:71:xx:xd
eth1:0 HW 18:A9:05:71:xx:xd
eth2 HW F4:CE:46:8X:XX:40
eth3 HW F4:CE:46:8X:XX:44
Run Code Online (Sandbox Code Playgroud)
我不确定 18:a9 MAC 地址来自哪里。
当我检查属于服务器的设备托架的端口映射时,我看到:
Mezzanine Device Port: ENET1
Device ID: d4:85:64:49:xx:x8
Mezzanine Device Port: iSCSI Port 1
Device ID: F5:CE:46:83:xx:x1
Mezzanine Device Port: ENET2
Device ID: d4:85:64:49:xx:xc
Mezzanine Device Port: ISCSI Port 2
Device ID: F5:CE:46:xx:xx:x1
Run Code Online (Sandbox Code Playgroud)
我也看到
Mezzanine Device Port: Port 1
Device ID: d4:85:64:xx:xx:be
Mezzanine Device Port: Port 2
Device ID: d4:85:64:xx:xx:bf
Run Code Online (Sandbox Code Playgroud)
请注意,它们都与 CentOS 认为应该存在的 MAC 无关。我也完全重新安装了 CentOS,但问题仍然存在。所以似乎系统上的某些东西告诉 CentOS 应该使用 MAC,但我不确定在哪里。
通常,这是因为udev.
消除 /etc/udev/rules.d/70-persistent-net.rules
然后卸载并加载以太网驱动程序(模块),或重新启动。您可以通过尝试这些命令找到驱动程序名称
dmesg | grep 'Ethernet driver'
grep 'Ethernet driver' /var/log/dmesg
grep eth0 /etc/modules.conf
Run Code Online (Sandbox Code Playgroud)
然后当你有模块名称(例如e1000e)时,就运行,
modprobe -r e1000e
modprobe e1000e
ifdown eth0
ifdown eth0 (again!)
ifup eth0
Run Code Online (Sandbox Code Playgroud)
这应该会提示udev重新检测您的 NIC 和 mac 地址。您可能需要更新 的内容/etc/sysconfig/network-scripts/ifcfg-eth0以适合 mac 地址。