Neden nslookup sonucu her zaman 127.0.0.1 sunucusundan geliyor?


11

Ben nslookup her zaman Sunucu 127.0.0.1 sonucu almak oldukça karışık buluyorum

Ubuntu, dnsmasq tarafından yerel bir DNS önbelleği kullandığı için mi? Ama kapattım ve dns önbelleğimi temizledim, daha sonra hiç ziyaret etmediğim bir ana bilgisayarı göremedim, o zaman çıktı hala 127.0.0.1.

Bu beni oldukça şaşırttı. Bunu benim için kimse açıklayabilir mi? Bu arada, DNS sunucum 8.8.8.8 olarak ayarlandı.

Yanıtlar:


11

Varsayılan olarak Ubuntu DNS girişlerini Dnsmasq ile önbelleğe alır. DNS girişi önbelleğinde olmadığında Dnsmasq arama yapar, bu nedenle ad sunucusunu belirtmeden DNS araması yaparken her zaman localhost( 127.0.0.1) IP adresini görürsünüz .

In man aşağıdaki gibi anlatılmış:

Dnsmasq DNS sorgularını kabul eder ve bunları küçük, yerel, önbellekten yanıtlar veya gerçek, özyinelemeli bir DNS sunucusuna iletir. / Etc / hosts içeriğini yükler, böylece genel DNS'de görünmeyen yerel ana bilgisayar adları çözümlenebilir ve ayrıca DHCP yapılandırılmış ana bilgisayarlar için DNS sorgularını yanıtlar.

Bu davranış düzenleyerek geçersiz kılınan olabilir /etc/NetworkManager/NetworkManager.confve değişen dns=dnsmasqiçin #dns=dnsmasq(şebeke yöneticisi hizmetini yeniden başlatmanız gerekir, bundan sonra, sudo service network-manager restart).

Daha fazla bilgi bulunabilir topluluk belgelerinde ve manpage .


1
Yanıt için teşekkürler. DNS girişi önbellekte olmadığında Dnsmasq araması yaptığını fark etmedim. Çok teşekkürler!
47dev47null

zaten dns=dnsmasqçizgi yoksa ne yapmalı ?
Douglas Gaskell

@ DouglasGaskell: bu cevap eski: Ben Ubuntu systemd-resolved17.04 sürümünde geçti inanıyorum . Bakınız: askubuntu.com/questions/907246/…
Silke

2

kontrol eğer

cat /etc/NetworkManager/NetworkManager.conf

[ana]

eklentileri = ifupdown, keyfile

DNS = dnsmasq

[İfupdown]

yönetilen = false

karma (#) dışarı dns = dnsmasq

dosyayı kaydedin ve ağı yeniden başlatın.

Yerel bir çözümleyici istemiyorsanız, aşağıdaki yordamı kullanarak DNSMASQ'yu kapatabilirsiniz

/Etc/NetworkManager/NetworkManager.conf dosyasını düzenlemeniz gerekir

gksudo gedit /etc/NetworkManager/NetworkManager.conf

ve aşağıdaki satırı

dns=dnsmasq

için

#dns=dnsmasq

Dosyayı kaydedip çıkın

Şimdi aşağıdaki komutu kullanarak ağ yöneticisine ihtiyacınız var

sudo restart network-manager

Ref: http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

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.