Não foi possível resolver o nome do host no WSL

Não foi possível resolver o nome do host no WSL

Em quase todas as ações que faço no subsistema Windows para Linux, recebo uma notificação "Como resolver o nome do host". Por que isso aconteceria em cada nova instalação e como resolver isso?

Responder1

  1. verifique se existe um link simbólico e arquivo resolv.conf:
cd /etc
ls -lha
stat resolv.conf

você deverá ver um link simbólico apontando para:

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

O arquivo original em ../run/resolvconf/resolv.conf será criado recentemente inicializando no WSL Ubuntu e tem o seguinte conteúdo:

# 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

o endereço do servidor de nomes pode ser diferente no seu caso

  1. crie um arquivo wsl.conf na pasta raiz etc (você pode precisar do sudo):

sudo nano /etc/wsl.conf

  1. cole as seguintes linhas no arquivo e saia salvando-o (Ctrl+X):
[network]
generateResolvConf = false
  1. exclua o link simbólico para o arquivo resolv.conf
cd /etc
sudo rm resolv.conf
  1. crie um novo arquivo resolv.conf em /etc
sudo nano resolv.conf

e cole o seguinte conteúdo salvando-o com (Ctrl+O e 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

Responder2

Não sei por que isso acontece (melhore a resposta com uma explicação), aqui está uma solução funcional para este problema:

1. Execute:

nano /etc/hostname

Digite o nome da sua máquina em letras maiúsculas (seria algo como DESKTOP-SOMETHING). Exclua qualquer coisa além do nome da sua máquina.

Salvar e sair.

2. Em seguida, execute:

nano /etc/hosts

Em seguida, certifique-se de que as duas primeiras linhas do arquivo tenham a seguinte aparência:

  127.0.0.1 localhost.localdomain localhost
  127.0.1.1 DESKTOP-SOMETHING

Salvar e sair.

Responder3

No meu caso, o comando útil foi:

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

Responder4

O que funcionou para mim para resolver hosts de rede local do Windows no WSL2 foi adicionar as seguintes entradas internas de resolução de DNS (servidores de nomes) em /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

informação relacionada