虚拟机双网卡无法正常启动---解决办法

in linux with 0 comment

今天想用虚拟机搭建LAMP环境的,这台虚拟机是克隆的另外一台,由于是双网卡,所以想暂停掉一块网卡的,只保留一块网卡设备,本机按照原来的网卡配置是,eth0加eth1,同时eth0上面又配了个另外的ip地址,配置文件为:

/etc/sysconfig/network-scripts/ifcfg-eth0,    //第一块网卡,桥接模式

/etc/sysconfig/network-scripts/ifcfg-eth1,       //第二块网卡,NAT模式

/etc/sysconfig/network-scripts/ifcfg-eth0:1;   //eth0的新增的IP 配置文件

原本是计划两块网卡在不同环境上网,切换方便点,所以做的这个配置。现在要克隆成专门做实验的机器,觉得两块网卡没必要,而且有时会串ip,为省事保留一块NAT模式的配置。

没想到问题来了,在虚拟机里面断开第一块网卡后,

#ifconfig      无法正确显示信息

#service network restart 重启网络    依然报错:如下图

虚拟机双网卡无法正常启动---解决办法

百度了之后,大部分说是执行

#service NetManager stop   //暂停NetworkManager服务
发现不行,还是报错,另外重启虚拟机依然不行,网卡就是无法正常打开,后来问群里朋友,说是删掉/etc/udev/rules.d/70-persistent-net.rules,同时去除网卡配置文件中的mac地址一条信息

#rm -f /etc/udev/rules.d/70-persistent-net.rules    //删除此文件 
#reboot                       //重启电脑
#ifconfig -a                  //可以显示出网卡ip等信息了
#service network restart        //依然报错如上图
#service NetworkManager stop                 //停止此服务
https://wiki.archlinux.org/index.php/NetworkManager_(简体中文)  关于networkmanager的作用,一般安装完系统就停掉此服务:
#chkconfig NetworkManager off              //禁止开机启动
#service network restart    //执行成功。
至此问题得以解决。
 
第二种方法:添加uuid和mac地址
HWADDR和UUID可以不进行添加,但是如果不进行设置的的话,就需要把这二行删除,不能保留在配置文件里。
如果不设置HWADDR的话,系统会在启动网卡时读取硬件的MAC地址;
使用ifconfig -a 可以查看到mac地址(HWaddr)

 而UUID存在的目标则是如果多块网卡在硬件安装的位置发生变化时,系统会根据UUID判断应该读取哪个配置文件。
因为在linux系统里硬件的名称不是固定的,硬件的名称如:eth0 eth1 sda1 sda2 是按硬件安装时的顺序进行命名的。这样的话,如果硬件安装的位置发生变化,就可能出现读取错误配置文件的情况。为了防止这种情况发生,就产生了UUID。
读取网卡的UUID用如下命令:
#nmcli con
如果提示没有这个命令,yum安装一下:
#yum -y install NetworkManager
然后启动服务
#service NetworkManager start
然后再运行nmcli con命令,出现如下内容
         名称                      UUID                                                                类型              范围     真实时间戳
System eth0               c459c2fd-1c30-4be3-88cb-cbdf4d2924e0   802-3-ethernet    系统     从不
Auto eth1                 a46f9708-3e23-498e-b2f8-c43c539a1fdf   802-3-ethernet    系统     2015年04月23日 星期四 09时59分17秒
//第二行的UUID字段就是新添加网卡eth1的UUID
Responses