问题:某些应用程序的互联网连接出现延迟。例如:
在 Firefox 中,当我搜索某些内容或访问网站时,它首先会等待。每个网页都会发生这种情况。然后它会正常加载。但 Google Chrome 不会发生这种情况。
类似地,当我运行
apt install
命令或任何类似命令时,它首先会等待,然后正常安装(或下载)它。类似地,当我运行一个
pip install
命令(python)时,它首先等待,然后正常进行。
命令等等也是如此git fetch
。它们都等待大约 10-15 秒。
但有趣的是,Discord、MS Teams 等应用程序运行正常。
可能是什么问题呢?
我首先想到的是我的 DNS 设置。我检查了一下,发现它是手动设置的,而不是自动的。我想是某个应用程序更改了它。我将其设置为自动,然后注销并重新登录。但问题仍然存在。
编辑2:第一次尝试后,当我在同一个终端中再次运行命令时,命令运行正常(快速)。
编辑1:在 Firefox 中为 YouTube 添加网络开发人员标签(gif)。
编辑3: strace git fetch
. 它在第 239 行等待:
read(5, "000e", 4) = 4
查看踪迹:https://pastebin.com/c9Kvn9f3
编辑5:解析配置文件
nameserver 127.0.0.53
options edns0 trust-ad
search --
答案1
根据提供的输出,我猜想您的某个 DNS 服务器没有响应或返回了无效响应。我不确定状态blocked
来自哪里,但 DNS 解析需要 15 秒方式太长。
这可能是您系统内的 DNS 服务器。由于您没有指定 Ubuntu 版本,因此这可能是 dnsmasq 或 systemd-resolved。检查这一点的一个简单方法是完全绕过它。
将 的内容替换/etc/resolv.conf
为以下内容:
nameserver 1.1.1.1
nameserver 1.0.0.1
然后重试。请注意,这不是永久性的修复,因为/etc/resolv.conf
很可能(再次强调,取决于 Ubuntu 版本)会被上述服务之一更改。
此问题也可能是由您的某个上游 DNS 服务器未响应(或给出无效响应)引起的。要测试此问题,请在您的配置中使用上面提到的名称服务器。它们应该可以正常工作。