WSL2 Ubuntu 20.04.4でGithubにコマンドを投げると「Could not resolve hostname github: Name or service not known」となったときの対処法

2023年1月17日

はじめに

WSL2 Ubuntu 20.04.4で開発しているのですが、ある日突然githubにつながらなくなりました。その時の対処法をメモしておきます。

結論

  • githubだけでなく、そもそもインターネットにつながっていませんでした
  • /etc/resolv.conf のnameserverを 8.8.8.8 に書き換えることで直りました

環境

  • Windows 11
  • WSL2 Ubuntu 20.04.4

現状を確認

まず、つながらないのがgithubだけなのかをpingで確認します。

$ ping google.com と打ってみますが、通りません。この時点で、githubどうこうではなくインターネットにつながらないということが分かりました。

試しに $ ping 142.250.207.14 と打ってみると、今度は通る。どういうわけかDNS解決ができていないということのようです。

ちなみにUbuntu 20.04.4が動いているWindows上では普通にインターネットにつながるので、UbuntuとWSL2の問題と思われます。

対応方法手順

WSL2やUbuntuではこの手の問題はよく起きるようです。
対処方法として、UbuntuのDNS設定を変更します。

# 念のためバックアップ
$ cp /etc/resolv.conf /etc/resolv.conf.org
$ vi /etc/resolv.conf

#nameserver xxx.xxx.xx.xx # もともとあるものをコメントアウト or 削除
nameserver 8.8.8.8 # これを追記

これでつながるようになりました。8.8.8.8 はGoogleのnameserverなので特に理由がなければこのnameserverを使うで良いと思います。

最後に

実はgithubにつながらないときに、権限の問題では?などと考えてSSH接続の秘密鍵を作り直してみたりして、時間を無駄にしてしまいました…
同じような症状が出ている方、まずはpingしてみると良いかもしれません。

参考