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

18075
iainbeeston

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

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

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

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

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

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

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

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

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

10 ответов на вопрос

5
Kevin

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

Также исправлена ​​проблема с El Capitan 10.11 suspectus 8 лет назад 0
3
pix0r

Вероятно, это не связано с вашим первоначальным вопросом, но есть другая проблема, которая может повлиять на поиск 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, так что читайте, если у вас все еще есть проблемы.

1
victmo

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

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

1
Issam Zoli

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

это случилось со мной! спасибо я схожу с ума Asgaroth 9 лет назад 0
1
Phrogz

On my computer (same symptoms) my /etc/hosts file had been munged to use Macintosh line endings (CR—0x13) instead of Unix line endings (LF—0x10). The file was otherwise correct.

My solution was:

brew install dos2unix sudo dos2unix -c mac /etc/hosts 
0
Matt Connolly

У меня та же проблема. Я только что установил новый ноутбук 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
iainbeeston

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

0
Helmut

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

0
Markus Zeller

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

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

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

-1
Josh K

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

I'm weary of deleting /etc/hosts because it's exactly the same as the /etc/hosts files on my other macs (and those *can* resolve localhost). Also, this is our production server... I've tried rebooting without connecting to any network but it still could not resolve localhost. iainbeeston 13 лет назад 0
На другом Mac (у которого нет этой проблемы) я просто попытался переименовать / etc / hosts в другое и перезагрузился. Это ничего не изменило, но os x не заменил / etc / hosts новой копией. Итак, еще раз, я устал, чтобы удалить файл, если ОС не собирается его восстановить. iainbeeston 13 лет назад 0
Если это рабочий сервер, у вас должны быть последние резервные копии. Восстановить из резервной копии. Josh K 13 лет назад 0
Боюсь, это не недавняя проблема - так было больше года (пока я на работе). Поэтому восстановление из резервной копии будет затруднено. В любом случае, я надеялся найти причину проблемы, а не просто расколоть все в надежде, что она снова начнет работать! iainbeeston 13 лет назад 0
Вы не «блат» все, это стандартная процедура, особенно с серверами. Если вы заметили проблему и не можете найти источник, * самый простой * и * наиболее часто используемый * метод решения проблемы - это восстановление из резервной копии. Первое, что я бы сделал на работе, это исправил бы это. Разрешение проблем не заставляет их уходить. Josh K 13 лет назад 0
Это правда, если бы я был выделенным системным администратором, но я не являюсь (я работаю на SMB, а системный администратор - лишь второстепенная часть моего описания работы). Кроме того, проблема настолько незначительна (она не влияет на какой-либо текущий процесс на сервере - только будущие изменения, которые мы хотели бы внести), что сбои и время, затрачиваемое на восстановление системы, значительно перевесят выгоду для бизнеса. В любом случае, слишком много информации, я * уверен *, что это можно исправить с помощью изменения конфигурации в одну строку, если я найду нужный файл! iainbeeston 13 лет назад 0

Похожие вопросы