【WSL2】通信が遅い、安定しない

症状

curl, wget, npm installなどのコマンドの動作がやたら遅く、 npx でのコマンド実行に至ってはほぼ動作しない状態になっていた。

環境

  • Windows 11
  • Ubuntu 20.04.2

解決策

こちらによると、WSL2のUbuntuで設定されているnameserverを修正すれば直るらしい。

sudo rm /etc/resolv.conf

sudo bash -c 'echo "nameserver 1.1.1.1" > /etc/resolv.conf'
# 代替DNSも設定したほうが良いと思うので
sudo bash -c 'echo "nameserver 1.0.0.1" >> /etc/resolv.conf'

sudo bash -c 'echo "[network]" > /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'

# 削除保護
sudo chattr +i /etc/resolv.conf

以下は修正前後でのSpeedtest-cliの結果

Before

f:id:taka_say:20220306170548p:plain

After

f:id:taka_say:20220306170959p:plain

おそらく名前解決に失敗していたせいで通信が上手くいっていなかったと思われる。

ちなみに、最後に設定した削除保護を解除したい場合は以下コマンドで可能。

sudo chattr -i /etc/resolv.conf

References