1 症状描述
打开ubuntu 16.04的虚拟机,然后打开火狐浏览器,发现不能上网了。打开terminal ping百度域名发现ping不通, 网上查看百度域名IP,尝试ping百度IP,居然可以ping通。 而将百度域名IP填入浏览器,可以看到百度首页界面。
zxy@ubuntu:~$
zxy@ubuntu:~$
zxy@ubuntu:~$ ping www.baidu.com
ping: unknown host www.baidu.com
zxy@ubuntu:~$ ping 112.80.248.76
PING 112.80.248.76 (112.80.248.76) 56(84) bytes of data.
64 bytes from 112.80.248.76: icmp_seq=1 ttl=128 time=33.6 ms
64 bytes from 112.80.248.76: icmp_seq=2 ttl=128 time=28.4 ms
64 bytes from 112.80.248.76: icmp_seq=3 ttl=128 time=28.4 ms
64 bytes from 112.80.248.76: icmp_seq=4 ttl=128 time=29.0 ms
^C
--- 112.80.248.76 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 28.401/29.864/33.616/2.186 ms
zxy@ubuntu:~$
2 杂症原因
IP可以ping通,但是ping域名失败,浏览器不能正确解析域名,应该是域名解析出了问题。
3 治疗过程
(1)有问题了,只知道是域名解析有问题,但是不知道怎么修改。查看百度搜索相关症状。
网上有很多相关的帖子,看到的最多的是修改/etc/resolv.conf中resolv.conf文件的内容,我使用的ubuntu虚拟机中没有这个文件,
zxy@ubuntu:/etc/resolvconf$
zxy@ubuntu:/etc/resolvconf$ ls -al
total 32
drwxr-xr-x 5 root root 4096 2月 27 2019 .
drwxr-xr-x 131 root root 12288 10月 26 13:42 ..
-rw-r--r-- 1 root root 511 6月 4 2015 interface-order
drwxr-xr-x 2 root root 4096 10月 27 18:15 resolv.conf.d
drwxr-xr-x 2 root root 4096 2月 27 2019 update.d
drwxr-xr-x 2 root root 4096 2月 27 2019 update-libc.d
zxy@ubuntu:/etc/resolvconf$
(2)进入resolv.conf.d文件夹,里边已经有文件base和head,网上有说直接编辑base文件,也有新建tail文件、编辑tail文件的。我用的是新建tail文件再编辑tail文件。
(3)vim tail
但是因为tail的只读权限,使用:q!退出vim,修改tail文件的权限
zxy@ubuntu:/etc/resolvconf/resolv.conf.d$ ls -al
total 16
drwxr-xr-x 2 root root 4096 10月 27 18:15 .
drwxr-xr-x 5 root root 4096 2月 27 2019 ..
-rw-r--r-- 1 root root 0 6月 4 2015 base
-rw-r--r-- 1 root root 151 6月 4 2015 head
-rw-r--r-- 1 root root 51 10月 27 18:39 tail
zxy@ubuntu:/etc/resolvconf/resolv.conf.d$
zxy@ubuntu:/etc/resolvconf/resolv.conf.d$ sudo chmod 777 tail
[sudo] password for zxy:
zxy@ubuntu:/etc/resolvconf/resolv.conf.d$ ls -al
total 16
drwxr-xr-x 2 root root 4096 10月 27 18:15 .
drwxr-xr-x 5 root root 4096 2月 27 2019 ..
-rw-r--r-- 1 root root 0 6月 4 2015 base
-rw-r--r-- 1 root root 151 6月 4 2015 head
-rwxrwxrwx 1 root root 51 10月 27 18:39 tail
zxy@ubuntu:/etc/resolvconf/resolv.conf.d$
zxy@ubuntu:/etc/resolvconf/resolv.conf.d$
(4)编辑tail文件,在空的文件中增加
nameserver xxx.xxx.x.xx #这里的xxx.xxx.x.xx和下一行里的xxx都是DNS服务器IP,下文介绍怎么获取这两个值
nameserver xxx.xxx.xxx.xx
(5)编辑完成后报文文件,然后修改文件权限
zxy@ubuntu:/etc/resolvconf/resolv.conf.d$
zxy@ubuntu:/etc/resolvconf/resolv.conf.d$ sudo chmod 644 tail
zxy@ubuntu:/etc/resolvconf/resolv.conf.d$ ls -al
total 16
drwxr-xr-x 2 root root 4096 10月 27 18:15 .
drwxr-xr-x 5 root root 4096 2月 27 2019 ..
-rw-r--r-- 1 root root 0 6月 4 2015 base
-rw-r--r-- 1 root root 151 6月 4 2015 head
-rw-r--r-- 1 root root 51 10月 27 18:39 tail
zxy@ubuntu:/etc/resolvconf/resolv.conf.d$
(6)重启resolvconf程序
zxy@ubuntu:/etc/resolvconf/resolv.conf.d$ sudo /etc/init.d/resolvconf restart
[ ok ] Restarting resolvconf (via systemctl): resolvconf.service.
zxy@ubuntu:/etc/resolvconf/resolv.conf.d$
到此网页可以正常打开了,ping百度也通了。(如果还不行,重启虚拟机试试)
(7)DNS服务器IP获取
windows系统下,窗口键+R,弹出运行窗口,填入cmd,确定后,弹出命令行对话窗,
输入 ipconfig /all
在之后的内容中找到DNS服务器IP即可。