A resolução de DNS falha após algumas horas

A resolução de DNS falha após algumas horas

Estou usando o Ubuntu Server 20.04.2 LTS em um Raspberry Pi 4 8GB. A resolução DNS para de funcionar algumas horas após a reinicialização. Uma reinicialização resolve o problema, mas é apenas um curativo. Meu DNS está definido para 8.8.8.8 e 8.8.4.4.

Eu tentei executar tcpdump -n -i eth0 host 8.8.8.8e dig @8.8.8.8 www.google.comsimultaneamente e a saída é

listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
22:06:51.643074 IP 192.168.0.2.57220 > 8.8.8.8.53: 6359+ [1au] A? www.google.com. (55)
22:06:51.651180 IP 8.8.8.8.53 > 192.168.0.2.57220: 6359 1/0/1 A 142.250.200.4 (59)

(O IP do dispositivo é 192.168.0.02)

NSLookup também falha, executando o seguinte: nslookup www.google.comretorna

;; connection timed out; no servers could be reached

Eu gostaria que o DNS não quebrasse a cada 6 horas ou mais e reiniciá-lo toda vez que ele quebrasse é um pouco inconveniente.

Editar:

Executar o telnet retorna isto:

root@najemi:~# telnet 8.8.8.8 53
Trying 8.8.8.8...
Connected to 8.8.8.8.
Escape character is '^]'.
Connection closed by foreign host.

Executar tcpdumpsem nenhum argumento retornaesse

A data parece certa:

root@najemi:~# date
Sat Jul  3 05:14:10 UTC 2021

sudo tcpdump -n -i eth0 host 8.8.8.8durante a execução dig +cdflag @8.8.8.8 www.google.comretorna:

listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
05:18:07.377351 IP 192.168.0.2.43923 > 8.8.8.8.53: 37809+% [1au] A? www.google.com. (55)
05:18:07.422270 IP 8.8.8.8.53 > 192.168.0.2.43923: 37809 1/0/1 A 142.250.180.4 (59)

O IP é estático.

Também pensei em mencionar que esses problemas começaram a surgir após a instalação do pihole. Desde então, ele foi desinstalado, mas os problemas permanecem.

Editar 2:

O conteúdo /etc/resolv.confé:

# Generated by dhcpcd from eth0.dhcp
# /etc/resolv.conf.head can replace this line
nameserver 8.8.8.8
nameserver 8.8.4.4
# /etc/resolv.conf.tail can replace this line

Editar 3:

A saída de nmcli device show eth0 | grep IP4.DNSestá vazia.

Responder1

Dependendo de qual versão do PiHole você tinha em sua máquina, não é possível simplesmente pihole uninstallrecuperar as configurações anteriores. O software é famoso por sua persistência.

Existem alguns itens que você pode querer verificar:

  1. Você tem um /etc/init.d/pihole-FTLarquivo? Nesse caso, isso recriará o /etc/resolvconf/run/interface/lo.piholeFTLarquivo que causa perda de resolução de DNS. Exclua a coisa. Reinício.
  2. Você tem algum arquivo restante do PiHole? Vamos descobrir:
    sudo find / -iname '*pihole*' -not -path '/sys/kernel/*'
    
    Se alguma coisa retornar, exclua-a. Para economizar tempo, você também pode usar o seguinte comando, que limpará os arquivos que você não decidiu manter:
    sudo find / -iname '*pihole*' -not -path '/sys/kernel/*' -print0 2>/dev/null | xargs -0 -o sudo rummyrumrum -rfi
    
    Nota 1): rummyrumrumnão é um comando real. Isso deve ser substituído por rm. O comando ruim é garantir que as pessoas não copiem/colem e baguncem seu sistema. O isinalizador in -rfisignifica que o rmcomando será executado em modo interativo, exigindo que você responda You Npara cada arquivo antes de ser excluído. Se você confiar 100% neste comando, poderá eliminar o arquivo i.
    Nota 2):Você pode querer desmontar qualquer compartilhamento de rede antes de executar find /, pois isso irá verificartudoseu computador tem acesso.
  3. Estão dnsmasqe dhcpcd5precisam de reparos como resultado do PiHole? A reinstalação pode estar em ordem:
    sudo apt purge dnsmasq dhcpcd5
    sudo apt install dnsmasq dhcpcd5
    sudo systemctl restart systemd-resolved
    
    Depois de concluído, pode ser necessário reconfigurar seus servidores DNS para 8.8.8.8e 8.8.4.4.

Essedeverestaure a capacidade do seu Pi de usar DNS por mais de seis horas. Uma outra solução que vi é tornar resolv.confimutável:

sudo chattr +i /etc/resolv.conf

Pode haver alguns erros registrados /var/log/syslogcomo resultado disso, pois systemdvocê gosta de ter controle total sobre o arquivo, mas isso garantirá que nada modifique o nameserverou optionsque você especificou.

informação relacionada