linux 虚拟机复制网卡不能启动或使用

本文发布时间: 2019-Mar-22
很多时候,我们在使用虚拟机的时候,都会安装一个虚拟机作为model,以后需要搭建测试环境都会通过复制model来实现,这样方便又快速、然后在复制出来的新系统网卡查查不能够直接使用,这是因为网卡的mac地址是唯一的,复制的新系统,会生成新的mac地址,而ifcfg-eth0配置文件里面的mac地址还是原来的,所以就需要通过人工修改成新的mac地址。克隆linux系统后,克隆版无法启动网卡,提示错误:device eth0 does not seem to be present,delaying initialization 原因分析: Linux使用udev动态管理设备文件。VMware会自动生成虚拟机的mac地址。这样,由于克隆出的Linux已经记录了原Linux的网卡mac地址对应于网卡eth0,在克隆出的Linux中由于mac地址发生改变,udev会自动将该mac对应于网卡eth1,以此类推。而其实kernel仅仅只识别到一张网卡,跟网卡名相关的网络配置也未发生任何变化。解决方案:udev将mac与网卡名称的对应关系保存在/etc/udev/rules.d/70-persistent-net.rules中记录下新的网卡MAC地址和NAME。cat /etc/udev/rules.d/70-persistent-net.rules# PCI device 0x8086:0x100f (e1000) ------复制前的address 注释掉SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:5f:88:bd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"# PCI device 0x8086:0x100f (e1000) -----复印后生成的新address ,将NAME="eth1" 修改为 NAME="eth0" ,将ATTR{address}=="00:0c:29:b6:87:56" 值复制在 ifcfg-eth0上SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:b6:87:56", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth1 #修改为新的eth1 。HWADDR=00:0C:29:b6:87:56 #用新的MAC替换 00:0c:29:b6:87:56TYPE=EthernetUUID=fa6bcd84-01ab-4b2d-9dd6-8d4a3a1961acONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=staticIPADDR=192.168.1.56 #修改IP(如果原虚拟机不同时运行,可以不修改)NETMASK=255.255.255.0GATEWAY=192.168.1.1重启网卡即可:


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:08pm
栏目列表