最近在VMware虚拟机里玩Centos,装好后发现上不了网。经过一番艰辛的折腾,终于找到出解决问题的方法了。最终的效果是无论是ping内网IP还是ping外网ip,都能正常ping通。
step1: 配置静态IP地址
1. cd /etc/sysconfig/network-scripts
2. ls
3. vi ifcfg-ens33
上图网关单词写错,应该:GATEWAY
改掉或添加红框内的参数.
step2: 不适用网络管理器托管
1. nmcli dev status --查看受网络管理器托管的设备
发现 ens33 也就是我们编辑的网卡是受托管的.
2. vi ifcfg-ens33
上图网关单词写错,应该:GATEWAY
在最后添加NM_CONTROLLED = no ,取消托管.
step 3 .设置VM虚拟网络
DNS设置默认即可.
step 4 . 设置路由
至此,CentOS7可以Ping通网关,但Ping不过外面的主机.也就相当于二层路由器.这是因为CentOS7没有默认路由的原因.
1. route -n --检查路由
2. vim /etc/resolv.conf --添加DNS
3.添加永久静态路由
vi /etc/sysconfig/network-scripts/route-ens33
懂网络的人都知道:虚拟机网关192.168.247.2是电脑虚拟出来的,能ping通网关(192.168.247.2)就相当于能与真实电脑通讯,理论上真实电脑能上网,虚拟机就能上网。
那为什么虚拟机不能上网呢?应为虚拟机只是电脑,他接收到网络数据包不知道该发给谁,这时咱门添加路由,指定发给网关(192.168.247.2),也就是发给外面的真实电脑,真实电脑会通过自己的外网解析,把外网数据返回来。很简单吧
CentOS6.5 的路由文件在:
/etc/sysconfig/static-routes 当系统没有此文件时,可以新建此文件。向文件中添加静态路由记录,例如:
any net 192.168.247.0 netmask 255.255.255.0 gw 192.168.247.2 #内网路由
any net 0.0.0.0 netmask 0.0.0.0 gw 192.168.247.2 #默认路由
5. service network restart --重启网卡,使之生效
step 5 . 大功告成