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.