对于一般情况,我们假设eth0的虚拟适配器已经被删除,并被replace为另一个。 要么是由于克隆,要么是最近出现的一些MAC地址冲突。 [是的,他们的皮疹 。]
通常我只是rm /etc/udev/rules.d/70-persistent-net-rules并检查/ etc / sysconfig / network *中是否包含对MAC地址的引用并重新引导 ,但是这是Linux,必须有一种避免重新启动的方法。
有没有一个命令,我可以运行拿起新的网卡?
除了@ dawud在下面的回答,我遇到了一个问题,我的testing虚拟机已经启动了新的设备,并命名为eth1在这种情况下udevadm似乎没有“释放”设备。 在这种情况下,我做了以下事情:
eth0 mac ##:##:##:##:##:##创build/编辑/etc/iftab ,replaceMAC地址。 当这个文件不存在时, ifrename似乎不喜欢/包含目标接口的名字。 ifrename -i eth1 -n eth0 service network restart ,eth0正常启动。 rm /etc/iftab这样MAC就没有一个地方可以居住了。 你可以使用udevadm trigger来做到这一点
您仍然需要删除持久性规则并重新启动networking服务。
对我来说,下面的命令序列已经按照预期工作。
我在/etc/udev/rules.d/70-persistent-net.rules进行了修改,以更改eth编号并重新加载它们而无需重新启动。
/etc/init.d/networking stop
/etc/init.d/udev stop
udevadm control --reload-rules
/etc/init.d/udev start
/etc/init.d/networking start
在此之后,它成功加载而无需重新启动机器。
任何有关这方面的build议或build议都是值得欢迎的,我已经通过阅读MAN页面发现了上述内容。