将我的 Kubuntu 从 12.04 升级到 14.04 之后,Firefox 和 Thunderbird 中的 DNS 查找速度变得非常慢。
我已经用Wireshark检查了通信。启动例如http://vs.hu在 Firefox(28)中,我得到了以下数据包:
编号 时间 源 目标 协议 长度 信息 1 0.000000000 192.168.1.13 192.168.1.1 DNS 65 标准查询 0xb406 A vs.hu
编号 时间 源 目标 协议 长度 信息 2 0.013074000 192.168.1.1 192.168.1.13 DNS 82 标准查询响应 0xb406 A 91.120.239.162
编号 时间 源 目标 协议 长度 信息 3 0.013363000 192.168.1.13 192.168.1.1 DNS 65 标准查询 0x7f30 AAAA vs.hu
编号 时间 源 目标 协议 长度 信息 4 0.014928000 192.168.1.1 192.168.1.13 DNS 110 标准查询响应 0x7f30 PTR vs.hu
编号 时间 源 目标 协议 长度 信息 5 5.003951000 192.168.1.13 192.168.1.1 DNS 65 标准查询 0x1ff5 A vs.hu
编号 时间 源 目标 协议 长度 信息 6 5.019617000 192.168.1.1 192.168.1.13 DNS 82 标准查询响应 0x1ff5 A 91.120.239.162
编号 时间 源 目标 协议 长度 信息 7 5.020167000 192.168.1.13 192.168.1.1 DNS 65 标准查询 0xc659 AAAA vs.hu
编号 时间 源 目标 协议 长度 信息 8 5.021866000 192.168.1.1 192.168.1.13 DNS 110 标准查询响应 0xc659 PTR vs.hu
编号时间源目标协议长度信息 9 10.008493000 192.168.1.13 91.120.239.162 TCP 74 45348 > http [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 TSval=267003 TSecr=0 WS=128
它启动 1-1 查询,IPV4 和 IPV6,两个服务器都回复。然后它在 5 秒时再次启动此过程。最后,仅在第 10 秒才开始使用 TCP 协议从服务器读取数据。使用 Chrome 浏览器,没有问题,但是它在通信开始时使用 MDNS 协议。这不可能是硬件(驱动程序)问题。有线和无线局域网都存在同样的问题。此外,我用 14.04 LiveCD 启动了我的第二台计算机(包含 Kubuntu 12.04),这个问题也立即出现了。
我在第二台装有 Kubuntu 12.04 的电脑上进行了类似的测试,Firefox (28) 中的 DNS 查找没有问题。奇怪的是,我在数据包中没有看到 IPV6 查询,没有重复查询,也没有延迟。检查 IPV6,它在那里没有被禁用。
顺便说一句,ping 和 dig 在 14.04 上几乎立即回复。
有人知道发生了什么吗?这 5 秒的延迟是从哪里来的?也许我的路由器或 Mozilla 产品讨厌 14.04?:)
答案1
尝试将 dns 更改为8.8.8.8
和8.8.4.4
。这是 google dns,或者您可以输入您的 ISP dns。我猜那是192.168.1.1
您的路由器的 ip。
答案2
不确定这是否有用,但我注意到我的路由器的 DNS AAAA 查询(IPv6)等待了很长时间才得到答复。我的本地网络是 IPv4。因此,在网络连接配置中,我在 IPv6 设置中设置了“禁用”,这似乎解决了问题。
答案3
就我而言,禁用avahi-daemon
我的(DNS)服务器即可解决问题。
time dig www.outlook.com
在我的笔记本电脑上(运行 Ubuntu 14.04)从 1.5 秒缩短到 0.03 秒
答案4
要在 Firefox 中禁用 IPv6 DNS 查找,只需执行以下操作:
- 在 Firefox 中转到“about:config”页面
- 找到“network.dns.disableIPv6”键并将其设置为“true”
原因:Mozilla Firefox 似乎尝试以 IPv6 优先级进行 DNS 查找,这有时不受 DNS 服务器支持,并导致每次打开新页面时出现几秒钟的延迟。