Acabo de actualizar el registro DNS ( ns1
, ns2
, ns3.myhostingcompany.com
) para un sitio que tengo alojado, pero sigo teniendo la página de registro de dominios de estacionamiento.
Me gustaría ver si el problema son los registros DNS en caché de Ubuntu. ¿Hay alguna manera de borrar el caché DNS de Ubuntu? (si tal cosa existe?)
networking
dns
Jono
fuente
fuente
/etc/hosts
. Acabo de estar seguro de que la antigua dirección IP de mi dominio se estaba almacenando en caché, pero solostrace ping example.com
revelé que olvidé eliminar el/etc/hosts
registro que agregué hace un tiempo debido a la falta de paciencia para la propagación de DNS.Respuestas:
Para 18.04 y superior
Mira la respuesta de Mike Shultz .
Para 11.10 y menos
Ubuntu no almacena en caché los registros de DNS de forma predeterminada, por lo que a menos que haya instalado un caché de DNS, no hay nada que borrar.
Es probable que los servidores DNS de su proveedor almacenen en caché los registros DNS, por lo que si desea verificar si los cambios DNS que realizó fueron exitosos, puede interrogar a un servidor DNS desde su servicio de alojamiento de dominios con dig:
dig -t a ns1.myhostingcompany.com @domain_registrar_dns_server
Si desea que Ubuntu comience a almacenar en caché dns, recomiendo instalarlo
pdnsd
junto conresolvconf
.nscd
Tiene errores y no es aconsejable.fuente
Ubuntu 17.04 y superior (18.04)
Desde Ubuntu 17.04 en adelante, systemd-resolve se usa para DNS. Puede vaciar las cachés de systemd de esta manera:
fuente
sudo systemd-resolve --statistics
systemctl restart systemd-resolved.service
también funcionó el 18.04.12.04
Ubuntu 12.04 usa el
dnsmasq
que está integradonetwork-manager
, pero no almacena en caché dns, por lo que no hay necesidad de vaciarlo. Aquí hay una línea de muestra de misyslog
para probar ese punto:Tampoco hay necesidad de ninguna configuración de
dnsmasq
. Si está ejecutando con la configuración de stock, no almacenará en caché dns, por lo que debe hacerlo explícitamente como se describe en este artículo de Ubuntu .Si desea actualizar su configuración, puede deshabilitar y luego habilitar la red o ejecutar
Esto se reinicia
dnsmasq
porque está integrado ennetwork-manager
; compruebe susyslog
evidencia para esto.Si está utilizando una conexión por cable con dhcp
network manager
, tomará la configuración directamente desde su enrutador y su conexión se establecerá automáticamente cuando inicie sesión en Ubuntu. Puede verificar que la configuración sea correcta en su enrutador si puede acceder a ella a través de la interfaz web, y quizás reiniciarla si es necesario. Si se trata de un problema general con dns, puede intentar usar dns de Google en lugar de su dns isp, y aquí se detalla más información al respecto .fuente
sudo service network-manager restart
hizo el truco para mí con DebianTenga en cuenta que Ubuntu usa systemd-resolve desde 17.04 en adelante, por lo que esta respuesta ya no se aplica a las versiones recientes de Ubuntu. Consulte " Vaciar caché DNS en Ubuntu 17.04 y superior (18.04) "
De manera predeterminada, el DNS no se almacena en caché en Ubuntu <17.04 (pero puede almacenarse en caché en la red o aplicación)
Para confirmar de una forma u otra si se
dnsmasq
está almacenando en caché, ejecuteps ax | grep dnsmasq
y mire el comando en ejecución. Aquí hay un desglose de mi máquina predeterminada 13.10:/etc/NetworkManager/dnsmasq.d
está vacío por defecto. Por lo tanto, no hay anulaciones allí y solo para verificar--cache-size=0
significa lo que creemos que significa (en lugar de un caché ilimitado ),man dnsmasq
muestra:Entonces, aunque
dnsmasq
puede almacenar en caché DNS, no está almacenando en caché la caja. Puede verificar su máquina y varios directorios de configuración para verificar que está en la misma página.Si observa problemas de caché, es probable que esto ocurra en uno de los pocos lugares:
Estoy raspando el barril aquí, pero tal vez haya instalado un servidor DNS no estándar en Ubuntu en lugar de activar el almacenamiento en caché
dnsmasq
. Hay muchos:nscd
, djbdnsdnscache
(también conocido como TinyDNS),pdns
,pdnsd
, Bind9 (y sus variantes), y más que ni siquiera puede recordar. Esto probablemente se evidenciará en/etc/resolv.conf
(con config en / etc / resolvconf / `para autogenificar ese archivo). A continuación se muestra una consulta DNS interceptada localmente:Si no está golpeando 8.8.8.8 (o lo que sea que espere que sea su servidor DNS), compruebe lo que está golpeando en su lugar. En mi caso, puedo ver que esto solo está
dnsmasq
configurado para reflejar las consultas DNS para LXC, pero en su caso podría estar haciendo cosas malas de caché.Si ha terminado con los cachés enumerados, el proceso para borrarlos varía:
En una nota ligeramente relacionada, vea esto para habilitar el almacenamiento en caché
dnsmasq
.fuente
Para el 12.04:
Ubuntu 12.04 almacena en caché DNS usando dnsmasq (ver
man dnsmasq
). Use lo siguiente para borrar el caché:fuente
sudo killall -HUP dnsmasq
?pkill
lugar dekill
ypgrep
sudo /etc/init.d/nscd restart
http://www.ubuntugeek.com/howto-clearflush-dns-cache-in-ubuntu.html
También como nota, puede verificar y ver si sus cambios de DNS se han propagado usando dig y buscando contra otra persona que no sean sus servidores DNS predeterminados. En este caso google DNS.
dig @8.8.8.8 example.com
fuente
Personalmente, usaría OpenDNS y su función de verificación de caché para forzar una actualización solo para asegurarme de que los cambios funcionen, pero no puede garantizar que se actualicen para sus usuarios dentro de las 48 horas.
DNS es una bestia lenta. La paciencia te mantendrá cuerdo.
fuente
Si está utilizando nscd:
Vale la pena mencionar que podría no ser el sistema operativo el que lo está almacenando en caché. A todos les gusta almacenar en caché DNS ... Algunas pruebas:
Verifique si se trata de la IP nueva o antigua. La mayoría de los navegadores también almacenan en caché DNS, por lo que si no ha reiniciado Chromium o lo que sea, es posible que no vea lo último.
Cambie su servidor de nombres local en /etc/resolv.conf a otro proveedor, google o nivel, ejemplos:
Y luego haz ping nuevamente.
Verifique para asegurarse de que su enrutador no esté almacenando en caché DNS de ninguna forma. (Varía según el enrutador / firmware / etc.)
Finalmente paciencia. El DNS puede demorar un poco en propagarse por Internet.
fuente
Todas las respuestas anteriores olvidaron una cosa importante en la resolución de nombres: en general, los servidores DNS a los que solicita la resolución de nombres no son los que tienen los registros en sí (el servidor autorizado). Como cada registro DNS viene con un valor de Tiempo de vida que obligará a cada servidor DNS en la cadena de resolución a almacenar en caché durante la cantidad de segundos mencionada por este valor. Por lo tanto, no solo puede almacenar en caché en su máquina, sino que CIERTAMENTE el resultado de la búsqueda de nombre se almacenará en caché en algún lugar de un servidor que no controle.
La única solución para recibir una notificación inmediata de un cambio de registro de nombre es usar un valor TTL de 0 al crear / actualizar la entrada en el servidor de nombres autorizado. Pero esto significa que para cada resolución de nombre, el servidor se verá afectado, generalmente los registradores no lo permiten. Por ejemplo, pueden proporcionar una lista de valores TTL predefinidos en los que puede elegir.
Administro diferentes nombres de dominio y para asegurarme de que el cambio se aplica bien en los servidores de nombres autorizados, estoy usando una herramienta llamada
dnstracer
que puede mostrar el resultado de búsqueda en cada servidor desde la raíz DNS.En conclusión, incluso sin una solución de almacenamiento en caché de DNS, habrá un retraso entre el momento en que cambie los registros DNS y el cambio se vea en una PC. Este retraso depende en gran medida del TTL de los registros y del número de servidores DNS entre su PC y el servidor de nombres autorizado.
fuente
Para ubuntu 14.04, recomiendo este comando:
fuente
Usé el siguiente comando para vaciar el caché dns en mi cuadro ubuntu 12.10 y funcionó fantástico.
Otra señal útil es el SIGUSR1, que volca una pequeña estadística en syslog o como se nota en
man dnsmasq
:fuente
pkill
lugar dekill
ypgrep
En Ubuntu 16.04, no podía borrar el caché a menos que lo hiciera:
fuente
También encontré contradicciones, pero esto: https://superuser.com/a/521562 woks para mí (Ubuntu 13.10 con las últimas actualizaciones, no hay paquetes de red especiales instalados).
En resumen, solo use esto
sudo /etc/init.d/dns-clean
fuente
Recomiendo openDNS especialmente en servidores remotos de Ubuntu, alivia mucho el dolor ...
¿Cómo hacerlo? Bien...
inserte esto ANTES de la línea "solicitar máscara de subred ..."
Esto reiniciará la interfaz tan rápido que ni siquiera debería perder su conexión SSH
verifique esto para ver si su nuevo openDNS está instalado correctamente
fuente