nslookup, dig, firefox ignoring / etc / hosts dosya girişleri


10

Mevcut Debian kurulumumda çok yanlış bir şey var. Firefox, nslookup, dig vb gibi çoğu program /etc/hostsdosyadaki girişleri yok sayıyor , aslında bu dosyayı Reklam engelleme için kullanıyorum.

Bir örnek

/etc/hostsdosyadaki bir satır

127.0.0.1 www.winaproduct.com

yaptığım zaman dig +short www.winaproduct.comsunucunun ilgili IP adresini döndürür 127.0.0.1.

www.winaproduct.comFirefox'ta açık , ilgili web sitesini gösterir, ancak bu beklenmez.

Ama hiçbir sorun yoktur ping, busybox nslookup, busybox ping, resolveipvb

Peki sorun nedir? Ve nasıl düzeltebilirim? Bence sorun DNS çözümleme kütüphanesinde.

Geçici bir düzeltme-up, kurulum dnsmasqve değişim nameserveriçin 127.0.0.1de /etc/resolv.conf.

Güncelleme

sorun libnss3, yüklendikten sonra sihirli bir şekilde çözüldü ,google-chrome

default /etc/nsswitch.conf şöyle görünür hosts: files dns

nasıl söylenir nslookup, digvb doğrudan DNS sormak yerine önce / etc / hosts dosyasını sormak?

ama neden busybox nslookup, wget, resolveipvb farklı çalışıyoruz nslookup, digvb?


yapar hosts:giriş /etc/nsswitch.confgibi bakmak?
Casey

@ casey, /etc/nsswitch.conf benziyorhosts: files dns
Arnab

Lütfen bu anahtar bilgileri OQ'nuza ekleyin.
dan

Bu açıkça bir DNS sorunu değildir. Lütfen bu çok benzer soruya bakın: unix.stackexchange.com/q/158419/31707 .
dan

Yanıtlar:


16

nslookup,, digve hostDNS ad sunucularını sorgulamak için kullanılan araçlardır.

Yapılandırmanız bir ad sunucusu tarafından sağlanmamışsa (verilen bilgiler gibi /etc/hosts) bu araçlar onları göstermez, çünkü doğrudan ad sunucusuna sorarlar.

"Normal" çözünürlüğün çalışıp çalışmadığını (yani belirtilen şekilde /etc/nsswitch.conf) kontrol etmek istiyorsanız şunları kullanabilirsiniz getent:

getent hosts www.winaproduct.com

getent hosts www.winaproduct.commükemmel çalışıyor, ancak nslookup, dig, hostvb sadece örnek olarak, ben bunu istiyorum edilmektedir firefox .
Arnab

1
Getent ile çalışıyorsa, firefox ile de çalışmalıdır. (Her ikisi de aynı çözüm mekanizmasını kullanır.) Gerçekten işe yaramazsa firefox'ta "olağandışı" yapılandırma olup olmadığını kontrol edin. Belki bir tür vekil sunucu falan ayarladınız.
michas

Yorum için teşekkürler, olağandışı bir firefox yapılandırması kullanmıyorum, hayır firefox (38.0.1) ile çalışmıyor.
Arnab

3
Bazı tarayıcı sorunu olduğundan eminim. Deneyin wgetveya chrome gibi başka bir tarayıcı. Eğer getenthepsi gerektiği beklenen sonucu verir.
michas

1
@daniel Azuelos, firefox ayarlarında yanlış bir şey yok, zaten kullanıyor No Proxy. Öyleyse nslookup, doğrudan DNS'ye digsormak /etc/hostsyerine önce dosya nasıl söylenir , vb . Değerli yorumunuz için teşekkür ederim.
Arnab

4

/ Etc / hosts girişlerinizi okuyacak ve bunları DNS önbelleğine aktaracak DNSmasq'i yükleyebilirsiniz. Ardından, tüm DNS araçlarınız ve dig, host ve nslookup gibi DNS sorgulama uygulamaları / etc / hosts dosyasından gelen yanıtları alır.

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.