虚拟机上ping不通外网, 但是可以访问外网(如使用curl www.baidu.com能返回内容)

在虚拟机中输入 ping www.baidu.com, 可能出现如下几种报错

1. ping: unknown host www.baidu.com 

2.PING www.a.shifen.com (183.232.231.172) 56(84) bytes of data.

以上两种都是 没有配置正确的DNS服务器

解决:  在window上打开命令窗口, 输入 ipconfig /all 

    找到你当前连接上网的地方, 因为我电脑是连接无线 ,所以在无线网络连接区域下 , 如果是连接有线的有可能就是叫本地连接这个区域, 然后找到此区域下的dns服务器项 并记下来.


虚拟机上ping不通外网, 但是可以访问外网(如使用curl www.baidu.com能返回内容)

然后打开 网络界面 ,在vmnet 8上右键 点击属性, 如下图

虚拟机上ping不通外网, 但是可以访问外网(如使用curl www.baidu.com能返回内容)

之后会弹出vmnet8属性窗口,双击Internet 协议版本 4, 弹出 Internet 协议版本 4 属性窗口 ,然后重点来了

选择 "使用下面的DNS服务器地址" 然后 在其底下设置 DNS ,将刚才记下的两个DNS 地址分别输入确定保存

虚拟机上ping不通外网, 但是可以访问外网(如使用curl www.baidu.com能返回内容)

在虚拟机上, 输入vi /etc/resolv.conf 进行编辑 resolv.conf文件

加入如下红框内容, 后面的那两个ip就是刚才让你记住的, 写入完后保存退出

虚拟机上ping不通外网, 但是可以访问外网(如使用curl www.baidu.com能返回内容)

然后 输入 vi /etc/sysconfig/network-scripts/ifcfg-ens33  编辑ifcfg-ens33文件(注意这个文件名不一定每个人都是这个名称, 你虚拟机上网卡叫什么,这个名称就是什么,但是都会在/etc/sysconfig/network-scripts/目录下, 可以自己找找和我这个文件名字差不多的文件)   如下图是我虚拟机上的配置

虚拟机上ping不通外网, 但是可以访问外网(如使用curl www.baidu.com能返回内容)

找到BOOTPROTO项看是不是等于 dhcp,如果是那么加上  PEERDNS=no这句( 这是为了防止重启服务导致 刚配置resolv.conf文件会被改变, 为了免于再次配置 所以加上这句)

最后输入 systemctl restart  network.service    进行重启network服务

现在 ping  www.baidu.com 之类的外网就可以ping通了

ps 此外 : 还有可能会出现 ping www.baidu.com 时然后出现一直等待返回的界面.整个卡住,但是没有报错. ping 其他外网ip也是一样

解决办法: 出现这个问题有可能就是你开了网络共享. 检查自己的网络是不是共享了.

打开网络和共享中心-> 更改适配器设置    如下图就是开了共享

虚拟机上ping不通外网, 但是可以访问外网(如使用curl www.baidu.com能返回内容)

如何关闭? 右键选择属性, 弹出如下的 无线网络连接属性窗口 , 将 红色框中的打勾取消掉确定保存即可

虚拟机上ping不通外网, 但是可以访问外网(如使用curl www.baidu.com能返回内容)

猜你喜欢

转载自blog.51cto.com/12967094/2408314