WSL2 インターネットアクセスなし; ホストアドレスを解決できません
WSL2 はインターネットに接続できず、ホスト アドレスを見つけることができません。このため、WSL2 を使用してどのサーバーにもアクセスできず、そもそも Linux をインストールする目的が達成されません。そこで、この投稿では、WSL2 が「インターネット アクセスなし」と表示され、ホスト アドレスを解決できない場合の対処方法について説明します。
WSL2 のインターネット アクセスなしの修正。ホスト アドレスを解決できません。
WSL2 にインターネット アクセスがなく、ホスト アドレスを解決できない場合は、以下の解決策に従ってください。
- インターネット接続と帯域幅を確認してください
- Windows でネットワークとインターネットのトラブルシューティングを実行する
- WSLをシャットダウンし、ネットワークプロトコルをリセットする
- ホスト名とホストファイルを確認する
- resolv.confファイルを確認する
それらについて詳細に議論しましょう。
1] インターネット接続と帯域幅を確認する
まず、インターネットに問題がないことを確認する必要があります。そのためには、無料のインターネット速度テスターのいずれかを使用します。帯域幅が低い場合は、ルーターの電源を入れ直してください。それでも問題が解決しない場合は、ISP に連絡して問題の解決を依頼してください。
2] Windowsでネットワークとインターネットのトラブルシューティングを実行する
インターネット速度に問題がない場合は、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 コマンドをもう一度使用してみてください。問題なく動作するはずです。
コメントを残す