Nie można rozpoznać hosta lokalnego na Mac OS X Server

10

Mam serwer z systemem OS X Server 10.5 i nie może rozpoznać hosta lokalnego na 127.0.0.1.

Kiedy próbuję pingować, dzieje się tak:

> ping localhost
ping: nie można rozpoznać hosta lokalnego: nieznany host

SSH i przeglądarki internetowe uzyskują podobne wyniki (nieznany host). Jeśli spróbuję użyć 127.0.0.1 lub adresu IP przypisanego w sieci LAN, wszystkie powyższe prace działają.

Oto zawartość mojego pliku / etc / hosts:

> cat / etc / hosts
##
# Baza danych hosta
#
# localhost służy do konfigurowania interfejsu pętli zwrotnej
# podczas uruchamiania systemu. Nie zmieniaj tego wpisu.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
:: 1 localhost 
fe80 :: 1% lo0 localhost

Nie mam uruchomionej lokalnej usługi DNS.

Czy ktoś ma pojęcie, dlaczego tak się dzieje lub jak to naprawić?

iainbeeston
źródło
1
Zmień nazwę / etc / hosts na /etc/hosts.justworks
ta.speot.is
Jakie są twoje ustawienia DNS na twoim serwerze? Czy korzystasz z usługi DNS?
Shaggy Frog,

Odpowiedzi:

6

Miałem ten sam problem z Mountain Lion (10.8.2). Rozwiązałem go, wyłączając „Tryb ukrycia” w obszarze Bezpieczeństwo i prywatność -> Zapora -> Opcje zapory.

Kevin
źródło
Naprawiono także problem z El Capitan 10.11
podejrzenie
3

Prawdopodobnie nie jest to związane z Twoim pierwotnym pytaniem, ale istnieje inny problem, który może wpływać na wyszukiwanie DNS w Mac OS X Lion, w szczególności na localhostinne wpisy, które możesz mieć /etc/hosts.

Najwyraźniej /etc/hostsplik nie obsługuje już wielu domen w wierszu pliku, więc każdy rekord potrzebuje własnej linii:

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

Znalazłem to na blogu Justina Carmony'ego . Następnie opisuje inne „interesujące” zachowanie, jeśli używasz /etc/hosts, więc czytaj dalej, jeśli nadal masz problemy.

pix0r
źródło
1

Wiem, że jest trochę późno, ale w moim przypadku zmiana końcówek linii na UNIX, zamiana tabulatorów na spacje i zapisanie pliku, ponieważ UTF-8 sprawił, że działał na Mountain Lion (10.8.2)

Mam nadzieję, że ta praca dla kogoś innego.

victmo
źródło
1

Kodowanie może być problemem, edytowałem / etc / hosts używając Sublime Text, co powoduje, że problem z edytowaniem go za pomocą vi naprawiłem problem. upewnij się, że catwyświetla zawartość.

Issam Zoli
źródło
to mi się przydarzyło! dzięki oszalałem
Asgaroth,
1

Na moim komputerze (te same objawy) mój /etc/hostsplik został zmungowany, aby używał końcówek linii Macintosha (CR— 0x13) zamiast końcówek linii Unix (LF— 0x10). Plik był poza tym poprawny.

Moim rozwiązaniem było:

brew install dos2unix
sudo dos2unix -c mac /etc/hosts
Phrogz
źródło
0

Mam ten sam problem. Właśnie skonfigurowałem nowy laptop Mac i działał, dopóki nie przeprowadziłem migracji ze starego. Teraz ping localhost nie może rozwiązać. To musi być jakieś ustawienie, które gdzieś zmieniam, ale nie wiem, gdzie ...

Odkryłem, że „ping localhost”. Pracuje. Dodanie kropki końcowej ma na celu ominięcie wyszukiwania nazwy „localhost” w innych domenach wyszukiwania. To fajnie, ale wciąż nie rozumiem, dlaczego wpis / etc / hosts nie działa ...

edycja: rozwiązana.

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!

Jakoś rekord usług katalogowych nie był zsynchronizowany z plikiem / etc / hosts. A gdy w konfiguracji usług katalogowych nie ma adresu IP, próba rozwiązania nazwy przechodzi następnie do mDNSResponder, który pyta DNS.

Matt Connolly
źródło
0

W końcu znów zaczęło działać. Znalazłem trochę niekonwencjonalnej (i niepotrzebnej) konfiguracji DNS na serwerze i zmieniłem ją na taką, jaka powinna być, a może to rozwiązało problem? Nie jestem jednak pewien, ponieważ nie próbowałem wtedy rozwiązać problemu hosta lokalnego, więc nie testowałem hosta lokalnego przed i po.

iainbeeston
źródło
0

Edytowałem moje / etc / hosts za pomocą Sublime Text i miałem ten sam problem, spróbuj edytować i zapisać plik / etc / hosts za pomocą vi lub nano, co naprawiło to dla mnie ...

Helmut
źródło
0

Pamiętaj, aby przeczytać dziennik błędów Apache, ponieważ nie wszystkie błędy są zgłaszane w konsoli podczas uruchamiania usługi. Mogą występować problemy, nawet jeśli składnia jest poprawna.

Domyślnie powinny być przechowywane w / var / log / apache2 /, a plik dziennika to error.log.

Miałem dokładnie ten sam problem, że host mógł zostać rozwiązany, a apache nie powiedział żadnego problemu w konsoli. Prostym „problemem” było to, że error.log zdefiniował moją konfigurację vhosta nie można utworzyć po zamianie dysku zewnętrznego.

Markus Zeller
źródło
-1

Usuń plik hosts i zobacz, co się wtedy stanie. Również uruchom ponownie komputer bez połączenia z żadną siecią.

Josh K.
źródło
Jestem zmęczony usuwaniem pliku / etc / hosts, ponieważ jest on dokładnie taki sam jak pliki / etc / hosts na moich innych komputerach Mac (i one mogą rozpoznać localhost). Jest to także nasz serwer produkcyjny ... Próbowałem ponownie uruchomić komputer bez połączenia z żadną siecią, ale nadal nie można rozwiązać hosta lokalnego.
iainbeeston
Na innym komputerze Mac (który nie ma tego problemu) właśnie próbowałem zmienić nazwę / etc / hosts na coś innego i zrestartowałem się. Nie zrobiło to żadnej widocznej różnicy, ale os x nie zastąpił / etc / hosts nową kopią. Znów więc jestem zmęczony usunięciem pliku, chyba że system operacyjny go zregeneruje.
iainbeeston
Jeśli jest to serwer produkcyjny, powinieneś mieć ostatnie kopie zapasowe. Przywróć z kopii zapasowej.
Josh K
Obawiam się, że to nie jest ostatni problem - tak było od ponad roku (tak długo, jak pracuję). Przywrócenie z kopii zapasowej byłoby więc trudne. W każdym razie miałem nadzieję znaleźć przyczynę problemu, a nie tylko zniszczyć wszystko w nadziei, że znów zacznie działać!
iainbeeston
Nie „rażisz” wszystkiego, to standardowa procedura, szczególnie w przypadku serwerów. Jeśli zauważysz problem i nie możesz znaleźć źródła, najłatwiejszą i najczęściej stosowaną metodą rozwiązania problemu jest przywrócenie go z kopii zapasowej. Pierwszą rzeczą, jaką zrobiłem w pracy byłby to naprawić. Dopuszczenie, że problemy się nasilają, nie powoduje ich zniknięcia.
Josh K