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.


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

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.


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 
    

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 ...


1

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

Oder von der Kommandozeilenschnittstelle über

/init.d/dnsmasq restart
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.