CentOS 70-persistent-net.rules不会重新生成

时间:2014-02-06 15:37:44

标签: linux networking centos virtualbox

我在Win 7主机上运行CentOS 5.5作为VirtualBox来宾。

论坛中的常见问题是,由于/etc/udev/rules.d/70-persistent-net.rules中的MAC地址持久性,在VM之间移动图像会遇到网络问题。通常建议的解决方案是删除此文件并重新启动以使其自动重新生成。

但在我的情况下,尽管使用不同的VM网络接口选项进行了多次重新启动,但我无法重新生成文件。当我在Ubuntu论坛上向udevadm介绍但是找不到CentOS的等价物时,我变得相当有希望。

在/ etc / sysconfig / network-scripts / ifcfg-eth0中指定新的MAC地址没有帮助,也没有在管理器中使用不同的网络配置。

非常感谢任何指示/帮助。

1 个答案:

答案 0 :(得分:2)

我不是Centos专家,但知道为什么这在Ubuntu和其他几个发行版中不起作用。阅读生成它的文件,通常是/lib/udev/rules.d/75-persistent-net-generator.rules

您将注意到它将跳过各种类型的以太网接口,具体取决于MAC地址和子系统(即接口来自哪里)。这是一个像RHEL这样的发行版,它可以跳过Xen:

# ignore Xen virtual interfaces
SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end"

以下是Ubuntu中的一些跳过其他虚拟机管理程序的内容:

# ignore KVM virtual interfaces
ENV{MATCHADDR}=="52:54:00:*", GOTO="persistent_net_generator_end"
# ignore VMWare virtual interfaces
ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*", GOTO="persistent_net_generator_end"
# ignore Hyper-V virtual interfaces
ENV{MATCHADDR}=="00:15:5d:*", GOTO="persistent_net_generator_end"
# ignore Eucalyptus virtual interfaces
ENV{MATCHADDR}=="d0:0d:*", GOTO="persistent_net_generator_end"
# ignore Ravello Systems virtual interfaces
ENV{MATCHADDR}=="2c:c2:60:*", GOTO="persistent_net_generator_end"

正如您所看到的,您的发行版可能正在跳过VM接口上的净规则的生成,正是因为它通常很烦人。例如,如果您使用此文件的模板化虚拟机映像,并在其他地方重新水合并获得不同的MAC,您通常不希望eth0消失,并且您获得新的eth1代替。如果您不喜欢这样,可以引入自己的rules.d文件来处理持久规则生成。