nslookup, dig, firefox ignoruje wpisy pliku / etc / hosts


10

Coś jest strasznie nie tak z moją obecną instalacją Debiana. Większość programów, takich jak Firefox, nslookup, dig itp. Ignoruje wpisy w /etc/hostspliku, w rzeczywistości używam tego pliku do blokowania reklam.

przykład

wiersz w /etc/hostspliku

127.0.0.1 www.winaproduct.com

kiedy to robię dig +short www.winaproduct.com, zwraca odpowiedni adres IP serwera, a nie 127.0.0.1.

Otwarty www.winaproduct.comw Firefox, pokazuje odpowiednią stronę internetową, ale nie jest to oczekiwane.

Ale nie ma problemu z ping, busybox nslookup, busybox ping, resolveipitd.

Więc jaki jest problem ? I jak to naprawić? Myślę, że problem dotyczy biblioteki rozstrzygającej DNS.

Tymczasowy fix-up, ustawienia dnsmasqi zmiany nameserverdo 127.0.0.1w /etc/resolv.conf.

aktualizacja

problem magicznie rozwiązany po instalacji libnss3, jako zależność odgoogle-chrome

domyślnie wygląda /etc/nsswitch.conf hosts: files dns

jak powiedzieć nslookup, digitp zapytaj / etc / hosts najpierw plik zamiast pytać bezpośrednio w DNS?

ale dlaczego busybox nslookup, wget, resolveipitd. pracują inaczej niż nslookup, digitd.?


jak wygląda hosts:wpis /etc/nsswitch.conf?
Casey

@ casey wygląda /etc/nsswitch.confhosts: files dns
Arnab

Dodaj te kluczowe informacje w swoim OQ.
dan

To oczywiście nie jest problem z DNS. Proszę spojrzeć na to bardzo podobne pytanie: unix.stackexchange.com/q/158419/31707 .
dan

Odpowiedzi:


16

nslookup, digi hostsą narzędziami do wysyłania zapytań do serwerów nazw DNS.

Jeśli twoja konfiguracja nie jest dostarczana przez serwer nazw (podobnie jak informacje podane w /etc/hosts), narzędzia te nie będą ich wyświetlać, ponieważ bezpośrednio pytają serwer nazw.

Jeśli chcesz sprawdzić, czy działa „zwykła” rozdzielczość (tj. Sposób określony w /etc/nsswitch.conf), możesz użyć getent:

getent hosts www.winaproduct.com

getent hosts www.winaproduct.comdziała idealnie, ale nslookup, dig, hostitd. są jedynie jako przykład, chcę go na firefox .
Arnab

1
Jeśli działa z getentem, powinien również współpracować z Firefox. (Oba używają tego samego mechanizmu rozstrzygania.) Jeśli tak naprawdę nie działa, sprawdź, czy konfiguracja „nietypowa” jest w Firefox. Może ustawiłeś jakieś proxy lub coś takiego.
michas

dzięki za komentarz, nie używam żadnej nietypowej konfiguracji firefoxa, nie, to nie działa z firefoxem (38.0.1).
Arnab

3
Jestem pewien, że to jakiś problem z przeglądarką. Wypróbuj wgetlub inną przeglądarkę, np. Chrome. Jeśli getentdaje oczekiwany wynik, wszystkie powinny.
michas

1
@ Daniel Azuelos, nie ma nic złego w ustawieniach Firefoksa, już używa No Proxy. Więc jak to powiedzieć nslookup, digitp. /etc/hostsNajpierw zapytaj plik zamiast pytać bezpośrednio do DNS? Dziękuję za cenny komentarz.
Arnab

4

Możesz zainstalować DNSmasq, który odczyta twoje wpisy / etc / hosts i zaimportuje je do swojej pamięci podręcznej DNS. Następnie wszystkie narzędzia DNS i aplikacje do wysyłania zapytań DNS, takie jak dig, host i nslookup, otrzymają odpowiedzi pochodzące z pliku / etc / hosts.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.