vmware复制fedora16出现网络启动错误
今天做个实验把vmware中装的fedora16系统复制一份,结果启动复制的fedora16操作系统发现上不了网了,复制前的系统是可以上网的。然后我用ifconfig命令查了下我的网卡信息,发现我的p3p1网卡的地址与我在/etc/sysconfig/network-scripts/ifcfg-p3p1配置文件中配置的静态ip不同,开始以为是网络没有启动,就用systemctl restart network.service命令启动网络,可没想到居然说启动出错,然后我用ifup p3p1启动网卡,居然报error:No suitable device found: no device found for connection 'system p3p1' in vmware,然后就用google去搜索这个错误,发现很多人都是说删除/etc/udev/rules.d目录下的70-persistent-net.rules文件,可是当我进入这个目录后发现根本就没有这个文件存在,然后有找了个说把/etc/sysconfig/network-scripts/ifcfg-p3p1配置文件中的NM_CONTROLLED="yes"设置为NM_CONTROLLED="no"。然后我又重启网络,发现还是启动失败,ifup p3p1后提示网卡的物理地址不匹配,也失败。然后用google去搜索udev动态管理设备文件,看看udev是什么。
很多Linux distribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。udev会在系统引导的过程中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本70-persistent-net.rules中。可以我发现我自己的系统里根本没有这个文件,也就是说我的系统里并没有用规则脚本来指定我的网卡名称和mac地址映射,那系统是怎么识别出我的物理地址不匹配呢?突然想到是不是我在ifcfg-p3p1配置文件中配置了mac地址,于是赶紧打开ifcfg-p3p1配置文件看下,结果还真是这样,把HWADDR设置的mac地址删除,重启下系统真就可以上网了。
出错原因:wmware复制系统时,会重新分配一个网卡给复制的系统,所以复制系统网卡的物理地址会改变,这也是我出错的原因,因为我在ifcfg-p3p1配置文件写死了网卡的物理地址,而这个物理地址还是我原系统的网卡物理地址,导致启动网络时发现配置文件中配置的物理地址和实际系统检测的物理地址不匹配,故ifup p3p1时会提示网卡的物理地址不匹配。
总结一下今天的问题,其实就是我以前配置静态ip的时候没有理解里面配置的每一项的真正作用,完全是到网上搜下,复制粘贴的,导致现在一个问题出来,花费很长的时间去找出。