linux下出现ping:unknown host www.baidu.com问题时的解决办法——ubuntu下局域网络的配置

如果ping域名的时候出现ping:unknown host  xxx.xxx

但是ping IP地址的时候可以通的话

可知是dns服务器没有配置好,

查看一下配置文件/etc/resolv.conf,里面是否有nameserver xxx.xxx.xxx.xxx,比如使用dns服务器 nameserver 8.8.8.8,如果有,修改一个可用的dns服务器,如8.8.8.8或者4.4.4.4,保存退出即可!

当然,如果连ip都ping 8.8.8.8都ping不通的话,那么就说明网络配置有问题:可以这样解决:

1,首先查看ifconfig是否有内网ip地址,如果没有,那么配置一下

ifconfig eth0 192.168.1.100 up,

可以同时配置好掩码:

另外使用route命令查看一下当前的默认网关,如果没有,也配置一个,

route add default gw 192.168.1.1,

配置好这两个以后,就可以正常的ping通网络了,如果还不能ping www.baidu.com,那么就要去查看dns服务器啦

但是这种添加网关的方法只是一次性的。

重启虚拟机后又没有默认网关了。 

第二种方法:

设置网关
vi /etc/sysconfig/network-scripts/ifcfg-eth0
添加
GATEWAY=192.168.1.1
然后重新启动网络服务:
service network restart
 

确保可用DNS解析
[root@localhost Desktop]# grep hosts /etc/nsswitch.conf
输出
hosts:      files dns
该文件/etc/nsswith.conf是SUN公司开发的一种扩展name server switch。用于设置文件读取的顺序,如是先读取/etc/hosts文件,还是先查找DNS服务器。
hosts:      files dns  指定先查找/etc/hosts文件,如果失败,则到DNS服务器查找与域名相对应的主机信息。
4)测试DNS
ping www.baidu.com

上面这种方法我不知道是否可以,因为我执行service network restart

会报错network: unrecognized service

且ping www.baidu.com还是不通

所以,以上两种方法我觉得都不行。

第三种方法:

编辑/etc/network/interfaces 的文件,
#gedit /etc/network/interfaces
在 auto lo
iface lo inet loopback
的后面加上:
auto eth0
iface eth0 inet static
address 192.168.1.252
netmask 255.255.255.0
gateway 192.168.1.1
broadcast 192.168.1.255
然后保存退出,重启 networking:
#/etc/init.d/networking restart

broadcast广播的意思嘛
在IP地址中,如果最后一个数字是255,则一定是一个广播地址

可以测试将虚拟机重启,再ping www.baidu.com,依然可以ping通

建议使用第三种方法。

猜你喜欢

转载自blog.csdn.net/weixin_41010318/article/details/85346208