Windows Subsystem for Linux WSL 環境で、リナックスからインターネットに接続できない、またはドメイン名が解決できないといった問題に直面していませんか。
これはDNS名前解決の設定が正しくない場合に発生することが多いです。
この記事では、Windows 11のWSL環境で、リナックスからのインターネット接続における名前解決を正しく行うための手順を解説します。
ビジネスシーンでWSLを活用する際に役立つ情報です。
【要点】WSLのリナックス環境で名前解決の問題を解消する
- wsl.confファイルの設定: WSL起動時に自動的にDNS設定を適用し、名前解決を安定させます。
- /etc/resolv.confの確認: DNSサーバー情報が正しく設定されているか確認し、必要に応じて修正します。
- Windows側のDNS設定: ホスト側のWindowsのDNS設定がWSLに影響するため、その設定も確認します。
ADVERTISEMENT
目次
WSL環境での名前解決の仕組みと設定の重要性
Windows Subsystem for Linux WSL は、Windows上でリナックス環境を直接実行できる機能です。WSLのリナックス環境は、通常Windowsのネットワーク設定を継承します。しかし、何らかの理由でこの継承がうまくいかない場合、リナックス環境からの名前解決に問題が生じることがあります。
名前解決とは、ウェブサイトのアドレスなど、人間が読みやすいドメイン名を、コンピューターが通信に使うIPアドレスに変換する仕組みです。この変換が正しく行われないと、インターネット上のサーバーに接続できません。特に企業ネットワーク環境では、プロキシ設定や特定のDNSサーバー利用が必須の場合があり、WSLでも同様の設定が必要です。
/etc/resolv.confとwsl.confの役割
リナックス環境では、名前解決の設定は主に /etc/resolv.conf ファイルに記述されます。このファイルには、利用するDNSサーバーのIPアドレスが記載されています。WSLでは、起動時にこのファイルが自動生成されることがありますが、その設定が環境に合わない場合があるのです。
wsl.conf ファイルは、WSLディストリビューションごとの動作を設定するためのファイルです。このファイルを使って、/etc/resolv.confの自動生成を制御し、固定のDNSサーバーを設定できます。これにより、起動ごとにDNS設定が変わる問題を避け、安定した名前解決を実現します。
WSLのリナックス環境でDNS名前解決を設定する手順
WSLのリナックス環境でインターネット接続先の名前解決を正しく行うには、wsl.confファイルを編集し、DNSサーバーの設定を調整します。ここでは、Windows 11を基準に手順を説明します。
- WSLディストリビューションを終了する
設定変更を確実に適用するため、対象のWSLディストリビューションを一度終了します。WindowsのPowerShellまたはコマンドプロンプトを開き、次のコマンドを実行します。wsl --shutdown - wsl.confファイルを作成または編集する
WSLディストリビューションのルートディレクトリにある /etc/wsl.conf ファイルを作成または編集します。リナックス環境を起動し、任意のテキストエディタ(例: nano, vi)で開きます。sudo nano /etc/wsl.conf
ファイルに以下の内容を追記または修正します。[network]
generateResolvConf = false
この設定は、WSLが自動的に /etc/resolv.conf を生成する機能を無効にします。これにより、手動でDNS設定を制御できます。ファイルを保存してエディタを終了します。 - /etc/resolv.confファイルを編集する
wsl.confの設定変更後、/etc/resolv.conf ファイルを編集し、適切なDNSサーバーを指定します。再びリナックス環境で次のコマンドを実行します。sudo nano /etc/resolv.conf
ファイルの内容をすべて削除し、次の形式で希望するDNSサーバーのIPアドレスを記述します。nameserver 8.8.8.8
nameserver 8.8.4.4
上記の例では、Google Public DNSのIPアドレスを使用しています。ご自身の環境や企業の指定するDNSサーバーのIPアドレスに置き換えてください。複数のDNSサーバーを指定する場合は、行ごとに記述します。ファイルを保存してエディタを終了します。 - WSLディストリビューションを再起動する
設定を反映させるため、WSLディストリビューションを再起動します。PowerShellまたはコマンドプロンプトで次のコマンドを実行します。wsl --terminate <ディストリビューション名>
例えば、Ubuntuディストリビューションの場合はwsl --terminate Ubuntuとなります。その後、リナックス環境を再度起動します。 - 名前解決をテストする
リナックス環境内で、pingコマンドやcurlコマンドなどを使ってインターネット接続および名前解決をテストします。例えば、次のコマンドを実行します。ping google.com
またはcurl -I https://www.google.com
正しくIPアドレスが解決され、応答があれば設定は成功です。
Windows 10での操作の違い
Windows 10でのWSLの基本的な設定手順はWindows 11とほぼ同じです。wsl.confファイルと/etc/resolv.confファイルの編集方法は共通しています。ただし、WSLのバージョンによっては、一部の機能や挙動が異なる場合があります。最新のWSL 2を利用していることを確認してください。
名前解決がうまくいかない場合の追加確認点
wsl.confの変更が反映されない場合
wsl.confファイルを変更しても設定が反映されない場合は、WSLディストリビューションが完全に終了していない可能性があります。手順1で説明した wsl --shutdown コマンドを再度実行し、すべてのWSLインスタンスを停止してから、対象のディストリビューションを再起動してください。
また、wsl.confファイルの記述に誤りがないか、特にセクションヘッダー [network] が正しく記載されているか確認しましょう。ファイル名が wsl.conf であることも重要です。
ホスト側のWindowsのDNS設定が影響する場合
WSLはWindowsのネットワークアダプターを介して通信します。そのため、Windows側のDNS設定が不適切な場合、WSLのリナックス環境にも影響が出ることがあります。Windowsのネットワーク設定を確認し、適切なDNSサーバーが設定されているか確認しましょう。
WindowsのDNS設定は、設定アプリから「ネットワークとインターネット」を開き、「アダプターのオプションを変更する」から使用中のネットワークアダプターのプロパティで確認できます。「インターネットプロトコルバージョン4 TCP/IPv4 」のプロパティで、優先DNSサーバーと代替DNSサーバーが正しく設定されているか確認してください。
企業のプロキシサーバー経由で接続する場合
企業ネットワークでは、インターネット接続にプロキシサーバーの利用が必須の場合があります。この場合、DNS設定だけでなく、リナックス環境側でプロキシ設定も行う必要があります。環境変数としてプロキシ情報を設定するか、利用するアプリケーションごとにプロキシ設定を行う必要があります。
例として、bashの環境変数設定は次のようになります。export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"
export no_proxy="localhost,127.0.0.1,.example.com"
これらの設定は、~/.bashrcなどのシェル設定ファイルに記述することで、永続化できます。
ADVERTISEMENT
WSLでのDNS設定方法の比較
| 項目 | wsl.confで自動生成を無効化し手動設定 | WSLのデフォルト設定 自動生成 |
|---|---|---|
| 設定の安定性 | 高い 常に指定したDNSサーバーを使用 | 低い Windowsの変更や再起動で変わる可能性 |
| カスタマイズ性 | 高い 任意のDNSサーバーを指定可能 | 低い Windowsの設定に依存 |
| 企業ネットワーク対応 | 対応しやすい 特定のDNSサーバーやプロキシを設定可能 | 対応しにくい 企業の要件に合わない場合がある |
| 設定の手間 | 初回設定に手間がかかる | 手間がかからない 自動で設定される |
この記事では、WSLのリナックス環境でインターネット接続の名前解決ができない問題に対し、wsl.confファイルを編集してDNS設定を安定させる手順を解説しました。
この設定により、リナックス環境からインターネット上のドメイン名が正しく解決できるようになります。
企業のネットワーク環境下でも、安定した開発や作業を進めるために、今回ご紹介したDNS設定をぜひ活用してください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Windows・PCの人気記事ランキング
- 【Edge】起動時や新しいタブを「Google」にする設定!ニュースを消してシンプルにする方法
- 【直し方】F7でカタカナにならない!ファンクションキーが効かず音量などが変わる時のFnロック解除法
- 【Windows】サブモニターが映らない!HDMIを挿しても「信号なし」になる時の認識・設定手順
- 【Windows】画面がチカチカ・点滅する!グラフィックドライバの更新と設定の見直し
- 【Windows】パスワードなしで起動!PIN入力を省略して自動ログイン(サインイン)させる設定手順
- 【Windows】デスクトップのアイコンが「白い紙」になった!アイコンキャッシュを削除して元に戻すコマンド
- 【PC周辺】2台のモニターで壁紙を「別々」にする方法!Windows11での配置と調整
- 【Windows】デスクトップアイコンの「緑のチェック」は何?OneDriveの同期マークを非表示にする方法
- Windows 11を極限まで軽量化する「不要な標準サービス」停止リスト|PCの動作を爆速化する設定手順とリスク管理の全貌
- 【Windows】Cドライブが赤い!空き容量不足を解消して数GBを一瞬で空ける4つの最強クリーンアップ術
