Parece que minha configuração para root não tem acesso ao DNS, mesmo que meu usuário com privilégios mais baixos tenha.
$ ping google.com
PING google.com (142.251.32.110) 56(84) bytes of data.
64 bytes from 142.251.32.110 (142.251.32.110): icmp_seq=1 ttl=64 time=1.35 ms
64 bytes from 142.251.32.110 (142.251.32.110): icmp_seq=2 ttl=64 time=2.71 ms
^C
--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.350/2.029/2.708/0.679 ms
$ sudo -E ping google.com
ping: google.com: Name or service not known
Isso está causando estragos apt-get
. Como posso solucionar isso?
Estou executando o WSL Ubuntu.
Editar 1
Parece que root
está tentando usar localhost
para DNS.
socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 5
setsockopt(5, SOL_IP, IP_RECVERR, [1], 4) = 0
connect(5, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
A linha equivalente para mim sem privilégios é esta. Acho que esse 172.*
endereço é alguma coisa da WSL.
socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 5
setsockopt(5, SOL_IP, IP_RECVERR, [1], 4) = 0
connect(5, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("172.21.160.1")}, 16) = 0
Isto é o que /etc/resolv.conf
parece.
# 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.21.160.1
Editar 2
Root não consegue ler/etc/resolv.conf
newfstatat(AT_FDCWD, "/etc/resolv.conf", 0x7ffc8a2d25f0, 0) = -1 EACCES (Permission denied)
O problema foi que atualizei as
automount
configurações do meu arquivowsl.conf
.Depois de reverter essa alteração,
root
consegui acessar a internet novamente. Acredito que isso se deva a um problema na ordem de inicialização porque/home
não está disponível em tempo hábil para configurar a rede para oroot
.