Jak wyczyścić pamięć podręczną DNS w DD-WRT


Odpowiedzi:


21

Według pamięci podręcznej dnsmasq dns Flush :

dnsmasq to lekki serwer DNS, TFTP i DHCP. Ma on na celu dostarczanie połączonej usługi DNS i DHCP do sieci LAN. Dnsmasq przyjmuje zapytania DNS i albo odpowiada na nie z małej lokalnej pamięci podręcznej, albo przesyła je do prawdziwego, rekurencyjnego serwera DNS. To oprogramowanie jest również zainstalowane wiele tanich routerów do buforowania zapytań dns. Po prostu uruchom ponownie, aby opróżnić pamięć podręczną DNS:

# stopservice dnsmasq
# startservice dnsmasq

Na dd-wrt nie ma „sudo”. Na dd-wrt nie ma /etc/init.d, ani żadnego równoważnego.
WhyNotHugo

Hmm ... Kod był tylko krótkim przykładem. Może powinienem to usunąć. Alternatywnie czy znasz poprawne polecenie dla tej env?
Justin Ethier

Druga odpowiedź to jedyny znany mi sposób na ponowne uruchomienie usług na dd-wrt. Niezbyt czyste, ale nie znam innej drogi.
WhyNotHugo

1
Co powiesz na to, stopservice dnsmasqpo czym startservice dnsmasq? Zobacz barrymorrison.com/tag/dd-wrt
Justin Ethier,

Nie słyszałem o tym. Nie znalazłem go również po szybkim google. Świetna robota :)
WhyNotHugo

18
killall -1 dnsmasq

Wyślij sygnał HUP, aby poinformował go, że opróżnia pamięć podręczną i ponownie zapoznał się z konfiguracją, rozpoczynając od nowa z czystym kontem.


1
Myślę, że użycie SIGHUP jest najczystszą metodą, ponieważ strona podręczna odnotowuje to i dnsmasqmoże nie wyczyścić pamięci podręcznej przy ponownym uruchomieniu. Chociaż # killall -HUP dnsmasqraczej bym to powiedział , # killall -1 dnsmasqponieważ łatwiej jest zapamiętać / zrozumieć.
James Haigh,

1
W rzeczywistości nie powoduje to ponownego odczytu konfiguracji - ta część jest niepoprawna - ale to nie ma znaczenia dla pytania, ponieważ konfiguracja nie musi być ponownie czytana, aby wyczyścić pamięć podręczną.
James Haigh,

7

Ponieważ na DD-WRT nie ma skryptów inicjujących, wydaje mi się, że byłby to najłatwiejszy sposób na ponowne uruchomienie dnsmasq:

  1. Zabij dnsmasq:

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

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

3

Zawsze używałem:

killall -1 dnsmasq

co zadziałało dla mnie dobrze. Korzystam z niektórych nowszych wersji DD-WRT i

stopservice dnsmasq
startservice dnsmasq

również wydawało się działać bezbłędnie lub potrzebując sudo ...


1

Uruchom ponownie usługę dnsmasq z poziomu interfejsu użytkownika.

Lub z interfejsu wiersza poleceń za pośrednictwem

/init.d/dnsmasq restart
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.