VMware复制的Linux虚拟机无法上网

环境: VMware 虚拟机
虚拟机操作系统:CentOS 6

由于虚拟机克隆后默认的/etc/sysconfig/network-scripts/ifcfg-eth0也会原样复制,需要更改IP和MAC地址。如果之前是DHCP自动获取,则只需要更改Mac地址。
或者输入ifconfig后看不到eth0,有eth1网卡,显示不了ip地址。

[root@SR-CNvZabbix ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:18:5d:00:25:3f brd ff:ff:ff:ff:ff:ff

一.首先更改磁盘物理地址。

1.打开网络适配器

2.点击高级

3.找到MAC地址点击生成

二.修改ifcfg-eth0的内容

需要在root用户下进行

vi /etc/sysconfig/network-scripts/ifcfg-eth0 

键入 i 进入insert模式修改

设置静态IP地址如下:

DEVICE=eth1 // 网卡的名字,从原先的eth0更改为eth1
HWADDR=00:18:5d:00:25:3f //硬件地址 MAC地址 需要和第一步修改的一致
TYPE=Ethernet //网络类型 以太网
#UUID=de0923d5-4ee8-4135-a572-1ac75a857747 //UUId 做到系统中独一无二
ONBOOT=yes //开机或重启网卡的时候启动网卡
NM_CONTROLLED=yes//是否受networkmanager管理
BOOTPROTO=static //网卡获取到ip地址的方式 static 是自己设置的静态ip,dhcp 需要网络连接设置为NAT下 自动获取ip地址 none固定的ip地址
IPADDR=192.168.1.145 //ip地址
NETMASK=255.255.255.0 //子网掩码 决定这个局域网中最多有多少台机器
GATEWAY=192.168.1.1 //网关 整个大楼的大门,设置的ip要和网关一致,否则可能连不上网
DNS1=119.29.29.29 //域名解析器
DNS2=223.5.5.5

设置通过DHCP自动获取IP地址如下:

DEVICE=eth1 // 网卡的名字,从原先的eth0更改为eth1
HWADDR=00:18:5d:00:25:3f //硬件地址 MAC地址 需要和第一步修改的一致
TYPE=Ethernet //网络类型 以太网
#UUID=de0923d5-4ee8-4135-a572-1ac75a857747 //UUId 做到系统中独一无二
ONBOOT=yes //开机或重启网卡的时候启动网卡
NM_CONTROLLED=yes//是否受networkmanager管理
BOOTPROTO=dhcp //网卡获取到ip地址的方式 static 是自己设置的静态ip,dhcp 需要网络连接设置为NAT下 自动获取ip地址 none固定的ip地址

修改完毕后 esc键,冒号:wq 保存退出 。 :q 不保存退出

cd /etc/sysconfig/network-scripts/ 

进入该目录下修改ifcfg-eth0 为ifcfg-eth1

mv ifcfg-eth0 ifcfg-eth1

service network restart  重启网络服务 都ok说明重启成功

ping www.baidu.com 查看联网情况。

三.如果不想修改eth0 的文件名也可以尝试另一种方式修改

修改/etc/udev/rules.d/70-persistent-net.rules文件,或者删除70-persistent-net.rules,该文件是临时文件存储网卡信息。重启网络后自动生成该文件。

# 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:50:56:31:25:d3", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:18:5d:00:25:3f", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

~ 
~ 
"/etc/udev/rules.d/70-persistent-net.rules" 12L, 586C 7,0-1 All

可以看到第二个MAC地址和修改的一致,把 name修改为eth0 。删除或者注释之前的eth0

保存退出。 /etc/sysconfig/network-scripts/ifcfg-eth0  里面的DEVICE=eth0 就不必修改成eth1了

重启网络

Was this article helpful?

Related Articles