WSL2 インターネットアクセスなし; ホストアドレスを解決できません

WSL2 インターネットアクセスなし; ホストアドレスを解決できません

WSL2 はインターネットに接続できず、ホスト アドレスを見つけることができません。このため、WSL2 を使用してどのサーバーにもアクセスできず、そもそも Linux をインストールする目的が達成されません。そこで、この投稿では、WSL2 が「インターネット アクセスなし」と表示されホスト アドレスを解決できない場合の対処方法について説明します。

WSL2 インターネットアクセスなし; ホストアドレスを解決できません

WSL2 のインターネット アクセスなしの修正。ホスト アドレスを解決できません。

WSL2 にインターネット アクセスがなく、ホスト アドレスを解決できない場合は、以下の解決策に従ってください。

  1. インターネット接続と帯域幅を確認してください
  2. Windows でネットワークとインターネットのトラブルシューティングを実行する
  3. WSLをシャットダウンし、ネットワークプロトコルをリセットする
  4. ホスト名とホストファイルを確認する
  5. resolv.confファイルを確認する

それらについて詳細に議論しましょう。

1] インターネット接続と帯域幅を確認する

まず、インターネットに問題がないことを確認する必要があります。そのためには、無料のインターネット速度テスターのいずれかを使用します。帯域幅が低い場合は、ルーターの電源を入れ直してください。それでも問題が解決しない場合は、ISP に連絡して問題の解決を依頼してください。

2] Windowsでネットワークとインターネットのトラブルシューティングを実行する

Windows 11 でネットワークとインターネットのトラブルシューティングのヘルプを実行する方法

インターネット速度に問題がない場合は、Get Help アプリからネットワークとインターネットのトラブルシューティング ツールを実行してください。ネットワークの問題を検出し、解決策を提示します。ネットワークの問題が解決したら、WSL を試してください。これで動作するはずです。

3] WSLをシャットダウンし、ネットワークプロトコルをリセットする

次に、Windows Subsystem for Linux をシャットダウンし、この問題の原因となった可能性のあるネットワーク プロトコルをリセットする必要があります。これを行うには、コマンド プロンプトで次のコマンドを 1 つずつ実行します (管理者として)。

wsl --shutdown
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns

完了したら、問題が解決したかどうかを確認します。

4] ホスト名とホストファイルを確認する

ホスト ファイルに、ローカル ドメインとともにコンピューターのエントリが記載されていることを確認する必要があります。ただし、まず、マシンの名前を確認する必要があります。そのためには、[設定] を開いて、[システム] > [バージョン情報] に移動します。

コンピューターの名前がわかったら、コマンド プロンプトを開いて WSL に移動します。次に、次のコマンドを実行します。

nano /etc/hostname

マシン名(具体的には、先ほど受け取った名前)を大文字で入力します。その後、マシン名以外の情報を削除します。

さあ、走りましょう。

nano /etc/hosts

hostsファイルには以下に示すような 2 つの行が含まれている必要があります。

127.0.0.1 localhost.localdomain localhost 127.0.1.1 DESKTOP-SOMETHING

最後に、ファイルを保存して終了します。

5] resolv.confファイルを確認する

Windows は自動的に resolv.conf ファイルを生成しますが、間違ったネームサーバーが生成されることがあります。ファイルをチェックして、ネームサーバーが8.8.8.8に設定されていることを確認する必要があります。これは Google Public DNS であり、無料で使用できます。同じことを行うには、以下の手順に従ってください。

まず、次のコマンドを実行してファイルを見つけます。

sudo nano /etc/resolv.conf

次のエントリが表示される場合があります。

# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/resolv.conf
# [network]
# generateResolvConf = false
nameserver xxx.xx.xx

ネームサーバーの値を 8.8.8.8 に更新し、ファイルを保存します。これで、インターネットに接続できるようになります。今後ターミナルを開いたときに WSL がこのファイルをリセットしないようにするには、現在インターネットに接続している場合は、次のコマンドを実行します。

sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8"> /etc/resolv.conf'
sudo bash -c 'echo "[network]"> /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false">> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf

最後に、問題が解決されたかどうかを確認します。

それでおしまい!

WSL2 のインターネットの問題を修正するにはどうすればよいですか?

WSL2 のインターネットに問題がある場合は、まず、ホスト Windows コンピューターが適切にインターネットに接続しているかどうかを確認してください。これは、無料のインターネット速度テスターを使用して行うことができます。ネットワークに問題がない場合は、ルーターとともにコンピューターを再起動します。それでも同じ問題が発生する場合は、前述のガイドを確認してください。

ホストを解決できない問題を修正するにはどうすればいいですか?

/etc/hosts ファイルでホスト名が更新されていないか正しくない場合、WSL はホストを解決できない可能性があります。これを修正するには、/etc/hosts ファイルでアーカイブ サーバーのホスト名または FQDN を更新し、変更を保存します。hosts ファイルを更新したら、sudo コマンドをもう一度使用してみてください。問題なく動作するはずです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です