当前位置: 首页>>技术教程>>正文


从ubuntu 14.04升级到16.04后没有DNS解析

, , ,

问题描述

我将ubuntu 14.04升级到了ubuntu 16.04,但互联网连接出现问题。具体来说,更新后的DNS停止工作。出于调试目的,我设置了唯一的DNS 8.8.8.8,但名称解析仍然不起作用。 nmcli device show wlan1 | grep IP4的输出是:

pc@pc:~$ nmcli device show wlan1 | grep IP4
IP4.ADDRESS[1]: 192.168.1.3/24
IP4.GATEWAY: 192.168.1.1
IP4.ROUTE[1]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.DNS[1]: 8.8.8.8
The output from dig @8.8.8.8 google.com and dig google.com:

dig @8.8.8.8 google.com
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @8.8.8.8 google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60075
;; flags: qr rd ra; QUERY: 1, ANSWER: 12, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;google.com.            IN  A

;; ANSWER SECTION:
google.com.     27  IN  A   62.75.23.245
google.com.     27  IN  A   62.75.23.230
google.com.     27  IN  A   62.75.23.216
google.com.     27  IN  A   62.75.23.238
google.com.     27  IN  A   62.75.23.224
google.com.     27  IN  A   62.75.23.223
google.com.     27  IN  A   62.75.23.237
google.com.     27  IN  A   62.75.23.210
google.com.     27  IN  A   62.75.23.217
google.com.     27  IN  A   62.75.23.231
google.com.     27  IN  A   62.75.23.244
google.com.     27  IN  A   62.75.23.251

;; Query time: 89 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Apr 30 19:39:24 EEST 2016
;; MSG SIZE  rcvd: 231
pc@pc:~$ dig google.com
; <<>> DiG 9.10.3-P4-Ubuntu <<>> google.com
;; global options: +cmd
;; connection timed out; no servers could be reached
pc@pc:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    600    0        0 wlan1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan1
192.168.1.0     0.0.0.0         255.255.255.0   U     600    0        0 wlan1

最佳方案

我通过在Ask Ubuntu Stack Exchange上使用Amrish instructions解决了问题,即使用以下代码:

sudo rm /etc/resolv.conf
sudo ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf
sudo resolvconf -u

次佳方案

我有一个类似的问题,并使用了here的解决方案。以下是方法以及指向他们找到信息的位置的另一个链接-

当我遵循有关ubuntuforums的建议时,OpenVPN连接期间的DNS行为立即得到改善:

  1. 在具有根权限的编辑器中打开/etc/NetworkManager/NetworkManager.conf

  2. 删除(或用井号#注释掉)读取dns=dnsmasq的行。

  3. 通过sudo service NetworkManager restart重新启动NetworkManager。

第三种方案

我在resolvconf中遇到了相同的问题,它阻止dhcp客户端(dhclient)从eth0的DHCP服务器获取IP。解决resolvconf问题,解决了DHCP问题。

sudo mkdir -p /run/resolvconf/interface
sudo resolvconf -u
sudo service resolvconf restart

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10904.html,未经允许,请勿转载。