当前位置 博文首页 > 不积跬步,无以至千里:linux下出现ping:unknown host www.baidu

    不积跬步,无以至千里:linux下出现ping:unknown host www.baidu

    作者:[db:作者] 时间:2021-08-28 16:25

    如果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通

    建议使用第三种方法。


    from:http://blog.csdn.net/menlinshuangxi/article/details/7968955

    cs