Localhost kann unter Mac OS X Server nicht aufgelöst werden

9

Ich habe einen Server mit OS X Server 10.5 und kann localhost nicht in 127.0.0.1 auflösen.

Wenn ich Ping versuche, passiert Folgendes:

> ping localhost
ping: localhost kann nicht aufgelöst werden: Unbekannter Host

SSH- und Webbrowser erhalten ähnliche Ergebnisse (unbekannter Host). Wenn ich versuche, 127.0.0.1 oder die im LAN zugewiesene IP-Adresse zu verwenden, funktionieren alle oben genannten Schritte.

Hier ist der Inhalt meiner Datei / etc / hosts:

> cat / etc / hosts
##
# Host-Datenbank
#
# localhost wird zum Konfigurieren der Loopback-Schnittstelle verwendet
# wenn das System bootet. Ändern Sie diesen Eintrag nicht.
##
127.0.0.1 localhost
255.255.255.255 Broadcasthost
:: 1 localhost 
fe80 :: 1% lo0 localhost

Ich habe keinen lokalen DNS-Dienst ausgeführt.

Hat jemand eine Idee, warum dies passieren könnte oder wie ich es beheben kann?

iainbeeston
quelle
1
Benennen Sie / etc / hosts in /etc/hosts.justworks um
ta.speot.is
Was sind Ihre DNS-Einstellungen auf Ihrer Serverbox? Führen Sie einen DNS-Dienst aus?
Shaggy Frog

Antworten:

6

Ich hatte das gleiche Problem mit Mountain Lion (10.8.2). Ich habe es gelöst, indem ich "Stealth-Modus" unter Sicherheit & Datenschutz -> Firewall -> Firewall-Optionen deaktiviert habe.

Kevin
quelle
Auch Problem mit El Capitan 10.11 behoben
Verdächtiger
3

Dies hängt wahrscheinlich nicht mit Ihrer ursprünglichen Frage zusammen, aber es gibt ein anderes Problem, das sich auf die DNS-Suche in Mac OS X Lion auswirken kann, insbesondere auf localhostandere Einträge, die Sie möglicherweise haben /etc/hosts.

Anscheinend unterstützt die /etc/hostsDatei nicht mehr mehrere Domänen pro Zeile in der Datei, sodass jeder Datensatz eine eigene Zeile benötigt:

127.0.0.1 localhost
127.0.0.1 some.site.local
127.0.0.1 some.site.dev

Fand dies über Justin Carmony Blog . Er beschreibt ein anderes "interessantes" Verhalten, wenn Sie es verwenden /etc/hosts. Lesen Sie also nach , wenn Sie immer noch Probleme haben.

pix0r
quelle
1

Ich weiß, dass es etwas spät ist, aber in meinem Fall hat das Ändern der Zeilenenden in UNIX, das Ersetzen von Tabulatoren durch Leerzeichen und das Speichern der Datei als UTF-8 unter Mountain Lion (10.8.2) funktioniert.

Hoffe diese Arbeit für jemand anderen.

Opfer
quelle
1

Das Codieren kann ein Problem sein. Ich habe / etc / hosts mit Sublime Text bearbeitet, wodurch ich in das Problem gerate, es mit vi erneut zu bearbeiten. Das Problem wurde behoben. Stellen Sie sicher, dass catder Inhalt ausgegeben wird.

Issam Zoli
quelle
das ist mir passiert! Danke, ich wurde verrückt
Asgaroth
1

Auf meinem Computer (dieselben Symptome) wurde meine /etc/hostsDatei so eingestellt, dass Macintosh-Zeilenenden (CR— 0x13) anstelle von Unix-Zeilenenden (LF— 0x10) verwendet wurden. Die Datei war ansonsten korrekt.

Meine Lösung war:

brew install dos2unix
sudo dos2unix -c mac /etc/hosts
Phrogz
quelle
0

Ich habe das gleiche Problem. Ich habe gerade einen neuen Mac-Laptop eingerichtet und er funktionierte, bis ich von meinem alten migrierte. Jetzt kann ping localhost nicht aufgelöst werden. Muss eine Einstellung sein, die ich irgendwo geändert habe, aber ich weiß nicht wo ...

Ich habe diesen "Ping Localhost" entdeckt. funktioniert. Das Anhängen eines nachgestellten Punkts soll die Suche nach dem Namen "localhost" in anderen Suchdomänen umgehen. Das ist cool, aber ich verstehe immer noch nicht, warum der Eintrag / etc / hosts nicht funktioniert ...

bearbeiten: Gelöst.

bash-3.2# dscl . read /Hosts/localhost    
AppleMetaNodeLocation: /Local/Default
RecordName: localhost
RecordType: dsRecTypeStandard:Hosts
bash-3.2# ping localhost
ping: cannot resolve localhost: Unknown host
bash-3.2# dscl . append /Hosts/localhost IPAddress 127.0.0.1
bash-3.2# dscl . read /Hosts/localhost
AppleMetaNodeLocation: /Local/Default
IPAddress: 127.0.0.1
RecordName: localhost
RecordType: dsRecTypeStandard:Hosts
bash-3.2# ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.083 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.140 ms

voila!

Irgendwie war der Verzeichnisdienstdatensatz nicht mit der Datei / etc / hosts synchron. Wenn die Verzeichnisdienstkonfiguration keine IP-Adresse enthält, wird beim Versuch, den Namen aufzulösen, der mDNSResponder aufgerufen, der nach DNS fragt.

Matt Connolly
quelle
0

Am Ende fing es einfach wieder an zu arbeiten. Ich habe eine unorthodoxe (und unnötige) DNS-Konfiguration auf dem Server gefunden und diese so geändert, wie sie hätte sein sollen, und vielleicht hat das das Problem gelöst? Ich kann mir jedoch nicht sicher sein, da ich zu diesem Zeitpunkt nicht versucht habe, das localhost-Problem zu beheben, und deshalb localhost vorher und nachher nicht getestet habe.

iainbeeston
quelle
0

Ich habe meine / etc / hosts mit Sublime Text bearbeitet und hatte das gleiche Problem. Versuchen Sie, Ihre / etc / hosts-Datei mit vi oder nano zu bearbeiten und zu speichern, das hat es für mich behoben ...

Helmut
quelle
0

Lesen Sie immer das Apache-Fehlerprotokoll, da beim Starten des Dienstes nicht alle Fehler in der Konsole ausgegeben werden. Es kann Probleme geben, auch wenn die Syntax in Ordnung ist.

Standardmäßig sollten sie in / var / log / apache2 / gespeichert sein und die Protokolldatei lautet error.log.

Ich hatte genau das gleiche Problem, dass der Host behoben werden konnte und Apache kein Problem in der Konsole feststellte. Das einfache "Problem" war, dass das von meiner vhost-Konfiguration definierte error.log nach dem Austausch eines externen Laufwerks nicht erstellt werden konnte.

Markus Zeller
quelle
-1

Entfernen Sie Ihre Hosts-Datei und sehen Sie, was dann passiert. Starten Sie auch neu, ohne eine Verbindung zu einem Netzwerk herzustellen.

Josh K.
quelle
Ich bin es leid, / etc / hosts zu löschen, weil es genau das gleiche ist wie die / etc / hosts-Dateien auf meinen anderen Macs (und diese können localhost auflösen). Dies ist auch unser Produktionsserver ... Ich habe versucht, einen Neustart durchzuführen, ohne eine Verbindung zu einem Netzwerk herzustellen, aber localhost konnte immer noch nicht aufgelöst werden.
Iainbeeston
Auf einem anderen Mac (der dieses Problem nicht hat) habe ich nur versucht, / etc / hosts in etwas anderes umzubenennen und neu gestartet. Es machte keinen sichtbaren Unterschied, aber os x ersetzte / etc / hosts nicht durch eine neue Kopie. Daher bin ich es leid, die Datei zu löschen, es sei denn, das Betriebssystem wird sie neu generieren.
Iainbeeston
Wenn dies ein Produktionsserver ist, sollten Sie über aktuelle Sicherungen verfügen. Wiederherstellung aus einer Sicherung.
Josh K
Ich fürchte, es ist kein aktuelles Problem - es ist seit über einem Jahr so ​​(solange ich im Job bin). Das Wiederherstellen aus dem Backup wäre daher schwierig. Auf jeden Fall hatte ich gehofft, die Ursache des Problems zu finden, nicht nur alles in der Hoffnung, dass es wieder funktioniert!
Iainbeeston
Sie "blasen" nicht alles, es ist Standardverfahren, insbesondere bei Servern. Wenn Sie ein Problem bemerken und die Quelle nicht finden können, ist die einfachste und am häufigsten verwendete Methode zur Behebung des Problems die Wiederherstellung aus einer Sicherung. Das erste, was ich bei der Arbeit getan hätte, wäre gewesen, es zu reparieren. Probleme fester werden zu lassen, lässt sie nicht verschwinden.
Josh K