Linux下ping www.baidu.com 出现ping: unkown host www.baidu.com解决方法

1,964 阅读1分钟

问题描述

今天用虚拟机运行linux时,ping不通外网,出现以下错误

解决方法

方法一:用命令行配置ip

  • 第一步:配置虚拟机的网络适配器,选择和宿主机相连的网卡,因为我的宿主机用wifi上网,所以选择wifi的网卡
  • 第二步:查看宿主机IP地址,我的是192.168.1.6
  • 第三步:查看虚拟机IP地址,ifconfig指令,查看ens33(用来上网的网卡,每个人的可能不一样)这个网卡的ip地址是否与主机IP地址在同一网段,若不一样,则通过 sudo ifconfig ens33 192.168.1.100(这个IP地址必须是没有别的机器占用的,自己随便选择)
  • 配置完后ping 192.168.1.6(ping 一下主机),发现可以ping通,但是ping www.baidu.com还是报错
  • 第四步,配置dns服务器,查看一下配置文件/etc/resolv.conf,里面是否有nameserver x.x.x.x(如8.8.8.8),若没有,就加上。
  • 第五步:配置网关,route add default gw 192.168.1.1
  • 然后在ping 外网发现就可以ping通了,但是这种方法在虚拟机重启后就会失效,需要重新配置。

方法二:直接修改配置文件

  • 第一步:编辑/etc/network/interfaces文件修改网卡信息(这里要注意,网上很多教程是修改/etc/sysconfig/下的文件,这个文件夹是在redhat上才有的,Ubuntu需要修改的是我说的文件)
  • 第二步:ip addr flush dev ens33 && /etc/init.d/networking restart 重启网络(注意,我的系统如果只用 /etc/init.d/networking restart命令会报错)
  • 第三步:ping www.baidu.com可以ping通,而且重启后不需要再配置ip

总结

推荐第二种方法。