Tenga 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é, ejecute ps ax | grep dnsmasq
y mire el comando en ejecución. Aquí hay un desglose de mi máquina predeterminada 13.10:
/ usr / sbin / dnsmasq \
--no-resolv \
- mantener en primer plano \
--no-hosts \
--bind-interfaces \
--pid-file = / var / run / NetworkManager / dnsmasq.pid \
--listen-address = 127.0.1.1 \
--conf-file = / var / run / NetworkManager / dnsmasq.conf \
--cache-size = 0 \
--proxy-dnssec \
--enable-dbus = org.freedesktop.NetworkManager.dnsmasq \
--conf-dir = / etc / NetworkManager / dnsmasq.d
/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:
-c, --cache-size=<cachesize>
Set the size of dnsmasq's cache. The default is 150 names.
Setting the cache size to zero disables caching.
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:
- Upstream desde su computadora. Algunos enrutadores caché. Muchas redes corporativas almacenarán en caché DNS. Muchos servidores DNS ejecutados por ISP utilizarán sus propios cachés. La única forma de garantizar un caché de red es usar un caché que pueda actualizar manualmente. Por eso me gusta OpenDNS.
- En la aplicación cliente (especialmente navegadores). Las aplicaciones pueden hacer todo tipo de almacenamiento en caché en el que Ubuntu no tiene ningún efecto. Cómo Firefox almacena en caché DNS . Cómo borrar el caché DNS de Chrome . Otros navegadores (y aplicaciones) pueden tener sus propios mecanismos.
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
, djbdns dnscache
(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:
$ nslookup askubuntu.com
Server: 127.0.1.1
Address: 127.0.1.1#53
Non-authoritative answer:
Name: askubuntu.com
Address: 198.252.206.24
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:
sudo /etc/init.d/nscd reload # nscd
sudo /etc/init.d/named restart # bind9
En una nota ligeramente relacionada, vea esto para habilitar el almacenamiento en cachédnsmasq
.
/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.