
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
- 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
- crie um arquivo wsl.conf na pasta raiz etc (você pode precisar do sudo):
sudo nano /etc/wsl.conf
- cole as seguintes linhas no arquivo e saia salvando-o (Ctrl+X):
[network]
generateResolvConf = false
- exclua o link simbólico para o arquivo resolv.conf
cd /etc
sudo rm resolv.conf
- 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