Yerel DNS önbelleğini temizlemek, HTTP hatalarını çözebilir ve sizi DNS sahtekarlığından koruyabilir. İşte bunu Linux'ta nasıl yapabileceğiniz.

Kendi alan adını kullanarak bir web sitesine eriştiğinizde, sisteminiz o alan adının IP adresini almak için bir DNS sunucusuna bir istek gönderir. Bu etki alanı-IP adresi çifti, daha sonra kullanmak üzere DNS önbelleğine kaydedilir, böylece her bağlantı kurmak için DNS sunucusuna istek göndermeniz gerekmez.

Ancak bazen, yerel DNS önbelleği bozulur ve HTTP hatalarına neden olur. Neyse ki, bir Linux bilgisayarda DNS önbelleğini temizlemek ve yeniden oluşturmak basittir. İşte nasıl yapılacağı.

Neden Linux'ta DNS Önbelleğini Temizle?

Sisteminizde depolanan DNS önbelleğini yeniden oluşturmak istemenizin birkaç nedeni vardır. Belki bir web sitesi için eski bir DNS kaydınız var ve onu DNS sunucusundan yeniden getirmek istiyorsunuz. Veya belki de sisteminizin güvenliği ihlal edilmiştir ve siz de DNS önbelleğinin kurcalanmadığından emin olmak istiyorsunuz. DNS sahtekarlığı olarak bilinen.

instagram viewer

DNS önbelleğinizi boşalttığınızda, sistemin DNS sunucusuna tekrar ping atması ve yeni etki alanı-IP adresi kaydını alması ve süreçteki eski veya güvenliği ihlal edilmiş verileri kaldırması gerekir.

Linux'ta Yerel DNS Önbelleğini Görüntüleme

Systemd'den önce, dnsmasq veya nscd gibi bir program manuel olarak kurulmadıkça, çoğu Linux dağıtımında sistem çapında DNS önbelleği yoktu. systemd, alan adlarını IP adreslerine çözümleyen ve DNS girişlerini önbelleğe alan bir hizmet olan systemd-resolved ile birlikte gelir.

Aşağıdaki bölümler, systemd-resolved, nscd ve dnsmasq tarafından oluşturulan DNS önbellek içeriklerini nasıl görüntüleyeceğiniz konusunda size yol gösterecektir, böylece temizlemeye karar vermeden önce önbelleğe alınmış verileri anlayabilirsiniz.

Systemd-çözülmüş için DNS Önbelleğini Görüntüle

Sistem tarafından çözümlenen önbellek kayıtlarını görüntülemek için önce hizmeti geçici olarak kapatmanız, ardından günlüklerini bir dosyaya aktarmanız gerekir.

Systemd-resolved hizmetini sonlandırmak için bir SIGUSR1 sinyali göndererek başlayın:

sudo killall -USR1 systemd-çözümlendi

Kullanmak journalctl komutu ve çıktıyı bir metin dosyasına kaydetmek için standart çıktı operatörü:

sudo journalctl -u systemd-çözülmüş > ~/cache.txt

Ardından, Vim gibi bir metin düzenleyici kullanarak dosyanın içeriğini görüntüleyebilirsiniz:

vim ~/cache.txt

Dosyada, tuşuna basarak "CACHE:" ifadesini arayın. Kaçmak, yazıyor "/CACHE:"ve vurmak Girmek. altında listelenen tüm DNS kayıtları ÖNBELLEK: yerel DNS önbelleğinin bir parçasıdır. Basmak N Vim kullanıyorsanız sonraki DNS girdileri grubuna atlamak için.

Nscd için Yerel DNS Önbelleğini Görüntüleyin

nscd tarafından oluşturulan yerel önbelleği görüntülemek için, strings komutunu kullanarak nscd hosts veritabanının içeriğini okumanız gerekir.

Debian ve Ubuntu tabanlı dağıtımlarda bu dosya şu adreste bulunur: /var/cache/nscd/hosts. Dosyayı görüntülemek için aşağıdaki komutu çalıştırın:

sudo dizeleri /var/cache/nscd/hosts | benzersiz

nscd DNS önbelleği hakkında genel istatistikleri görüntülemek için, -G bayrak:

sudo nscd -g

dnsmasq Tarafından Oluşturulan DNS Önbelleğini Görüntüle

dnsmasq, DNS önbelleğini bellekte saklar, bu nedenle kesin kayıtları almak kolay değildir. Ancak dnsmasq'a bir öldürme sinyali gönderebilir ve işlenen DNS sorgularının sayısını almak için çıktısını günlüğe kaydedebilirsiniz.

Bunu yapmak için önce dnsmasq'ın çalışır durumda olduğundan emin olun. systemctl komutunu kullanarak:

sudo systemctl durumu dnsmasq

Durum gösteriyorsa Aktif, hizmeti sonlandırmak için aşağıdaki komutu çalıştırın:

sudo pkill -USR1 dnsmasq

Journalctl komutunu kullanarak dnsmasq günlüklerini çıkarın ve bunları bir metin dosyasına kaydedin:

sudo journalctl -u dnsmasq > ~/cache.txt

Son olarak, dosyanın içeriğini görüntüleyin bir dosya görüntüleme yardımcı programı kullanarak kedi gibi veya daha az:

kedi ~/cache.txt

Linux'ta DNS Önbelleği Nasıl Temizlenir

DNS önbelleğinin temizlenmesi, önbelleğe alınmış DNS kayıtlarının bilgisayarınızdan kaldırılması anlamına gelir. Bu, onu yeni DNS girişlerini almak için DNS sunucusuna bir istek göndermeye zorlar.

Linux'ta DNS önbelleğini şu şekilde temizleyebilirsiniz:

systemd-resolved'i kullanma

systemd-resolved tarafından saklanan DNS önbelleğini temizlemek için resolectctl komutunu kullanabilirsiniz:

sudo solutionctl yıkama önbellekleri

Ubuntu 17.04 veya 18.04 çalıştırıyorsanız, önbelleği temizlemek için systemd-resolved komutunu kullanın:

sudo systemd-resolved --flush-caches

Linux'ta nscd DNS Önbelleğini Temizle

nscd için DNS önbelleğini kaldırmanın en uygun yolu, hizmeti yeniden başlatmaktır. Bunu çalıştırarak yapabilirsiniz:

sudo /etc/init.d/nscd yeniden başlat

Bu işe yaramazsa, önce PC'nizde depolanan yerel önbelleğin kalıcı olup olmadığını kontrol edin. kullanabilirsiniz -G doğrulamak için işaretle:

sudo nscd -g

Durum buysa, -Ben kayıtları temizlemek için nscd komutuyla işaretleyin (Ben anlamına gelir geçersiz kılmak):

sudo nscd -i ana bilgisayarlar

dnsmasq DNS Önbelleğini Kaldır

dnsmasq tarafından oluşturulan DNS önbelleğini temizlemek basittir. Önbellek bellekte saklandığından, hizmetin yeniden başlatılması depolanan tüm girişleri siler.

Dnsmasq'ı yeniden başlatmak için aşağıdaki systemctl komutunu çalıştırın:

sudo systemctl dnsmasq'ı yeniden başlat

Veya aşağıdaki komutu verin:

hizmet dnsmasq yeniden başlatma

İstenirse yönetici parolasını girin. dnsmasq şimdi yeniden başlayacak ve mevcut tüm DNS girişleriniz önbellekten kaldırılacaktır.

DNS önbelleğini temizledikten sonra, yerel önbellek girişlerini görüntülemek ve verilerin başarıyla kaldırılıp kaldırılmadığını doğrulamak en iyisidir. dig kullanabilirsiniz. birçok ağ sorunlarını giderme Linux komutu, ve çıktıdaki Sorgu süresi değerini kontrol edin. 0 msn'den fazlaysa, önbellek başarıyla temizlenmiştir (0 msn, etki alanı kaydının hala önbellekte olduğu anlamına gelir).

google.com'u araştır

Google Chrome'un DNS Önbelleğini Temizle

Sık kullandığınız web tarayıcısı da DNS kayıtlarını önbelleğe alır. Bir URL girdiğinizde, sistem yerel tarayıcı önbelleğinde bir önbellek girişi arar. Bulunmazsa, yerel sistem önbelleğindeki kayıtları kontrol eder. Sistem genelindeki önbellekten daha yüksek önceliğe sahip olduğundan, web tarayıcınızın DNS önbelleğini temizlemeniz çok önemlidir.

Gösterim için, Google Chrome'daki DNS önbelleğini temizleyelim. Bunu diğer tarayıcılarda da yapmanın yolları vardır, bu nedenle, kullandığınız tarayıcı için bunu nasıl yapacağınızı Google'da aramanız en iyisidir.

Başlamak için " yazınchrome://net-internals/#dns" URL çubuğunda ve basın Girmek:

Tıklamak Ana bilgisayar önbelleğini temizle Google Chrome'da depolanan DNS girişlerini temizlemek için.

Linux, Ağ Kurmayı Öğrenmek İçin En İyi İşletim Sistemidir

Linux ilk başta karmaşık görünebilir, ancak nasıl çalıştığını öğrenmek için biraz zaman ayırırsanız, onun harika olduğunu ve belki de Windows veya macOS'tan bile daha iyi olduğunu hemen anlayacaksınız.

Çoğu çevrimiçi sunucu Linux çalıştırır ve ağ kurmayı öğrenmek veya genel olarak bilgisayarların nasıl çalıştığını bilmek istiyorsanız Linux'un ideal olmasının nedenlerinden biri de budur.