İnternet tarama deneyiminiz Linux cihazınızda yavaş mı, yoksa ziyaret ettiğiniz web siteleri modası geçmiş mi yoksa yanlış web sitesi mi? Linux üzerindeki DNS önbelleğini yıkamayı ve gerçekten ihtiyacınız olup olmadığını nasıl bileceğinizi tartışalım.
DNS önbellekleri nedir?
Bilgisayarınız yerel bir DNS önbelleği mi kullanıyor?
DNS önbelleğinizi gözden geçirme
Linux'ta DNS önbelleği nasıl temizlenir
Linux'ta dnsmasq önbelleği nasıl yıkanır
Başarıyla yıkandı
DNS önbellekleri nedir?
. Alan Adı Hizmeti isimleri sayılara dönüştüren sihirdir. Cihaz ağı adlarını ve web sitesi adlarını alır ve IP adreslerini arar. Ağ daha sonra trafiği bu cihazlara veya sitelere doğru şekilde yönlendirmek için IP adresini kullanabilir.
Bu arama, olarak bilinen talepler - anında gerçekleşme . Küçük, sonlu bir süre var. İnternet DNS istekleri, öncü DNS sunucularının sorgulanmasını gerektirebilir, kök adı sunucuları, üst düzey etki alanı sunucuları ve yetkili ad sunucuları. DNS istekleri hızlıdır, ancak onları daha hızlı hale getirmek için, son DNS isteklerinin cevapları DNS öncü sunucularında önbelleğe alınır.
Bir DNS isteğinin cevabı öncü sunucunun önbelleğinde bulunursa, başka sunucularla iletişime geçilmesine gerek yoktur. Cevap, öncü sunucunun önbelleğinden geri gönderilir. Benzer şekilde, geniş bant yönlendiriciniz tarafından evde küçük bir önbellek korunur. Ağ aygıtı adını kullanarak yerel bir ağ cihazı isterseniz, yönlendiriciniz IP adresini sağlar. Ayrıca harici DNS sunucularından aldığı yanıtları önbelleğe alabilir.
Genellikle, ağlar ve Linux bilgisayarlar, İnternet hizmet sağlayıcınız tarafından veya gibi ücretsiz bir hizmet tarafından sağlanan harici DNS hizmetlerini kullanacak şekilde yapılandırılır. Opendns veya Google DNS . Bunun iyi nedenleri var Bazı insanlar kendi DNS sunucusunu çalıştırır , ama çoğumuz bilmiyoruz. Ancak, Linux bilgisayarınız - bir DNS sunucusu çalıştırmasa bile - isteğe bağlı olarak DNS istek sonuçlarını önbelleğe alabilir.
Önbelleğe alınmış verilerin kullanılmasının sorunu, her şey önbelleğe alınmış detayların hiçbirinin önbelleğe alındığı için değişmediği varsayımına dayanmaktadır. Ayrıntılar değiştiyse, aldığınız bilgiler güncel olmayacaktır.
Bir önbellek girişi veya tüm önbellek yozlaşırsa, en iyi ihtimalle lapa performansı ve en kötü ihtimalle güvenlik açıkları alırsınız. İşte o zaman DNS önbelleğini “yıkamak” veya temizlemek isteyeceksiniz.
Bilgisayarınız yerel bir DNS önbelleği mi kullanıyor?
Test bilgisayarlarımızdan bazıları yerel DNS önbellekleri açıldı ve diğerleri kapatıldı. Bizim kapalı Manjaro 21 bilgisayar, ancak varsayılan olarak açıldı Fedora 37 Ve Ubuntu 22.10 .
Linux bilgisayarınızın DNS isteklerini önbelleğe alıp almadığını belirlemek için
aktif
seçeneği
SystemCtl
emretmek. DNS önbelleğini yöneten arka plan programı,
SystemD ile çözülmüş
.
Yanıt “aktif” ise, DNS önbellekleme gerçekleşir. Yanıt “aktif değilse” değil. Bu belirli bilgisayarda aktiftir. Kullanabiliriz
ResolVectl
Önbellekte kaç kayıt olduğunu görmek için istatistik seçeneğiyle komut.
Bu bilgisayarın DNS önbelleğinde 330 giriş olduğunu görebiliriz.
DNS önbelleğinizi gözden geçirme
DNS önbellek girişlerini gözden geçirmek, önbelleğin yıkanması için bir ön koşul değildir ve bunu yapmakla ilgilenmezseniz, Tüm bu adımı atla . Bazen, bilgilendirici olabilir. Yolsuzluğu gösteren çırpılmış girişler görebilirsiniz veya ağınızdaki sorunları ele alan cihazla ilgili hata mesajları görebilirsiniz.
Şimdi, bu girişleri görmenin basit bir yolu yok. Bunu yapabiliriz ama biraz yaratıcı olmalıyız.
USR1
, veya
Kullanıcı tanımlı sinyal bir numaralı
, bir
sinyal
tarafından gönderilebilecek
öldürmek
Ve
hepsini öldür
komutlar. Bu sinyalin önceden tanımlanmış bir anlamı yoktur. Uygulamalar bu sinyali görmezden gelmek veya geliştiricilerin uyguladığı şekilde tepki vermekte serbesttir.
.
SystemD ile çözülmüş
Daemon tepki verir
USR1
Önbelleğini sistem günlüklerine yazarak. Sonra kullanabiliriz
JournalCtl
DNS girişlerini filtreleme komutu.
Kullanacağız
hepsini öldür
komuta etmek
USR1
Sinyali göndermek için
SystemD ile çözülmüş
Daemon. Kullanıyor olsak da
hepsini öldür
komuta,
SystemD ile çözülmüş
Daemon koşmaya devam ediyor. Bu, gönderdiğimiz bir sonlandırma sinyali değildir.
Şimdi kullanacağız
JournalCtl
İle komuta
-U
(tarafından filtre
Systemd
birim) tarafından oluşturulan günlük girişlerini çıkarmak için seçeneği
SystemD ile çözülmüş
. Bu çıktıyı “dns.txt” adlı bir metin dosyalarına yönlendireceğiz.
Kullanacağız
.
az
Dosya Görüntüleyicisi
dosyanın içeriğini görüntülemek için.
Önbelleğe alınmış eşlemeleri etki alanı adları arasında bulabileceksiniz ve IP adresleri Metni kaydırarak ve arayarak.
Google için 216.58.212.196 IP adresi olan bir giriş görebiliriz. IP adresini bir web tarayıcısına koyarak kontrol edebilirsiniz. Google Search'in ana sayfasını görmelisiniz.
Linux'ta DNS önbelleği nasıl temizlenir
Önbelleğin yıkanması tüm girişleri kaldırır ve toplama işlemini bir kez daha başlatır. Eğer varsa, bu önbellekten yanlış ve bozuk girişleri zorla kaldırır.
Komut basit; kullanırız
ResolVectl
ile
sifon
seçenek.
Sessizce komut satırına geri döndük. Bir şeyin gerçekte olduğunu doğrulamak için DNS önbellek istatistiklerini tekrar kontrol edeceğiz.
Önbellek boyutunun sıfıra düştüğünü görebiliriz. Yeni girişler biriktirdiği için zamanla artacaktır.
Linux'ta dnsmasq önbelleği nasıl yıkanır
.
dnsmasq
Uygulama bir DNS önbelleği ve bir DHCP sunucusu sağlar. Özellikle kendi DNS sunucusunu çalıştırmak isteyen kullanıcılar arasında popülerdir.
Systemd olmayan kurulumlar
.
Yıkamak
dnsmasq
DNS önbelleği kolaydır. Göndermemiz gerekiyor
İç çekiş
sinyal,
dnsmasq
Daemon etkili bir şekilde yeniden başlatılacak. Bunu yapmak DNS önbelleğini temizler. Sinyali göndermek için kullandığımız
hepsini öldür
İle komuta
-Hup
bayrak ve uygulamanın adı.
Başarıyla yıkandı
Tabii ki, bilgisayarınız hiç önbelleğe almıyorsa, kontrol etmeniz gereken hiçbir şey yoktur.
DNS isteklerini önbelleğe alıyorsa, ancak her şey yolunda çalışıyorsa, onu da görmezden gelebilirsiniz. Ancak, web'e göz atarken veya yanlış web sayfalarını tamamen görürken yavaş veya sporadik web sayfası güncellemeleri yaşıyorsanız, muhtemelen DNS önbelleğinizi temizlemek için iyi bir zamandır.