WSL2で動くUbuntuでDNSをGoogleのパブリックDNSに変更する。resolv.confの設定
WSL2で動くUbuntuのDNSをGoogleのパブリックDNSサービスに変更します。
WSL2でUbuntuインストール直後の/etc/resolv.confを見ると下記のようにホスト側のWindowsマシンのIPアドレスがnameserverとして設定されてます。
***@***:~$ cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 172.24.192.1
Windows側のIPアドレスは⚙ →「ネットワークとインターネット」の中のネットワーク接続「vEthernet (WSL)」で確認出来ます。
/etc/resolv.conf は /run/resolvconf/resolv.conf へのシンボリックリンクになっているので、まずシンボリックリンクを削除します。
***@***:~$ ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 29 Oct 17 12:03 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
***@***:~$ sudo rm /etc/resolv.conf
削除したら新規に/etc/resolv.confを作成します。
resolv.confにはnameserverとしてGoogleのパブリックDNSサービスのIPアドレス8.8.8.8を設定します。
***@***:~$ sudo vi /etc/resolv.conf
nameserver 8.8.8.8
このままだとUbuntuを再起動した場合に/etc/resolv.confが自動的に作成されて上書きされてしまいます。
「/etc/wsl.conf」を新規に作成して上書きされないように設定をします。
***@***:~$ sudo vi /etc/wsl.conf
「generateResolvConf = false」を設定。
[network]
generateResolvConf = false
Windows側でUbuntuを再起動してもresolv.confは上書きされずにGoogleのパブリックDNSサービスの8.8.8.8が残っています。
C:\>wsl -t Ubuntu-20.04