CentOS 6 / RedHat如何自动检测新网卡?

Jos*_*hua 47 networking centos virtualbox

我在虚拟环境中使用 CentOS 6。当克隆 CentOS 的虚拟版本时,旧的 eth 适配器被“移除”并替换为新的和网络 MAC 地址。但是,ifcfg-ethn 文件仍然存在。我想弄清楚如何让 CentOS 自动重新扫描和重新创建网络适配器/eth 文件,就像它在安装时所做的那样。

否则,我会留下这里描述的乏味过程:http : //www.centos.org/docs/5/html/Installation_Guide-en-US/s1-s390info-addnetdevice.html

我知道在 GUI 中有一种快速的方法可以做到这一点,但我们使用的是服务器,因此 GUI 在这种情况下不适用。帮助?

编辑:@OldWolf 建议使用 Kudzu,但是 Kudzu 已从 Centos 5 中删除,所以我宁愿避免这种情况。有一个 Linux 在初始安装时运行的程序 - 有人可以帮我弄清楚那是什么,以便我可以手动触发它吗?

Tra*_*ton 54

CentOS 6 现在一切都由 udev 处理。进入/etc/udev/rules.d并删除70-persistent-net.rules文件并重新启动。如果您事先打开它,您很可能会看到原始 NIC MAC 被列为,eth0而新的NIC MAC 列为eth1.

现在您需要编辑/etc/sysconfig/network-scripts/ifcfg-eth0并手动更新新网卡的 MAC。

删除文件会强制检测过程在启动时再次运行,克隆过程中不会遗留任何行李,即旧的 NIC MAC 地址。

我必须一直在 VMware ESXi 4.1 上使用我的 CentOS 6 克隆来执行此操作。这是一种痛苦,葛根在过去的版本中只会处理它。

  • 进入`/etc/udev/rules.d` 并删除`70-persistent-net.rules` 文件并且不要重启。进入`/etc/sysconfig/network-scripts/ifcfg-eth0`并手动更新到新网卡的MAC。重新启动,网络应该会活跃起来。 (5认同)
  • 听起来很棒的特雷西,但是它并没有像你描述的那样工作。旧的 ifcfg-eth0 文件仍然存在,带有原始 MAC 地址等而不是正确的新地址。 (2认同)
  • 抱歉,是的,我忘记了。抱歉,您还必须手动更新 ifcfg-eth0 中的 mac 地址。这将使它起作用。可能有更简单的方法,但我还没有找到它...... (2认同)
  • @user151091 不是重新启动,而是`start_udev` 然后`service network restart` 对我有用。 (2认同)

小智 5

删除持久性规则文件:

rm /etc/udev/rules.d/70-persistent-net.rules
Run Code Online (Sandbox Code Playgroud)

编辑 ifcfg-eth0:

nano /etc/sysconfig/network-scripts/ifcfg-eth0
Run Code Online (Sandbox Code Playgroud)

HWADDR完全删除该行(或更改它以匹配新 NIC 的 MAC 地址)。

重新启动系统:

reboot
Run Code Online (Sandbox Code Playgroud)

如果您再次更改 NIC,只需重复步骤 #1 和 #3。


max*_*max 5

你也可以使用这个工具(这不是一个 GUI 工具,它的 TUI 工具,基于文本的用户界面)

[root@localhost ~]# system-config-network-tui

输入上面的命令并按 Enter

然后就会出现这个画面

在此处输入图片说明

选择设备配置并按 Enter

然后就会出现这个画面

在此处输入图片说明

这里eth0指的是 /etc/sysconfig/network-scripts/ifcfg-eth0

无论在其中所做的编辑eth0都会影响到ifcfg-eth0文件

  • @QiFan 试试这个命令`yum install system-config-network-tui` (2认同)