WSLでホスト名を解決できません

WSLでホスト名を解決できません

Windows Subsystem for Linux で実行するほぼすべてのアクションで、「ホスト名を解決する方法」という通知が表示されます。なぜこれが新規インストールごとに発生するのでしょうか。また、これを解決するにはどうすればよいですか。

答え1

  1. resolv.conf シンボリック リンクとファイルが存在するかどうかを確認します。
cd /etc
ls -lha
stat resolv.conf

次の場所を指すシンボリック リンクが表示されます。

  File: resolv.conf -> ../run/resolvconf/resolv.conf
  Size: 29              Blocks: 0          IO Block: 4096   symbolic link

../run/resolvconf/resolv.conf 内の元のファイルは、WSL Ubuntu を起動すると新しく作成され、次の内容が含まれます。

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

ネームサーバーのアドレスはあなたの場合と異なる場合があります

  1. ルート etc フォルダーに wsl.conf ファイルを作成します (sudo が必要になる場合があります)。

sudo nano /etc/wsl.conf

  1. 次の行をファイルに貼り付けて保存して終了します (Ctrl+X)。
[network]
generateResolvConf = false
  1. resolv.confファイルへのシンボリックリンクを削除します。
cd /etc
sudo rm resolv.conf
  1. /etcに新しいresolv.confファイルを作成する
sudo nano resolv.conf

次の内容を貼り付けて、Ctrl+O と Ctrl+X で保存します。

# This file was automatically generated by WSL. To stop automatic generation of this file, 
# add the following entry to /etc/wsl.conf:>
# [network]
# generateResolvConf = false
# nameserver 172.23.0.1
nameserver 8.8.8.8

答え2

なぜこのようなことが起こるのかはわかりません (説明を加えて回答を改善してください)。この問題の有効な解決策は次のとおりです。

1. 実行:

nano /etc/hostname

マシン名を大文字で入力します (DESKTOP-SOMETHING のようになります)。マシン名以外のものはすべて削除します。

保存して終了。

2. 次に、以下を実行します。

nano /etc/hosts

次に、ファイルの最初の 2 行が次のようになっていることを確認します。

  127.0.0.1 localhost.localdomain localhost
  127.0.1.1 DESKTOP-SOMETHING

保存して終了。

答え3

私の場合、役に立ったコマンドは次の通りです。

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

答え4

WSL2 内でローカル Windows ネットワーク ホストを解決するために私が有効だったのは、次の内部 DNS 解決エントリ (ネーム サーバー) を追加することでした/etc/resolv.config

search <name-of-my-internal-ad-domain.net>
nameserver 10.0.xx.xxx  # local WAN DNS server
nameserver 10.0.xx.xxx  # local WAN DNS server
nameserver 1.1.1.1

sudo tee /etc/resolv.conf << EOF
search <name-of-my-internal-ad-domain.net>
nameserver 10.0.xx.xxx
nameserver 10.0.xx.xxx
nameserver 1.1.1.1

関連情報