参照下列主题之后,发现有一些细节不了解,在解决之后,准备总结一下。
情况
通过VMWare克隆了一个Linux,在克隆机上无法ping通百度,而且通过ifconfig没看到eth0。但是,克隆之前,虚拟机是可以正常联网的。
相关主题
(1)如何在linux系统中设置静态ip地址
(2)解决使用VMware克隆出来的新虚拟机无法联网的问题
软硬件
CentOS 6.7
VMWare 12
解决思路
(1)在VMWare右键虚拟机->设置->网络适配器->高级,查看MAC地址,例如:我克隆出来的linux是00:0C:29:7D:EA:2A
(2)vi /etc/udev/rules.d/70-persistent-net.rules,可以看到有eth0,以及可能存在的eth1、eth2什么的。删除前几个,保留最后一个,并将名称改为eth0。保存
# 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:0c:29:7d:ea:2a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
可以看到这里的ATTR{address}跟我上面在VMWare查询的MAC地址是一样的。这一步主要是为了修改eth0。重启系统生效
(3)vi /etc/sysconfig/network-scripts/ifcfg-eth0,将HWADDR改为上面我查出来的我的虚拟机的物理地址00:0C:29:7D:EA:2A。下面以设置静态ip为例
DEVICE=eth0
HWADDR=00:0C:29:7D:EA:2A
TYPE=Ethernet
UUID=f2dad702-9e2c-4b97-bc09-d462c44c965c
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.147.100
NETMASK=255.255.255.0
GATEWAY=192.168.147.2
上面的IPADDR可以自己设置,NETMASK可以在宿主机的DOS下通过ipconfig查看
(4)重启网络服务
service network restart
验证
(1)输入ifconfig,若显示eth0则表示设置成功;否则,先重启
(2)ping www.baidu.com
可能会出现的问题
(1)service network restart失败;
(2)ping百度显示Connection: 等失败信息;
(3)ping百度ping不通,而且一直卡着。
分析
(1)通过dhcp方式可以连通,说明网络是没问题,很有可能是设置有问题;
(2)局域网ping百度是先将请求发送至网关,然后由网关往外发的,有可能是网关设置错了;
(3)ping局域网中的其他ip,可以ping通,说明子网掩码没问题,ip也没问题。
解决方案
(1)查看错误信息,若是说物理地址不对,则先重启,可能刚才的设置未生效,或者有可能是物理地址设置错了;
(2)上述的问题(2)(3)很有可能是网关设置有问题,将上面的ifcfg-eth0改为dhcp方式。这时,ping百度是可以ping通的。然后通过route查看默认网关,并将网关改过来,然后再改成static方式。我的网关是192.168.147.2