So löschen Sie den DNS-Cache unter DD-WRT

27

Wie kann ich den DNS-Cache in DD-WRT auf meinem Router löschen?

DD-WRT verwendet den Daemon dnsmasq.

Bobgubko
quelle
Abgesehen von den unten stehenden technisch korrekten Antworten können Sie es
aus- und wieder

Antworten:

21

Laut Flush dnsmasq dns cache :

dnsmasq ist ein einfacher DNS-, TFTP- und DHCP-Server. Es ist vorgesehen, einen gekoppelten DNS- und DHCP-Dienst für ein LAN bereitzustellen. Dnsmasq akzeptiert DNS-Abfragen und beantwortet sie entweder aus einem kleinen lokalen Cache oder leitet sie an einen realen rekursiven DNS-Server weiter. Diese Software ist auch viele billige Router installiert, um DNS-Abfragen zwischenzuspeichern. Starten Sie einfach neu, um den DNS-Cache zu leeren:

# stopservice dnsmasq
# startservice dnsmasq
Justin Ethier
quelle
Auf dd-wrt gibt es kein "sudo". Es gibt weder /etc/init.d auf dd-wrt noch ein Äquivalent.
WhyNotHugo
Hmm ... Der Code war nur ein kurzes Beispiel. Vielleicht sollte ich es löschen. Oder kennen Sie den richtigen Befehl für diese Umgebung?
Justin Ethier
Die andere Antwort ist die einzige mir bekannte Möglichkeit, Dienste auf dd-wrt neu zu starten. Nicht zu sauber, aber ich kenne keinen anderen Weg.
WhyNotHugo
1
Wie wäre es mit stopservice dnsmasqgefolgt von startservice dnsmasq? Siehe barrymorrison.com/tag/dd-wrt
Justin Ethier
Hatte noch nichts davon gehört. Ich habe es auch nach einer kurzen Suche nicht gefunden. Großartige Arbeit :)
WhyNotHugo
18
killall -1 dnsmasq

Senden Sie ein HUP-Signal, um anzugeben, dass der Cache geleert werden soll, und lesen Sie die Konfiguration erneut. Beginnen Sie also mit einem sauberen Slate.

Limon
quelle
1
Ich denke, dass die Verwendung von SIGHUP die sauberste Methode ist, da die Manpage dies bemerkt und dnsmasqden Cache beim Neustart möglicherweise nicht löscht. Obwohl ich es lieber gesagt hätte, # killall -HUP dnsmasqals # killall -1 dnsmasqweil es einfacher ist, sich zu erinnern / zu verstehen.
James Haigh
1
Tatsächlich führt dies nicht dazu, dass die Konfiguration erneut gelesen wird - dieser Teil ist falsch -, aber das ist für die Frage nicht von Bedeutung, da die Konfiguration nicht erneut gelesen werden muss, um den Cache zu leeren.
James Haigh
7

Da DD-WRT keine Init-Skripte enthält, ist dies wahrscheinlich der einfachste Weg, um dnsmasq neu zu starten:

  1. Töte dnsmasq:

    root@ddwrt6:~# killall dnsmasq
    
  2. Starten Sie dnsmasq:

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

Ich habe immer benutzt:

killall -1 dnsmasq

was für mich gut funktioniert hat. Ich verwende einige der neueren Versionen von DD-WRT und

stopservice dnsmasq
startservice dnsmasq

schien auch fehlerfrei zu funktionieren oder brauchte sudo ...

Phil
quelle
1

Starten Sie den dnsmasq-Dienst über die Benutzeroberfläche neu.

Oder von der Kommandozeilenschnittstelle über

/init.d/dnsmasq restart
Sean
quelle