最近我注意到一些需要互联网访问的命令在我的 Arch 系统上执行的时间太长。例如:
ssh ...
需要 3 分钟向我询问密码pip install ...
开始下载包需要 1 分钟npm install ...
永远挂起
但其他像 git 的,立即运行。大约一两周前,这些命令突然变慢了。在他们工作正常之前。
我尝试重新安装 linux 并使用可启动 USB 在 Ubuntu 和 Manjaro 上进行测试,但结果是一样的。这不可能是由于互联网连接速度慢造成的,因为我通常有 40 Mb/s 的下载和 10Mb/s 的上传。目前我正在使用 EndeavourOS。
我尝试将 my 设置/etc/resolv.conf
为8.8.8.8
(Google 的公共 DNS 服务器),但这并没有解决速度问题。
我还在 Windows 上对其进行了测试(我有 Windows 和 Linux 的双重引导)并且它工作正常。
ssh -vvv ...
直到它暂停的地方的完整输出:
OpenSSH_8.9p1, OpenSSL 1.1.1m 14 Dec 2021
debug1: Reading configuration data /etc/ssh/ssh_config
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/whistleroosh/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/whistleroosh/.ssh/known_hosts2'
debug2: resolving "xxx" port 22
debug3: resolve_host: lookup xxx:22
debug3: ssh_connect_direct: entering
debug1: Connecting to xxx [yyy] port 22.
debug3: set_sock_tos: set socket 3 IPV6_TCLASS 0x48
有谁知道造成这种放缓的原因是什么?
通常当我看到这样的事情是由于名称解析超时。检查将是一件好事。
问题出在 IPv6 上。禁用它,例如通过使用
sysctl -w net.ipv6.conf.all.disable_ipv6=1
解决了这个问题。