Come cancellare la cache DNS su DD-WRT


27

Come posso cancellare la cache DNS in DD-WRT sul mio router?

DD-WRT usa il demone dnsmasq.


Oltre alle risposte tecnicamente corrette di seguito, potresti accenderlo e riaccenderlo ...
Hayden Thring il

Risposte:


21

Secondo Flush dnsmasq dns cache :

dnsmasq è un server DNS, TFTP e DHCP leggero. È destinato a fornire un servizio DNS e DHCP accoppiato a una LAN. Dnsmasq accetta query DNS e le risponde da un piccolo cache locale o le inoltra a un server DNS reale, ricorsivo. Questo software ha anche installato molti router economici per memorizzare nella cache le query DNS. Basta riavviare per svuotare la cache DNS:

# stopservice dnsmasq
# startservice dnsmasq

Non c'è "sudo" su dd-wrt. Non c'è /etc/init.d su dd-wrt, né alcun equivalente.
WhyNotHugo,

Hmm ... Il codice era solo un rapido esempio. Forse dovrei eliminarlo. In alternativa, conosci il comando corretto per questo ambiente?
Justin Ethier,

L'altra risposta ha l'unico modo che conosco per riavviare i servizi su dd-wrt. Non troppo pulito, ma non conosco nessun altro modo.
WhyNotHugo,

1
Che ne dici di stopservice dnsmasqseguito da startservice dnsmasq? Vedi barrymorrison.com/tag/dd-wrt
Justin Ethier

Non ne avevo sentito parlare. Non l'ho trovato neanche dopo un veloce google. Ottimo lavoro :)
WhyNotHugo

18
killall -1 dnsmasq

Invia il segnale HUP per dirgli svuotare la cache e rileggere la sua configurazione, ricominciando così da una tabula rasa.


1
Penso che usare SIGHUP sia il metodo più pulito perché la manpage lo nota e dnsmasqpotrebbe non cancellare la cache al riavvio. Anche se avrei messo # killall -HUP dnsmasqpiuttosto che # killall -1 dnsmasqperché è più facile da ricordare / capire.
James Haigh,

1
In realtà essa non indurlo a rileggere la sua configurazione - che una parte non è corretto - ma questo non ha importanza per la questione perché la configurazione non ha bisogno di essere riletta per cancellare la cache.
James Haigh,

7

Dal momento che non ci sono script init su DD-WRT, suppongo che questo sarebbe il modo più semplice per riavviare dnsmasq:

  1. Kill dnsmasq:

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

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

3

Ho sempre usato:

killall -1 dnsmasq

che ha funzionato bene per me. Sto eseguendo alcune delle versioni più recenti di DD-WRT e

stopservice dnsmasq
startservice dnsmasq

inoltre sembrava funzionare senza errori o senza bisogno di sudo ...


1

Riavviare il servizio dnsmasq, dall'interfaccia utente.

O dall'interfaccia della riga di comando tramite

/init.d/dnsmasq restart
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.