问题描述
我将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行为立即得到改善:
-
在具有根权限的编辑器中打开
/etc/NetworkManager/NetworkManager.conf
。 -
删除(或用井号#注释掉)读取
dns=dnsmasq
的行。 -
通过
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