Не удается разрешить локальный хост на Mac OS X Server

9

У меня есть сервер под управлением OS X Server 10.5, и он не может разрешить localhost до 127.0.0.1.

Когда я пытаюсь пинговать, вот что происходит:

> ping localhost
ping: не удается разрешить localhost: неизвестный хост

SSH и веб-браузеры получают аналогичные результаты (неизвестный хост). Если я пытаюсь использовать 127.0.0.1 или IP-адрес, назначенный в локальной сети, все вышеперечисленное работает.

Вот содержимое моего файла / etc / hosts:

> кошка / etc / hosts
##
# База данных хоста
#
# localhost используется для настройки интерфейса обратной связи
# когда система загружается. Не меняйте эту запись.
##
127.0.0.1 localhost
255.255.255.255 широковещательный хост
:: 1 localhost 
fe80 :: 1% lo0 localhost

У меня не работает локальная служба DNS.

У кого-нибудь есть идеи, почему это может происходить или как я могу это исправить?

iainbeeston
источник
1
Переименуйте / etc / hosts в /etc/hosts.justworks
ta.speot.is
Каковы ваши настройки DNS на вашем сервере? Вы используете службу DNS?
Shaggy Frog

Ответы:

6

У меня была такая же проблема с Горным Львом (10.8.2). Я решил это, отключив «Режим невидимости» в разделе «Безопасность и конфиденциальность» -> «Брандмауэр» -> «Параметры брандмауэра».

Kevin
источник
Также исправлена ​​проблема с El Capitan 10.11
подозреваемый
3

Вероятно, это не связано с вашим первоначальным вопросом, но есть другая проблема, которая может повлиять на поиск DNS в Mac OS X Lion, в частности, localhostили любые другие записи, которые могут у вас возникнуть /etc/hosts.

Очевидно, что /etc/hostsфайл больше не поддерживает несколько доменов на строку в файле, поэтому каждая запись нуждается в отдельной строке:

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

Нашел это через блог Джастина Кармони . Он продолжает описывать другое «интересное» поведение, если вы используете /etc/hosts, так что читайте, если у вас все еще есть проблемы.

pix0r
источник
1

Я знаю, что уже немного поздно, но в моем случае изменив окончание строк на UNIX, заменив табуляции пробелами и сохранив файл, так как UTF-8 заставил его работать на Mountain Lion (10.8.2)

Надеюсь, что эта работа для кого-то еще.

victmo
источник
1

Кодирование может быть проблемой, я отредактировал файл / etc / hosts с помощью Sublime Text, что привело меня к проблеме, а его повторное редактирование с помощью vi устранило проблему. убедитесь, что catвыводит содержимое.

Иссам Золи
источник
это случилось со мной! спасибо, я сходил с ума
Асгарот
1

На моем компьютере (те же симптомы) мой /etc/hostsфайл был заминирован, чтобы использовать окончания строк в Macintosh (CR— 0x13) вместо окончаний строк Unix (LF— 0x10). В противном случае файл был верным.

Мое решение было:

brew install dos2unix
sudo dos2unix -c mac /etc/hosts
Phrogz
источник
0

У меня такая же проблема. Я только что установил новый ноутбук Mac, и он работал, пока я не мигрировал со своего старого. Теперь ping localhost не может разрешиться. Должны быть какие-то настройки, я где-то меняюсь, но я не знаю, где ...

Я обнаружил, что "пинг localhost". работает. Добавление конечной точки предназначено для обхода поиска имени «localhost» в других поисковых доменах. Это круто, но я до сих пор не понимаю, почему не работает запись / etc / hosts ...

редактировать: решено.

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

вуаля!

Каким-то образом запись службы каталогов была не синхронизирована с файлом / etc / hosts. И когда в конфигурации служб каталогов нет IP-адреса, попытка разрешить имя переходит к mDNSResponder, который запрашивает DNS.

Мэтт Коннолли
источник
0

В конце концов, он снова начал работать. Я нашел некоторую неортодоксальную (и ненужную) конфигурацию DNS на сервере и изменил ее на то, что должно было быть, и, возможно, это решило проблему? Я не уверен, хотя, потому что я не пытался решить проблему с localhost в то время, и поэтому я не проверял localhost до и после.

iainbeeston
источник
0

Я отредактировал мой / etc / hosts с помощью Sublime Text, и у меня возникла та же проблема, попробуйте отредактировать и сохранить файл / etc / hosts с помощью vi или nano, который исправил это для меня ...

Helmut
источник
0

Всегда обращайте внимание на журнал ошибок Apache, потому что не все ошибки выбрасываются в консоли при запуске службы. Могут быть проблемы, даже если синтаксис в порядке.

По умолчанию они должны храниться в / var / log / apache2 /, а файл журнала - error.log.

У меня была точно такая же проблема, что хост мог быть решен, и apache не сообщил о проблеме в консоли. Простая «проблема» заключалась в том, что error.log, определяющий мою vhost-конфигурацию, не мог быть создан после замены внешнего диска.

Маркус Зеллер
источник
-1

Удалите файл hosts и посмотрите, что будет потом. Также перезагрузите компьютер без подключения к сети.

Джош К
источник
Я устал от удаления / etc / hosts, потому что он точно такой же, как файлы / etc / hosts на других моих macs (и они могут разрешить localhost). Кроме того, это наш производственный сервер ... Я попытался перезагрузиться без подключения к какой-либо сети, но он все еще не мог разрешить localhost.
iainbeeston
На другом Mac (у которого нет этой проблемы) я просто попытался переименовать / etc / hosts в другое и перезагрузился. Это ничего не изменило, но os x не заменил / etc / hosts новой копией. Итак, еще раз, я устал, чтобы удалить файл, если ОС не собирается его восстановить.
iainbeeston
Если это рабочий сервер, у вас должны быть последние резервные копии. Восстановить из резервной копии.
Джош К
Боюсь, это не недавняя проблема - так было больше года (пока я на работе). Поэтому восстановление из резервной копии будет затруднено. В любом случае, я надеялся найти причину проблемы, а не просто расколоть все в надежде, что она снова начнет работать!
iainbeeston
Вы не "блат" все, это стандартная процедура, особенно с серверами. Если вы заметили проблему и не можете найти ее источник, самым простым и наиболее часто используемым методом решения проблемы будет восстановление из резервной копии. Первое , что я сделал бы на работу было бы исправить. Разрешение проблем не заставляет их уходить.
Джош К