
Estoy usando Ubuntu Server 20.04.2 LTS en una Raspberry Pi 4 de 8 GB. La resolución de DNS deja de funcionar unas horas después del reinicio. Un reinicio resuelve el problema, pero es sólo una curita. Mi DNS está configurado en 8.8.8.8 y 8.8.4.4.
Intenté ejecutar tcpdump -n -i eth0 host 8.8.8.8
y dig @8.8.8.8 www.google.com
simultáneamente y el resultado es
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)
(La IP del dispositivo es 192.168.0.02)
NSLookup también falla y ejecuta lo siguiente: nslookup www.google.com
devuelve
;; connection timed out; no servers could be reached
Me gustaría que el DNS no se rompa cada 6 horas aproximadamente y reiniciarlo cada vez que se rompe es un poco inconveniente.
Editar:
Al ejecutar telnet se devuelve esto:
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.
Ejecutar tcpdump
sin argumentos regresaeste
La fecha parece correcta:
root@najemi:~# date
Sat Jul 3 05:14:10 UTC 2021
sudo tcpdump -n -i eth0 host 8.8.8.8
mientras se ejecuta dig +cdflag @8.8.8.8 www.google.com
devuelve:
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)
La propiedad intelectual es estática.
También pensé en mencionar que estos problemas comenzaron a surgir después de instalar pihole. Desde entonces se desinstaló pero los problemas persisten.
Edición 2:
Los contenidos de /etc/resolv.conf
son:
# 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
Edición 3:
La salida de nmcli device show eth0 | grep IP4.DNS
está vacía.
Respuesta1
Dependiendo de la versión de PiHole que tuviera en su máquina, uno no simplemente pihole uninstall
recupera su configuración anterior. El software es conocido por su persistencia.
Hay algunos elementos que quizás quieras comprobar:
- ¿Tienes un
/etc/init.d/pihole-FTL
archivo? Si es así, se recreará el/etc/resolvconf/run/interface/lo.piholeFTL
archivo que provoca la pérdida de resolución DNS. Borra la cosa. Reiniciar. - ¿Tiene algún archivo restante de PiHole? Vamos a averiguar:
Si algo regresa, elimínelo. Para ahorrar tiempo, también puede utilizar el siguiente comando, que eliminará los archivos que no elija conservar:sudo find / -iname '*pihole*' -not -path '/sys/kernel/*'
Nota 1):sudo find / -iname '*pihole*' -not -path '/sys/kernel/*' -print0 2>/dev/null | xargs -0 -o sudo rummyrumrum -rfi
rummyrumrum
no es un comando real. Esto debería ser reemplazado porrm
. El mal comando es garantizar que la gente no copie/pegue y haga un desastre en su sistema. Lai
bandera en-rfi
significa que elrm
comando se ejecutará en modo interactivo, lo que requerirá que responda Yo Npara cada archivo antes de eliminarlo. Si confías en este comando al 100%, entonces puedes eliminar el archivoi
.
Nota 2):Es posible que desees desmontar cualquier recurso compartido de red antes de ejecutarlofind /
, ya que esto escanearátodoa los que su computadora tiene acceso. - ¿
dnsmasq
Necesitadhcpcd5
reparación como resultado de PiHole? La reinstalación puede ser necesaria:
Una vez completado, es posible que deba volver a configurar sus servidores DNS ensudo apt purge dnsmasq dhcpcd5 sudo apt install dnsmasq dhcpcd5 sudo systemctl restart systemd-resolved
8.8.8.8
y8.8.4.4
.
Estedeberíarestaure la capacidad de su Pi para usar DNS durante más de seis horas. Otra solución que he visto es hacer resolv.conf
inmutable:
sudo chattr +i /etc/resolv.conf
Es posible que se registren algunos errores /var/log/syslog
como resultado de esto, ya que systemd
le gusta tener control total sobre el archivo, pero garantizará que nada modifique el archivo nameserver
o options
que haya especificado.