DD-WRT'deki DNS önbelleği nasıl temizlenir


27

DNS önbelleğini yönlendiricimdeki DD-WRT'de nasıl temizleyebilirim?

DD-WRT, dnsmasq daemon'unu kullanır.


Aşağıdaki teknik olarak doğru cevapların yanı sıra, gücü kapatıp açabilirsiniz ...
Hayden Thring

Yanıtlar:


21

Göre Flush dnsmasq dns cache :

dnsmasq hafif bir DNS, TFTP ve DHCP sunucusudur. LAN'a birleştirilmiş DNS ve DHCP hizmeti sağlamak için tasarlanmıştır. Dnsmasq, DNS sorgularını kabul eder ve bunları küçük, yerel, önbellekten yanıtlar veya gerçek, özyinelemeli bir DNS sunucusuna iletir. Bu yazılım aynı zamanda dns sorgularını önbelleğe almak için birçok ucuz yönlendirici kuruludur. Dns önbelleğini temizlemek için yeniden başlatmanız yeterlidir:

# stopservice dnsmasq
# startservice dnsmasq

Dd-wrt'de "sudo" yok. Dd-wrt üzerinde /etc/init.d, ne de eşdeğeri yoktur.
WhyNotHugo

Hmm ... Kod sadece hızlı bir örnekti. Belki de silmeliyim. Alternatif olarak bu env için doğru komutu biliyor musunuz?
Justin Ethier

Diğer cevap, dd-wrt'deki hizmetleri yeniden başlatmak için bildiğim tek yol. Çok temiz değil, ama başka bir yol bilmiyorum.
WhyNotHugo

1
Peki ya stopservice dnsmasqardından startservice dnsmasq? Bkz barrymorrison.com/tag/dd-wrt
Justin ethier

Bunu duymamıştım. Hızlı bir google’dan sonra da bulamadınız mı? Büyük iş :)
WhyNotHugo

18
killall -1 dnsmasq

Önbelleği temizlediğini ve yapılandırmasını yeniden okuduğunu, böylece temiz bir sayfa ile başladığını söylemesi için HUP sinyali gönder.


1
Ben SIGHUP kullanarak en temiz yöntem olduğunu düşünüyorum çünkü manpage onu not eder ve dnsmasqyeniden başlatma sırasında önbelleği temizlemeyebilir. Düşündüğümden # killall -HUP dnsmasqziyade koydum # killall -1 dnsmasq, hatırlaması / anlaması kolaydır.
James Haigh

1
Aslında konfigürasyonunu yeniden okumasına neden olmaz - bu kısım yanlış - ama bunun önemi yoktur çünkü konfigürasyonun önbelleği temizlemek için tekrar okunması gerekmez.
James Haigh,

7

DD-WRT'de init betiği olmadığından, dnsmasq'ı yeniden başlatmanın en kolay yolu olacağını tahmin ediyorum:

  1. Dnsmasq'ı öldür:

    root@ddwrt6:~# killall dnsmasq
    
  2. Dnsmasq'ı başlat:

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

3

Her zaman kullandım:

killall -1 dnsmasq

Bu benim için iyi çalıştı. DD-WRT'nin yeni sürümlerinden bazılarını kullanıyorum ve

stopservice dnsmasq
startservice dnsmasq

Ayrıca hatasız veya sudo gerekmeden çalışmak gibiydi ...


1

Dnsmasq hizmetini kullanıcı arayüzünden yeniden başlatın.

Veya komut satırı arayüzünden

/init.d/dnsmasq restart
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.