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.

bobgubko
fuente
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
Justin Ethier
fuente
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.

limon
fuente
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 
    
ron
fuente
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 ...

Phil
fuente
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
sean
fuente