WGET kann den Host nicht auflösen


11

Ich habe 2 Maschinen im selben Subnetz, auf denen Debian 5.0 ausgeführt wird. Sie verwenden denselben DNS (/etc/resolv.conf), leiten zum selben Gateway (#route) und haben dieselben Einstellungen für iptables (#iptables -L). Ich kann von beiden aus einen Ping-Befehl an IP-Adressen und Hostnamen senden. Ich kann #host www.google.com ausführen und auf beiden die gleichen Ergebnisse erzielen. Aber das Problem ist, dass ich auf einem von ihnen nicht wget oder locken kann.

Auf Maschine 1 ist also alles in Ordnung, aber auf Maschine 2 (mit den gleichen Einstellungen wie bei Maschine 1) kann ich nicht wget oder locken.

Der Fehler, den ich bekomme, ist:

# wget google.com
--2009-10-20 16:38:36--  http://google.com/
Resolving google.com... failed: Name or service not known.
wget: unable to resolve host address `google.com'

Aber auf Maschine 1 hat es kein Problem zu wget oder locken und kehrt zurück:

# wget google.com
--2009-10-20 16:43:55--  http://google.com/
Resolving google.com... 74.125.53.100, 74.125.45.100, 74.125.67.100
Connecting to google.com|74.125.53.100|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
...
Saving to: `index.html.3'

Etc.

Ich hoffe, jemand hier kann mich hier in die richtige Richtung weisen, damit ich dieses Problem möglicherweise beheben kann :)


Dies hängt höchstwahrscheinlich nicht mit wget zusammen, sondern mit einem Netzwerkproblem.
Jldupont

Haben Sie eine Proxy-Einstellung in der Umgebung? Meine Arbeitsmaschine hat :-(
Lexu

Versuchen Sie "Host google.com", nicht "Host www.google.com", auf Server 2.
Bill Weiss

Antworten:


17

Überprüfen Sie Ihre /etc/nsswitch.confDatei (oder was auch immer das Äquivalent auf Debian ist, wenn es nicht so ist).

hostund nslookup immer DNS-Lookups durchführen.

Andere Anwendungen suchen jedoch zuerst in NSS nach anderen Benennungssystemen (z. B. /etc/hostsNIS usw.). Wenn etwas anderes konfiguriert ist, aber nicht funktioniert, kann dies verhindern, dass die Anwendung jemals das DNS ausprobiert.


3
Die kanonische Methode zum Überprüfen des Resolvers wird ausgeführt getent hosts google.com. Dies verwendet nsswitch.conf und dann resolv.conf nach Bedarf.
Joe

9

Danke für die Antworten, Leute!

Es war die Datei nsswitch.conf. Ich hatte LDAP anhand eines Tutorials eingerichtet, in dem ich aufgefordert wurde, diese Zeile in Hosts zu verwenden:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

Als ich es geändert habe:

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

Es funktioniert ohne Probleme. Ich denke also, die nsswitch-Konfigurationsdatei hat dazu geführt, dass sie null zurückgibt, wenn sie nicht in Dateien oder mdns4_minimal gefunden wird, oder?

Danke für Ihre Hilfe!


7
Sie sollten wahrscheinlich Alnitaks Antwort akzeptieren.
Dan Carley

Ja, wie mache ich das? : - /

Akzeptieren Sie, indem Sie auf das "V" neben dem Abstimmungsergebnis klicken. :)
Redsandro

2

Könnte auf dem Computer ein ungültiger Proxy mit dem Fehler konfiguriert sein? Versuche dies:

# wget --no-proxy google.com

2

Als erstes müssen Sie überprüfen, ob DNS ordnungsgemäß funktioniert.

# host google.com
google.com has address 74.125.67.100
google.com has address 74.125.45.100
google.com has address 74.125.53.100

Wenn Sie diese Antwort nicht erhalten, überprüfen Sie /etc/resolv.conf und suchen Sie die in dieser Datei aufgeführten Nameserver. Können Sie jeden von ihnen anpingen?

Versuchen Sie, jeden von ihnen einzeln abzufragen:

# host google.com 12.34.56.78

Können Sie einen anderen Host auflösen?


2

Ich hatte das gleiche Problem, aber neben dem Ändern /etc/nsswitch.conf:

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

Ich musste auch die Nameserver ändern:

Ändern Sie dies /etc/resolv.confso, dass es auf die Google-Nameserver verweist. Die vom Netzwerkmanager hinzugefügten funktionieren bei mir nicht.

# RED 2013-03-31
nameserver 8.8.8.8
nameserver 8.8.4.4

3
Vielen Dank, anonym, für den konstruktiven Kommentar zum Downvote.
Redsandro
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.