Ubuntu'da DNS önbelleği nasıl temizlenir?


45

Ubuntu 9.10’umda DNS çözme ile ilgili sorunlar yaşıyorum.
ISS'ye şikayette bulunmadan önce, yaptığımız gibi, yerel DNS önbelleğimi yenilemek istiyorum ipconfig /flushdns.

Ubuntu'da bunu nasıl yapabilirim?

Yanıtlar:


54

Øhh, ubuntu DNS'yi varsayılan başına önbelleğe almaz . Yani akacak bir şey yok! (ama belki SOHO yönlendiriciniz yapar). Nscd'nin yüklenmesi ubuntu önbellek DNS'ini sağlayacaktır, bunun ardından önbelleğinizi temizleyebilirsiniz - ancak bu, henüz kurulu olmayan bir durumdur!


3
Meraktan 14.04 yaşıyorum ve çalışan nslookupbana yanıtın sunucudan geldiğini söyledi 127.0.0.1. Ancak - bildiğim kadarıyla - yüklü DNS önbellek yüklemem yok (ne nscdde dnsmasq). Kubuntu'dayım ... bu bir KDE Network Manager olayı olabilir mi?
exhuma

@exhuma burada 14.04 tarihinde ubuntu'da aynı, yani bir kubuntu olayı değil.
LJ_1102

2
@ LJ_1102 @ exhuma Ubuntu'nun ağ yöneticisi olurdu, yerel bir DNS sunucusu olarak dinler, ancak tüm istekleri tanımlanmış olanlara iletir. Yan etki olarak (veya tasarım gereği), bu işlem anında DNS sunucularını arabirimden kök izinlerine gerek duymadan değiştirebilmenizi sağlar. Bu soruya bakınız: unix.stackexchange.com/questions/59414/…
Raghd Hamzeh 15:14

19

Ubuntu 12.04 daha sonra yerel bir önbellek için dnsmasq kullanır. Bir SIGHUP (sudo killall -HUP dnsmasq) göndermek önbelleği yeniden okuyacaktır.

NOTLAR
Bir SIGHUP aldığında, dnsmasq önbelleğini temizler ve / etc / hosts ve / etc / ethers komutlarını ve --dhcp hosts hosts dosyası, --dhcp-optsfile veya --addn-hosts dosyası tarafından verilen herhangi bir dosyayı yeniden yükler. DHCP kiralama değişikliği komut dosyası, mevcut tüm DHCP kiralamalarına çağrılır. --No-poll ayarlanırsa SIGHUP, /etc/resolv.conf dosyasını da yeniden okur. SIGHUP yapılandırma dosyasını yeniden okumaz.


bu makul görünüyor. bununla birlikte, bunu test etmek ve diğerinin yerine kabul edilmiş olarak işaretlemek için (/ etc / hosts ve Opera’daki yeni sitelerle ilgili) alıştığım sorunlardan bir başkasını bulmalıyım: P
igorsantos07

Bu iyi. Aslında kendi önbelleğe alınmış dns girişimi silmek için bu araştırmaya rastladım. Çözümü bulduktan sonra, bulgularımı buraya eklemem gerektiğini hissettim. Ubuntu'nun dnsmasq'ı hangi sürümde kullanmaya başladığını bilmiyorum.
12'de

1
Bu işe yarıyor ve gerçekten cevap olarak işaretlenmeli!
HDave

1
Azınlık düzenlemeler yasaklanmış ve hoş karşılanmaz olmasaydı, ben “SIGUP” düzeltmek istiyorum SIGHUP .
James Haigh

@Igoru: digÖnbelleğin gerçekten temizlenip temizlenmediğini test etmek için kullanabilirsiniz . dig @192.168.0.3 nixos.orgBirkaç kez denediğim OpenWrt yönlendiricilerimden birinin önbelleğini temizlemek istedim (var olan herhangi bir etki alanı olacaktır). Önbellekte saklanırken, genellikle 1ms'lik bir sorgu süresi olur , ancak killall -HUP dnsmasqyönlendiriciye (root olarak) yayınladığım her süreden sonra, her temizleme işleminden sonra yaklaşık 27ms'lik bir değer alırım.
James Haigh

13

Takip etmeyi dene:

sudo /etc/init.d/dns-clean start

Benim için çalışıyor.


1
Sanırım bu cevaptan bu yana işler değişti, çünkü 14.04'te artık işe yaramayacak gibi görünüyor. Hey ubuntu, bunun için belirli ad çözümleme sistemleri ve işletim sistemi sürümleri (ve belki işletim sistemi dağıtımları ...) ile bağlantılı olmayan bir arayüz olsaydı iyi olurdu.
Croad Langshan

15.04'te çalışıyor mu
Milan Simek 10:15

Ubuntu'da çalıştı 14.04.5. Bu script pppconfig paketi tarafından sağlanmıştır. Dağıtımda varsayılan olarak bulunmadığını düşünüyorum.
ssoto

1

DNS’i değiştirdiğim bir sitede bu sorunu daha yeni yaşadım ve bu sayfayı bulduğum bir çözüm için googling kullandım.

Tecrübelerime göre Firefox bazen kendi DNS önbelleğini tutar ve zamanla temizlemez. Bu nedenle, Firefox'ta bir siteyi görüntülüyorsanız ve eski siteyi görmeye devam ederseniz, Chrome'u denemek sorunu çözebilir. Bu işe yararsa, Firefox'ta önbelleği temizleyebilirsiniz. Bu Ubuntu'da oldu, bunun Windows'da mı yoksa OSX'de mi olduğunu bilmiyorum.

Nscd yüklü değil. Ancak terminalde yeni DNS'nin birkaç dakika sonra bulunduğunu fark ettim, bu yüzden problem kendiliğinden çözüldü.


1

Sorunuzun içeriğine bağlı olarak, web tarayıcınızın önbelleğini de temizlemeniz gerekebilir.

Firefox'ta bu işlem şöyle yapılır: tercihler -> gizlilik -> son geçmişini temizle [orada "önbellek" onay kutusunu tıkla

Chrome'da: chrome: // net-internals / # dns adresine gidin ve "Ana bilgisayar önbelleğini temizle" düğmesine basın. ( başka bir cevaba bakınız )

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.