Networking
一些需要網際網路訪問的命令執行時間過長
最近我注意到一些需要網際網路訪問的命令在我的 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
解決了這個問題。
通常當我看到這樣的事情是由於名稱解析超時。檢查將是一件好事。
- 如果您有 /etc/nsswitch.conf,請確保沒有配置您未使用的服務。
- 檢查配置的 DNS 名稱伺服器是否正確。
- 您是否有處理反向解析的本地名稱伺服器?某些服務會嘗試查找您的客戶端的名稱以進行日誌記錄。如果反向解析停止,伺服器可能會在此期間掛起。