xiaoy的个人博客分享 http://blog.sciencenet.cn/u/xiaoy

博文

Ubuntu 17.10 WIFI无线网络无法解析DNS域名的解决方法

已有 5812 次阅读 2017-11-15 00:56 |个人分类:软件|系统分类:科研笔记

把笔记本电脑(联想Y460)的操作系统从Ubuntu 16.04LTS升级到了Ubuntu 17.10, 发现WIFI无线网络能够连接上, 但就是上不了网, 比如无法访问百度(www.baidu.com)网页。  但是如果利用网线来接入有线网络, 则能够正常访问网页。


在连接WIFI无线网络的情形下, 通过ping www.baidu.com操作发现没有响应,通过ping 192.168.1.1(后者即路由器或网关的IP地址)则能够收到响应,通过ping 183.232.231.172(后者即www.baidu.com对应的IP地址)能够收到响应, 在网页浏览器里访问地址183.232.231.172则能够正常打开百度首页 , 因此可以判断出是操作系统的DNS解析出了问题。


查看DNS服务器配置文件\etc\resolv.conf, 里面的内容是:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53

可见DNS的默认地址被设定为127.0.0.53, 而不是路由器或网关或DNS服务器的IP地址。 将上述文件作如下修改:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

#nameserver 127.0.0.53

nameserver 192.168.0.1
nameserver 0.0.0.0

然后,重启一下WIFI无线网络, 就可以正常访问互联网了。


PS: 重启电脑后,发现问题依旧。重新查看DNS服务器配置文件\etc\resolv.conf, 里面的内容变回原来的样子了。 原因是resolv.conf文件被系统程序自动维护。为了防止该文件被跟改,可以为其添加独占权限,即执行

sudo chattr +i /etc/resolv.conf                                                                                                            

然而结果显示Operation not supported while reading flags on /etc/resolv.conf, 从而无法执行。由于 resolvconf 包阻止resolv.conf的属性被chattr命令修改,因而可执行

sudo apt-get remove resolvconf                                                                                                        

以删除该软件包。但是对resolv.conf文件的chattr操作依然无法执行。这其实是由系统管理resolv.conf文件的方式所导致的。用ls -l /etc/resolv.conf查看文件属性,会发现resolv.conf是指向另一个文件的软链接。只有当/etc/resolv.conf是个真实的文件时,系统才会采用该文件里配置的DNS服务器地址。因此解决问题的办法就是将软链接型的resolv.conf删除或重命名,然后创建新的resolv.conf文件并将DNS服务器的地址写进去, 即执行以下操作:

sudo mv /etc/resolv.conf /etc/resolv.conf.link                                                                                    

sudo vim /etc/resolv.conf                                                                                                                    

mv用来重命名, vim用来创建和写入内容。                                                                        




http://blog.sciencenet.cn/blog-71294-1085286.html

上一篇:Ubuntu 16.04上运行sentaurus TCAD遇到的问题及解决方法

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2020-4-2 18:40

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部