Cómo borrar el caché DNS en DD-WRT


27

¿Cómo puedo borrar el caché DNS en DD-WRT en mi enrutador?

DD-WRT usa el demonio dnsmasq.


Además de las respuestas técnicamente correctas a continuación, podría reiniciarlo ...
Hayden Thring

Respuestas:


21

Según Flush dnsmasq dns cache :

dnsmasq es un servidor ligero de DNS, TFTP y DHCP. Su objetivo es proporcionar un servicio de DNS y DHCP acoplado a una LAN. Dnsmasq acepta consultas DNS y las responde desde un pequeño caché local o las reenvía a un servidor DNS real y recursivo. Este software también tiene instalados muchos enrutadores baratos para almacenar en caché las consultas DNS Simplemente reinicie para vaciar el caché dns:

# stopservice dnsmasq
# startservice dnsmasq

No hay "sudo" en dd-wrt. No hay /etc/init.d en dd-wrt, ni ningún equivalente.
WhyNotHugo

Hmm ... El código fue solo un ejemplo rápido. Tal vez debería eliminarlo. Alternativamente, ¿conoce el comando correcto para este entorno?
Justin Ethier

La otra respuesta tiene la única forma que conozco para reiniciar los servicios en dd-wrt. No muy limpio, pero no sé de otra manera.
WhyNotHugo

1
¿Qué tal stopservice dnsmasqseguido por startservice dnsmasq? Ver barrymorrison.com/tag/dd-wrt
Justin Ethier

No había oído hablar de eso. Tampoco lo encontré después de un rápido google. Gran trabajo :)
WhyNotHugo

18
killall -1 dnsmasq

Envíe la señal HUP para decirle que vacíe el caché y vuelva a leer su configuración, comenzando así con una pizarra limpia.


1
Creo que usar SIGHUP es el método más limpio porque la página de manual lo anota y dnsmasqpuede que no borre la memoria caché al reiniciar. Aunque lo hubiera puesto en # killall -HUP dnsmasqlugar de # killall -1 dnsmasqporque es más fácil de recordar / entender.
James Haigh

1
En realidad sí no causa que vuelva a leer su configuración - esa parte es incorrecto - pero eso no tiene importancia para la cuestión porque la configuración no es necesario volver a leer para borrar la caché.
James Haigh

7

Como no hay scripts de inicio en DD-WRT, creo que esta sería la forma más fácil de reiniciar dnsmasq:

  1. Mata a dnsmasq:

    root@ddwrt6:~# killall dnsmasq
    
  2. Inicie dnsmasq:

    root@ddwrt6:~# dnsmasq --conf-file=/tmp/dnsmasq.conf 
    

3

Siempre he usado:

killall -1 dnsmasq

que me ha funcionado bien Estoy ejecutando algunas de las versiones más nuevas de DD-WRT y

stopservice dnsmasq
startservice dnsmasq

También parecía funcionar sin error o necesitando sudo ...


1

Reinicie el servicio dnsmasq, ya sea desde la interfaz de usuario.

O desde la interfaz de línea de comando a través de

/init.d/dnsmasq restart
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.