ブログ

Ubuntu 22.04.2 LTS での wget: unable to resolve host address エラーの対処法0

症状

  • Ubuntu にて wget すると wget: unable to resolve host address なるエラーでネット通信できない

原因

  • Ubuntu のデフォルト設定で /etc/resolv.conf が nameserver 172.22.176.1 になっているので、DNS名前解決できない

確認方法は以下。

cat /etc/resolv.conf

nameserver の数値は環境によって少し変わるが、普段のWindowsでのネット通信時に使用しているDNS(192.168.11.1 とか 8.8.8.8 とか)と異なっていると、Ubuntu ではネット通信できない。

対処法

Windows のターミナルから Ubuntu タブを開き、sudo su でログイン。

sudo su

/etc/wsl.conf を vi で開き、(無ければ新規作成)

vi /etc/wsl.conf

以下を記入して wsl.conf を保存。

[network]
generateResolvConf = false

これで、Ubuntu側で resolv.conf を自動生成しなくなる。

次に、/etc/resolv.conf を rm で削除。

rm /etc/resolv.conf

/etc/resolv.conf.manually-configured を vi で新規作成し、

vi /etc/resolv.conf.manually-configured

DNSサーバー 8.8.8.8 を設定して、/etc/resolv.conf.manually-configured を保存。

nameserver 8.8.8.8

ln -s コマンドで /etc/resolv.conf.manually-configured を参照する /etc/resolv.conf という名前のシンボリックリンクを作成。

ln -s /etc/resolv.conf.manually-configured /etc/resolv.conf

これで、PC再起動しても resolv.conf が自動生成されない、かつ、resolv.conf 経由で resolv.conf.manually-configured を参照してくれるので、wget に成功する。

参考:/etc/resolv.conf を、DNS 設定を手動で設定するシンボリックリンクに置き換え

備考

  • generateResolvConf = false にして /etc/resolv.conf を nameserver 8.8.8.8 にして保存するだけでは、PC再起動すると wget エラーが再発してしまう

 

 

-ブログ

© 2024 墾田ええねん! Powered by AFFINGER5