Linux DNS Önbelleği nasıl temizlenir

DNS (Domain Name System) sunucusu, hedef bilgisayarlara veri paketlerinin gönderilmesini mümkün kılmak için alan adlarını IP adreslerine veya tam tersine çevirmek için oluşturulmuştur.Web tarayıcısına her adres girdiğimizde, ekipman, kayıtlı DNS sunucusuna bir sorgu göndermekten, aranan alan adıyla ilişkili IP adresini istemekten sorumludur, bu arama zaman alır ve her erişim işleminde gerçekleştirilirse, DNS sunucusu çok sayıda işleyebilir. sonunda çökmesine neden olabilecek isteklerin sayısı ve bunun sonucu olarak erişim reddedilir.

Bunu önlemek için, bir sonraki erişimde arama işlemini atlamak için söz konusu alanın IP adresini yerel olarak kaydetmekten sorumlu olan DNS önbelleği vardır, ancak bunun yerine bu yerel değeri alarak yeniden yönlendirilir ve böylece sunucuya yükü bırakırız. ve aynı zamanda çok daha hızlı erişiyoruz. Ancak sorun şu ki, çok fazla barındırılan DNS önbelleği tarayıcının kendi performansını etkileyebilir, bu nedenle piyasaya sürülmesi önerilir, bu görevi Linux'ta nasıl yapacağımızı göreceğiz.

1. Linux'ta systemd-resolve kullanarak DNS önbelleğini temizleyin


Ubuntu ve diğer Debian tabanlı dağıtımlar systemd-resolve komutunu kullanır, bu komut systemd'de yerleşik bir DNS arka plan programıdır ve yerel uygulamalara ağ adı çözümlemesi sağlayan bir sistem hizmetidir.

Bu komut, bir önbellek ve doğrulama DNS / DNSSEC saplama çözümleyicisinin yanı sıra bir LLMNR ve MulticastDNS çözümleyicisini uygular. Yerel uygulamalar, üç arabirim aracılığıyla ağ adı çözümleme istekleri gönderebilir:

  • Çözümlenen sistemin tam özellikli yerel API'si veriyolunda gösterilir.
  • RFC3493 tarafından tanımlanan glibc getaddrinfo API'si ve gethostbyname dahil olmak üzere ilgili çözümleme işlevleri.
  • Yerel geri döngü arabiriminde 127.0.0.53 IP adresinde bir yerel saplama DNS dinleyicisi sunulur, oradan yerel API'leri atlayarak doğrudan DNS istekleri oluşturan programlar sistemd çözümlü bağlantıya bağlanmak için bu saplamayı kullanabilir

Aşama 1
Bu komutu kullanmak için önce sistemdeki DNS önbellek istatistiklerini göreceğiz:

 sudo systemd-resolve -istatistikleri 

BÜYÜT

Adım 2
Şimdi, yürüttüğümüz DNS önbelleğini temizlemek için:

 sudo systemd-resolve --flush-cachres 

BÜYÜT

Aşama 3
Gördüğümüz gibi istatistikleri tekrar çalıştırdığımızda DNS önbelleği temizlenmiş oluyor. Bu en yaygın yöntemdir. Farklı dağıtımlar için kullanılacak diğer seçenekler şunlardır:

RedHat veya ArchLinux kullanılması durumunda

 sudo systemctl nscd'yi yeniden başlat 

2. DNS önbelleğini dnsmasq kullanarak veya Linux'ta adlandırarak temizleyin


Ardından, önbelleği temizleyebilmek için iki seçenek daha göreceğiz.

Dnsmasq ile DNS önbelleğini temizleDnsmasq, yerel DNS sunucularında veya yönlendiricilerde sıklıkla kullanılır, bu komutla DNS önbelleğini temizlemek için yürütmemiz gerekir:

 sudo systemctl dnsmasq'ı yeniden başlat 

BIND ile DNS önbelleğini temizleBu BIND komutu, belirli görevler için özel olarak tasarlanmış DNS sunucuları ve oradaki DNS önbelleğini temizlemek için kullanılır:

 sudo systemctl yeniden başlatma adlı 

Bu kadar basit, Linux DNS önbelleğini temizledik, böylece terminal aracılığıyla ekipmanımızın performansını iyileştirdik.

wave wave wave wave wave