首页 > 系统服务 > 详细

解决模板生成Linux虚机后网卡eth1变成eth0方法

时间:2015-11-12 16:06:39      阅读:539      评论:0      收藏:0      [点我收藏+]

  一般而言,Linux在识别网卡时第一张会是eth0,第二张才是eth1。有时候我们从模板克隆出来的网卡的信息就会改变,新克隆出来的虚拟主机网卡名字不再有eth0,而可能变为eth1,当使用/etc/init.d/network重启网络时(如下图所示),会提示找不到设备eth0及eth1的启动脚本。而有些程序或脚本,需要用到网卡的,默认写的是eth0,这时就存在要将eth1改为eth0的问题。

技术分享  按照正常想法,我们可能会查找下/etc/sysconfig/network-scripts/ifcfg-eth0文件,对它进行编辑,但有趣的是其目录下根本没有此文件,而只有ifcfg-eth0\文件,有人觉得文件名写错了,其实不然。(如下图所示)

技术分享

有点怪怪的,如果我们继续对此文件进行编辑操作后,再service network restart,还是一样报错。


为什么原来的eth0会变成eth1?

  很多Linux distribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。udev会在系统引导的过程中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本中。而对于新的虚拟机,VMware会自动为虚拟机的网卡生成MAC地址,当你克隆或者重装虚拟机软件时,由于你使用的是以前系统虚拟硬盘的信息,而该系统中已经有eth0的信息,对于这个新的网卡,udev会自动将其命名为eth1(累加的原则),所以在你的系统启动后,你使用ifconfig看到的网卡名为eth1。

  如何把名字改回eth0?

  在大多数Linux distribution版本中,udev记录网络规则的脚本为:/etc/udev/rules.d/70-persistent-net.rules

  解决方法如下:

  1.打开该文件,这时你会发现,里面有eth0,eth1两个网卡信息,但实际上你ifconfig时只能发现eth1一个网卡的信息,这时因为eth0根本就不存在。找到与ifconfig得出MAC一致的行。

技术分享


技术分享  将其中eth0的信息删掉,并将eth1信息中的设备名改为eth0,重启系统,你看到的网卡就是eth0了,或者删掉其中所有的信息重启系统udev会帮你发现新的设备的。

  2.更改/etc/sysconfig/network-scripts/ifcfg-eth0\名字为ifcfg-eth0,然后编辑此文件

1
2
3


[root@www /]# mv /etc/sysconfig/network-scripts/ifcfg-eth0\\ /etc/sysconfig/network-scripts/ifcfg-eth0 
[root@www /]# ll /etc/sysconfig/network-scripts/ifcfg-eth0 
-rw-r--r--. 1 root root 298 Sep  6 09:34 /etc/sysconfig/network-scripts/ifcfg-eth0

  注意把ifcfg-eth0文件中MAC改为新网卡的,加入IP与DNS、网关等,还要修改UUID。

  查找网卡的UUID

1
2
3
4


[root@www ~]# nmcli con
NAME                      UUID                                   TYPE              SCOPE    TIMESTAMP-REAL                    
System eth0               4ec87429-b9b1-439e-89cc-57a54d951651   
802-3-ethernet    system   Thu 12 Nov 2015 08:52:33 AM CST   
NAME                      UUID                                   TYPE              SCOPE    TIMESTAMP-REAL                    


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19


DEVICE=eth0
TYPE=Ethernet
UUID=4ec87429-b9b1-439e-89cc-57a54d951651

ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
PREFIX=24
IPADDR=192.168.0.100
NETMASK=
255.255.255.0
GATEWAY=192.168.0.254
DNS1=
192.168.0.178
DNS2=
192.168.0.179
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=
"System eth0"
USERCTL=no
HWADDR=00:0C:29:2A:3F:5C 

PEERDNS=yes

保存退出后,请重启生效!


本文出自 “Craft Life” 博客,请务必保留此出处http://allenh.blog.51cto.com/481430/1712190

解决模板生成Linux虚机后网卡eth1变成eth0方法

原文:http://allenh.blog.51cto.com/481430/1712190

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!