nslookup, dig, Firefox ignoriert / etc / hosts-Dateieinträge

10

Mit meiner aktuellen Debian-Installation stimmt etwas schrecklich nicht. Die meisten Programme wie Firefox, nslookup, dig usw. ignorieren Einträge in der /etc/hostsDatei. Eigentlich verwende ich diese Datei zum Blockieren von Werbung.

ein Beispiel

eine Zeile in der /etc/hostsDatei

127.0.0.1 www.winaproduct.com

Wenn ich das tue dig +short www.winaproduct.com, wird die jeweilige IP-Adresse des Servers zurückgegeben, nicht 127.0.0.1.

www.winaproduct.comAuf Firefox geöffnet , zeigt es die jeweilige Website, dies wird jedoch nicht erwartet.

Aber es gibt kein Problem mit ping, busybox nslookup, busybox ping, resolveipusw.

Also, wo liegt das Problem ? Ich denke, das Problem liegt in der DNS-Auflösungsbibliothek.

Eine temporäre Fix-Up, Einstellung dnsmasqund Änderung nameserverzu 127.0.0.1in /etc/resolv.conf.

aktualisieren

Problem nach der Installation magisch gelöst libnss3, als Abhängigkeit vongoogle-chrome

Die Standardeinstellung /etc/nsswitch.conf sieht aus wie hosts: files dns

Wie kann man sagen nslookup, digusw. Fragen Sie zuerst nach der Datei / etc / hosts, anstatt direkt beim DNS zu fragen?

aber warum busybox nslookup, wget, resolveipusw. arbeiten anders als nslookup, digusw.?

Arnab
quelle
Wie sieht der hosts:Eintrag in /etc/nsswitch.confaus?
Casey
@ Casey, /etc/nsswitch.conf sieht aus wiehosts: files dns
Arnab
Bitte fügen Sie diese Schlüsselinformationen in Ihren OQ ein.
Dan
Dies ist eindeutig kein DNS-Problem. Bitte schauen Sie sich diese sehr ähnliche Frage an: unix.stackexchange.com/q/158419/31707 .
Dan

Antworten:

16

nslookup, digUnd hostsind Werkzeuge für die DNS - Nameserver abfragt.

Wenn Ihre Konfiguration nicht von einem Nameserver bereitgestellt wird (wie die Informationen in /etc/hosts), werden diese Tools nicht angezeigt, da sie den Nameserver direkt fragen.

Wenn Sie überprüfen möchten, ob die "übliche" Auflösung funktioniert (dh wie in angegeben /etc/nsswitch.conf), können Sie Folgendes verwenden getent:

getent hosts www.winaproduct.com
michas
quelle
getent hosts www.winaproduct.comfunktioniert perfekt, aber nslookup, dig, hostetc. sind nur als Beispiel, ich will es auf Firefox .
Arnab
1
Wenn es mit getent funktioniert, sollte es auch mit Firefox funktionieren. (Beide verwenden denselben Auflösungsmechanismus.) Wenn dies wirklich nicht funktioniert, suchen Sie in Firefox nach "ungewöhnlichen" Konfigurationen. Vielleicht haben Sie eine Art Proxy oder so etwas eingestellt.
Michas
danke für den Kommentar, ich verwende keine ungewöhnliche Firefox-Konfiguration, nein, es funktioniert nicht mit Firefox (38.0.1).
Arnab
3
Ich bin mir sehr sicher, dass es sich um ein Browserproblem handelt. Versuchen Sie es mit wgeteinem anderen Browser wie Chrome. Wenn getentdas erwartete Ergebnis ergibt, sollten alle von ihnen.
Michas
1
@ Daniel Azuelos, an den Firefox-Einstellungen ist nichts auszusetzen, sie werden bereits verwendet No Proxy. Also, wie kann man sagen nslookup, digfragen Sie /etc/hostszuerst die Datei, anstatt direkt beim DNS zu fragen? Vielen Dank für Ihren wertvollen Kommentar.
Arnab
4

Sie können DNSmasq installieren, das Ihre / etc / hosts-Einträge liest und in den DNS-Cache importiert. Anschließend erhalten alle Ihre DNS-Tools und DNS-Abfrageanwendungen wie dig, host und nslookup Antworten, die aus der Datei / etc / hosts stammen.

Tony Barganski
quelle