DNS 查找速度非常慢

Gho*_*ost 5 network-manager networking dns 16.04

我在 Ubuntu 16.04 LTS 上,当我访问网站/curl/wget/ping/etc 任何不是 IP 地址的东西时,它需要很长时间(> 5 秒),而任何直接使用 IP 地址的东西几乎是即时的(< 10 毫秒,正如人们所期望的那样)。

当我cat /etc/NetworkManager/NetworkManager.conf,我得到:

[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq

[ifupdown]
managed=false
Run Code Online (Sandbox Code Playgroud)

我尝试更改为#dns=dnsmasq,但没有任何明显效果。

cat /etc/network/interfaces 也很基本:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
Run Code Online (Sandbox Code Playgroud)

有点奇怪的是cat /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

nameserver 10.63.240.10
nameserver 127.0.1.1
search $companydomain$.com
Run Code Online (Sandbox Code Playgroud)

nameserver 10.63.240.10是同事没有的东西,也是上述 3 个文件对我们来说不同的唯一方式。我怀疑这是问题的根源,因为当我这样做时host www.stackexchange.com 10.63.240.10,我得到:

;; connection timed out; no servers could be reached
Run Code Online (Sandbox Code Playgroud)

将其注释掉并重新启动网络管理器可暂时修复该问题,仅在重新启动时返回。

我还注意到在 Network Connections 菜单中,列出了两个(看似)自动生成的 Bridge 条目:br-8f98800bd128br-bd749c12d64c. 如果我删除这些,它们会在重新启动后恢复。我前面提到的同事也没有这些。

我还尝试了如何在 Ubuntu 服务器中配置我的 DNS 设置中的建议极慢的 DNS 查找,但问题仍然存在。

根据贝塞拉先生的建议,我跑了sudo updatedb; locate 10.63.240.10。这没有给我任何输出。

Mikael Schultz建议我做nmcli device show,输出:

GENERAL.DEVICE:                         br-8f98800bd128
GENERAL.TYPE:                           bridge
GENERAL.HWADDR:                         02:42:50:5E:58:3B
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     br-8f98800bd128
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
IP4.ADDRESS[1]:                         172.18.0.1/16
IP4.GATEWAY:                            
IP6.GATEWAY:                            

GENERAL.DEVICE:                         br-bd749c12d64c
GENERAL.TYPE:                           bridge
GENERAL.HWADDR:                         02:42:B1:85:6D:E3
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     br-bd749c12d64c
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/3
IP4.ADDRESS[1]:                         172.19.0.1/16
IP4.GATEWAY:                            
IP6.GATEWAY:                            

GENERAL.DEVICE:                         docker0
GENERAL.TYPE:                           bridge
GENERAL.HWADDR:                         36:CA:3D:66:B7:03
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     docker0
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
IP4.ADDRESS[1]:                         172.17.0.1/16
IP4.GATEWAY:                            
IP6.GATEWAY:                            

GENERAL.DEVICE:                         wlp3s0
GENERAL.TYPE:                           wifi
GENERAL.HWADDR:                         00:28:F8:9C:2A:4D
GENERAL.MTU:                            0
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     Crowdynews
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/0
IP4.ADDRESS[1]:                         10.0.0.27/24
IP4.GATEWAY:                            10.0.0.1
IP4.ROUTE[1]:                           dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.DNS[1]:                             8.8.8.8
IP4.DNS[2]:                             8.8.4.4
IP4.DOMAIN[1]:                          crowdynews.com
IP6.ADDRESS[1]:                         fe80::9264:b967:1c59:3e50/64
IP6.GATEWAY:                            

GENERAL.DEVICE:                         enp4s0
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         C8:5B:76:F1:1C:EC
GENERAL.MTU:                            1500
GENERAL.STATE:                          20 (unavailable)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
WIRED-PROPERTIES.CARRIER:               off

GENERAL.DEVICE:                         lo
GENERAL.TYPE:                           loopback
GENERAL.HWADDR:                         00:00:00:00:00:00
GENERAL.MTU:                            65536
GENERAL.STATE:                          10 (unmanaged)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
IP4.ADDRESS[1]:                         127.0.0.1/8
IP4.GATEWAY:                            
IP6.ADDRESS[1]:                         ::1/128
IP6.GATEWAY:                            
Run Code Online (Sandbox Code Playgroud)

ip address 印刷:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever
2: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether c8:5b:76:f1:1c:ec brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:28:f8:9c:2a:4d brd ff:ff:ff:ff:ff:ff
inet 10.0.0.27/24 brd 10.0.0.255 scope global dynamic wlp3s0
   valid_lft 1660731sec preferred_lft 1660731sec
inet6 fe80::9264:b967:1c59:3e50/64 scope link 
   valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
link/ether 02:42:f3:cd:08:8c brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
   valid_lft forever preferred_lft forever
5: br-8f98800bd128: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
link/ether 02:42:50:5e:58:3b brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 brd 172.18.255.255 scope global br-8f98800bd128
   valid_lft forever preferred_lft forever
6: br-bd749c12d64c: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
link/ether 02:42:b1:85:6d:e3 brd ff:ff:ff:ff:ff:ff
inet 172.19.0.1/16 brd 172.19.255.255 scope global br-bd749c12d64c
   valid_lft forever preferred_lft forever
Run Code Online (Sandbox Code Playgroud)

cat /etc/resolvconf/resolv.conf.d/head

# 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

nameserver 10.63.240.10
Run Code Online (Sandbox Code Playgroud)

cat /etc/resolvconf/resolv.conf.d/base 不产生输出。

我该如何解决?

小智 3

问题似乎是文件中的 DNS 服务器有故障/etc/resolvconf/resolv.conf.d/head

编辑该head文件并删除表示nameserver 10.63.240.10您应该已经解决问题的行。

从终端运行sudo nano /etc/resolvconf/resolv.conf.d/head以编辑文件并确保文件的唯一内容是:

# 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
Run Code Online (Sandbox Code Playgroud)

希望这能解决您的问题。