【超簡単】WSL2でresolv.confの自動再作成を止める方法


WSL2でresolv.confを編集しても自動で再作成されるから、編集内容が保存されないんだよね…
自動再作成を止める方法を教えてほしいな。
こんな疑問にお答えします。
- 本記事の執筆者
本記事を書いている僕はエンジニア歴7年です。
WSL2は業務で何度も使用しているので、かなり有益な情報を発信できるかと思います。
結論、WSL2でresolv.confの自動再作成を止める方法は非常に簡単です。


本記事を読んでもらえれば、WSL2でresolv.confの自動再作成を止める方法が理解できるので早速見ていきましょう!



サクッと読み終わるので、是非最後まで読んでみてください!
WSL2でresolv.confを編集する理由
WSL2でresolv.confを編集する理由は、WSLから外部にアクセスできない場合があるからです。
- DNSの名前解決ができない
- 外部にアクセスできない
- Dockerを起動時に発生する不具合



DNS関連のエラーが発生した場合はresolv.confを疑いましょう。
WSL2でresolv.confの自動再作成を止める方法
resolv.confは編集しても自動で再作成されるため、編集内容が反映されません。
ということで、resolv.confの自動再作成を止める方法を解説します。
[network]
generateResolvConf = false
wslにログインし、wsl.confを/etcに新規作成します。
ファイルの内容は上記の通りです。



generateResolvConfでresolv.confの自動再作成を止められます。
$ rm -rf /etc/resolv.conf
resolv.confを削除します。
$ vi /etc/resolv.conf
resolv.confを新規作成&開きます。
nameserver 8.8.8.8
↑を記載すればOKです。



8.8.8.8はGoogle Public DNSです。
$ wsl --shutdown
wslをシャットダウンし、再度wslを開きます。



resolv.confが再作成されていなければOKです。
resolv.confの設定を元に戻す方法
resolv.confを元に戻す方法を解説します。
$ mv resolv.conf resolv.conf.new
resolv.confをバックアップします。
ln -s ../run/resolvconf/resolv.conf resolv.conf
resolv.confにシンボリックリンクを付与します。



デフォルトのresolv.confはシンボリックリンクが付いているので元に戻します。
rm /etc/wsl.conf
wsl.confを削除すればOKです。
よくある質問|WSL2でresolv.confの自動再作成を止める方法
- wsl.confはどこにありますか?
-
デフォルトでは存在しません。
「/etc」直下に作成しましょう。
まとめ|WSL2でresolv.confの自動再作成を止める方法
今回は、WSL2でresolv.confの自動再作成を止める方法について解説しました。
以下が本記事のまとめになります。
- resolv.confを編集するのはDNS関連の不具合が発生するため。
- resolv.confは自動で再作成されるので編集内容が保持されない。
- wsl.confを作成することでresolv.confの再作成を止めることができる。
この記事があなたのお役に立てば幸いです。
サイト内には、他にも初心者向けの記事を多く投稿していますので良ければ参考にしてみてください。
最後までお読みいただきありがとうございました!

