nslookup funktioniert mit /etc/resolv.conf, ping und ssh nicht

10

In unserem lokalen Hochschulnetzwerk habe ich (über DHCP erhalten) folgende Einstellungen in /etc/resolv.conf erhalten:

search a.domain.com b.domain.com domain.com
nameserver x.x.x.x
nameserver y.y.y.y

Die Einstellungen sind auch in den Systemeinstellungen gleich. Das folgende Problem tritt auf:

nslookup server

funktioniert und verwendet einen der Nameserver, um korrekt nach server.a.domain.com zu fragen. Wenn ich jedoch versuche zu pingen,

ping server

schlägt mit nicht erreichbarem Host fehl.

ping server.a.domain.com

funktioniert. Das manuelle Hinzufügen eines Servers mit der von nslookup erhaltenen IP-Adresse zu / etc / hosts macht Ping ebenfalls möglich, aber diese "Lösung" umgeht die Nameserver und ist daher nicht ideal (und ich müsste ungefähr 20 weitere Einträge hinzufügen). Irgendeine Idee, was verursacht das? Warum verwendet Ping nicht die Ergebnisse von nslookup / den Suchdomänen?

ssh server

scheitert auch, was das eigentliche Problem / Unbequemlichkeit ist.

Ich habe AlwaysUseSearchDomains bereits zu mDNSResponder hinzugefügt, aber dieses Update hilft nur bei der Verwendung von server.foo.

Ich verwende OS X Lion 10.7.3.

tholu
quelle
Ping-Pakete können von Netzwerkgeräten blockiert werden. Dasselbe gilt für ssh-Pakete - sie möchten möglicherweise nicht, dass Sie das tun, was Sie tun.
Thorbjørn Ravn Andersen
Siehe Lösung unten, das war nicht das Problem.
tholu
"Nicht erreichbarer Host" bedeutet ein Netzwerkverbindungsproblem (oder ICMP blockiert), kein DNS-Auflösungsproblem
Daniel Serodio

Antworten:

2

Haben Sie die Kommentare oben gelesen? /etc/resolv.conf?

# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.

Die richtige Lösung besteht darin, die Suchdomänen wie beschrieben über das Bedienfeld Netzwerk in den Systemeinstellungen hinzuzufügen Hier .

Old Pro
quelle
Ich tat. Die Suchdomänen werden automatisch in den Systemeinstellungen in den Systemeinstellungen per DHCP-Konfiguration eingegeben (und sind daher ausgegraut und nicht änderbar). Die gleichen Werte / Konfiguration finden Sie in /etc/resolv.conf.
tholu
Ich weiß nicht, was ich dir sagen soll. Ich erhalte meine Ethernet- und WLAN-Einstellungen über DHCP und kann meine Suchdomänen über die Systemeinstellungen ändern.
Old Pro
Die Suchdomänen sind in den Systemeinstellungen und in /etc/resolv.conf korrekt. Das Problem ist, dass Ping und ssh es nicht verwenden. Wenn sie die Ausgabe von nslookup verwenden würden, würde alles gut funktionieren, aber irgendwie nicht. Sie suchen jedoch nach / etc / hosts.
tholu
Ich habe die Suchdomänen manuell über Systemeinstellungen hinzugefügt (obwohl sie ausgegraut waren), und jetzt funktioniert es. Vielen Dank!
tholu
4

Ich hatte das gleiche Problem. Die von mir verwendete Lösung bestand darin, ein Verzeichnis / etc / resolver zu erstellen. Erstellen Sie in diesem Verzeichnis eine Datei, die für jede Domäne benannt wird, für die Sie eine Auflösung vornehmen möchten. In jeder Datei sollten sich zwei Zeilen befinden

nameserver 10.0.100.2
domain  home.cainmanor.com

Die obige Datei würde / etc / resolver / home heißen. Möglicherweise muss es home.cainmanor.com heißen, aber ich kann es jetzt nicht testen.

Viel Glück!

Greg Cain
quelle
Ich habe es zum Laufen gebracht, indem ich die Suchdomänen nacheinander über die Systemeinstellungen eingestellt habe. Dabei wurden die DHCP-Einstellungen überschrieben, die OS X offensichtlich nicht korrekt analysiert hat. Ich konnte Ihre Lösung nicht ausprobieren, aber danke!
tholu
Dieser Ansatz funktioniert gut, wenn der VPN-Client Ihres Unternehmens in Bezug auf vorübergehende Systempräferenzen das Falsche tut.
Peter
1

Ich glaube, das Problem liegt in der Konfiguration der Suchdomänen: ping / ssh versuchen zu verwenden gethostbyname2() was scheitert daran genannt läuft nicht mehr (zumindest in Lion) und /etc/resolv.conf mit den konfigurierten Suchdomains wird somit ignoriert. /etc/hosts ist der letzte Ausweg für gethostbyname2() und somit arbeitet ssh wieder mit richtigen Einträgen in /etc/hosts. Sollte von Apple imho behoben werden.

Durch manuelles Hinzufügen der Suchdomänen nacheinander wurde das Problem behoben, siehe Lösung oben.

tholu
quelle
Wenn ich meiner WLAN-Verbindung (die über DNS konfiguriert ist) in OS 10.7.3 über die Systemeinstellungen eine Suchdomäne hinzufüge - & gt; Netzwerk-Panel, es wird von Ping und SSH verwendet, wie ich es erwarten würde. Ich berühre nicht /etc/resolv.conf oder / etc / hosts manuell / direkt, aber die Änderungen der Systemeinstellungen werden automatisch in /etc/resolv.conf übernommen. OS X macht vieles anders als andere Unix-Systeme und dies ist eines davon.
Old Pro
1
Danke, dies hat zum Funktionieren geführt, indem die Suchdomänen manuell nacheinander hinzugefügt wurden. Siehe meinen Kommentar zu Ihrem Lösungsvorschlag oben.
tholu
Durch das Hinzufügen von Suchdomänen wurden die Probleme nicht behoben. Hat jemand anderes eine andere Lösung?
Wie hast du sie hinzugefügt?
tholu
1

Dieses Problem tritt immer wieder auf, wenn mein Mac Book Pro (OS X Version 10.10.1) eingeschlafen ist. Wach auf & amp; Ich kann keine SSH mit Hostnamen von Computern in meinem Netzwerk verwenden (und Ping funktioniert auch nicht). nslookup funktioniert gut. In / var / log werden keine relevanten Nachrichten angezeigt. Lass es einfach ein paar Minuten & amp; hey presto es funktioniert wieder .....

Ian Ellis
quelle