WSL2で動くUbuntuでDNSをGoogleのパブリックDNSに変更する。resolv.confの設定

WSL2で動くUbuntuDNSGoogleのパブリック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)」で確認出来ます。

f:id:fsms:20201017112538p:plain

 


/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