一台rhel 6.2 x64的虚拟机,启动以后发现没有eth0,只有eth1,dmesg的时候看到一句:

 

  1. udev:renamed network interface eth0 to eth1  

udev:renamed network interface eth0 to eth1

网上查了一下,说是删除/etc/udev/rules.d/70-persistent-net.rules这个文件,重启就好了,我看了一下这个文件的内容:

 

 

  1. # This file was automatically generated by the /lib/udev/write_net_rules  
  2. # program, run by the persistent-net-generator.rules rules file.  
  3. #  
  4. # You can modify it, as long as you keep each rule on a single  
  5. # line, and change only the value of the NAME= key.  
  6.   
  7. # PCI device 0x8086:0x100f (e1000)  
  8. SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:da:51:19", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"  
  9.   
  10. # PCI device 0x8086:0x100f (e1000)  
  11. SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:df:57:fa", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"  

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:da:51:19", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:df:57:fa", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


删除这个文件并且重启以后,依然没有eth0而有eth1,再看文件内容:

 

 

  1. # This file was automatically generated by the /lib/udev/write_net_rules  
  2. # program, run by the persistent-net-generator.rules rules file.  
  3. #  
  4. # You can modify it, as long as you keep each rule on a single  
  5. # line, and change only the value of the NAME= key.  
  6.   
  7. # PCI device 0x8086:0x100f (e1000)  
  8. SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:df:57:fa", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"  

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:df:57:fa", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

把NAME字段的值改为"eth0",再重启系统就有eth0了。

 

这是一台虚拟机,刚把虚拟化文件复制到另一台电脑上并且开机,在原来的地方虚拟机没有这个问题,猜测是复制以后MAC地址发生变化的原因。