こんな悩みを解決できる記事を書きました!
僕は現役フリーランスエンジニア(歴9年)で、資格は13個保有しています。
結論、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です。
よくある質問
wsl.confはどこにありますか?
デフォルトでは存在しません。
「/etc」直下に作成しましょう。
まとめ
今回は、WSL2でresolv.confの自動再作成を止める方法について解説しました。
以下が本記事のまとめになります。
最後までお読みいただき、ありがとうございました!
- クソおすすめ本
海外のエンジニアがどういった思考で働いているかが理解できます。
海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。