Я думаю, что это началось с обновления Snow Leopard. Вычистил каталог .ssh, но проблема остается.
~: uname -a Darwin california-example-com.local 10.0.0 Darwin Kernel Версия 10.0.0: Пт, 31 июля 22:47:34 PDT 2009; root: xnu-1456.1.25 ~ 1 / RELEASE_I386 i386 ~: ssh -V OpenSSH_5.2p1, OpenSSL 0.9.8k 25 марта 2009 г. ~: ls -l ~ / .ssh ~: nslookup Невада Сервер: 10.94.62.3 Адрес: 10.94.62.3 # 53 Имя: nevada.example.com Адрес: 10.94.62.3 ~: SSH Невада ssh: не удалось разрешить имя хоста. nevada: имя узла или имя сервера не предоставлены или не известны.
domain-name-system
ssh
mac-osx
Питер Кардона
источник
источник
Ответы:
Я столкнулся с точно такой же проблемой и обнаружил, что тема Mac mini, в которой проблемы с DNS в обсуждениях Apple чрезвычайно полезны.
Суть проблемы: mDNSResponder, кажется, иногда меняет порядок DNS-серверов, которые он запрашивает, и поэтому, если он сначала запрашивает DNS-серверы вашего провайдера, он не получит правильную запись (или, если вы используете раздельный DNS, вы получите ваш публичный IP).
Лучшее решение для этого - убедиться (как вы это сделали), что в настройках DNS указаны только необходимые DNS-серверы. Это может потребовать удаления DNS-серверов ISP из вашего DHCP (как я должен был это сделать - все запросы перенаправляются через локальный DNS-сервер в любом случае).
Причина, по которой утилиты любят
dig
иnslookup
будут работать как обычно, заключается в том, что они используют BIND и/etc/resolv.conf
напрямую отличаются от остальной операционной системы.Для справки в Snow Leopard кэш DNS теперь хранится в mDNSResponder, и для его очистки необходимо перезапустить процесс, используя
sudo killall -HUP mDNSResponder
. Вы можете получить больше информации (ведение журнала, внутреннее состояние дампа и т. Д.), Используя различные флаги дляkillall
команды.Источник: Снуп Догг в той же теме.
источник
у нас были такие проблемы:
Решено примерно так:
Приложения в Mac OS X не используют тот же механизм для DNS, что и «host / dig / nslookup».
Использование «host / dig / nslookup» было полезно для определения того, что это не проблема сети. Это была проблема с локальной системой, решенная с помощью приведенных выше команд.
источник
Я столкнулся с той же проблемой ... И хотя перезапуск mDNSResponder, похоже, "работает", перезапускать его пару раз в час - отстой.
Итак, на данный момент я «решил» проблему, запустив dnsmasq локально. Для этого:
make
илиbrew install dnsmasq
)dnsmasq.conf
файл:resolv.conf
файл, который находится в том же каталоге, что иdnsmasq.conf
файл (nb: not/etc/resolv.conf
):dnsmasq
сsudo dnsmasq --no-daemon --log-queries -C dnsmasq.conf
. Вывод должен выглядеть примерно так:127.0.0.1
это единственный DNS-сервер (сетевые настройки -> «Дополнительно» -> DNS -> добавить 127.0.0.1).Вещи должны начать работать снова хорошо.
Как только все заработает, вы можете работать
dnsmasq
без параметров--no-daemon
и--log-queries
, поэтому он будет запускаться в фоновом режиме, и вам не нужно держать окно терминала открытым.источник
Я заметил, что у меня было 10.94.62.3 в списке DNS-серверов (панель сетевых настроек), за которым следовало 2 от моего провайдера. Я удалил остальные 2, принудительно выполнив поиск по всем именам до 10.94.62.3 для этого местоположения, и теперь я могу разрешать имена в своей сети, а также за ее пределами.
Понятия не имею, почему это сработало.
источник
Я думаю, у нас есть похожая проблема, как я описал здесь: /apple/50457/nslookup-works-ping-and-ssh-dont-os-x-lion-10-7-3
Я полагаю, что проблема заключается в конфигурации searchdomains: ping / ssh пытается использовать,
gethostbyname2()
что не удается, так как named больше не работает (по крайней мере, в Lion), и/etc/resolv.conf
с настроенными поисковыми доменами, таким образом, игнорируется./etc/hosts
это последнее средство дляgethostbyname2()
и, следовательно, ssh снова работает с правильными записями в/etc/hosts
. Должно быть исправлено Apple imho.источник
Вы пробовали nevada-example-com.local?
источник
Эта команда обновляет ваш кэш DNS.
Является ли 10.94.62.3 DNS-сервером, которому вы доверяете? Если так, то почему только один? У вас должно быть как минимум 2 DNS-сервера, к которым можно обращаться для восстановления после отказа. Если тот упадет, ты сидящая утка.
источник
Похоже, что поиск по порядку DNS работает по-другому в Snow Leopard. Если вы не можете найти домен, проверьте, есть ли в ваших сетевых настройках недопустимые DNS-серверы. Если вы используете стандартную настройку DHCP, у вас не должно быть ни одного DNS-сервера в списке. До обновления у меня был старый DNS-сервер, и это ни на что не влияло. Как только я обновился, я полностью потерял днс.
Откройте «Настройки сети»> «Выбрать аэропорт»> «Дополнительно». Выберите вкладку DNS и удалите все недействительные DNS-серверы.
источник
Вы смотрели на консоли? (Приложения -> Утилиты -> Консоль) Вы можете обнаружить, что mDNSResponder отображается в разделе: Информация о диагностике и использовании -> Отчеты о диагностике системы.
Если происходит сбой из-за другой программы, которая загружает модули (например, Little Snitch или Hands Off), вы можете увидеть ее там.
источник
У меня была та же проблема с nslookup при разрешении окна Windows, но ping дал мне «неизвестный хост». Я попробовал то, что предложил Navdeep, и пошел очищать серверы имен на вкладке «Настройки сети» -> «Дополнительно» -> DNS. Это не позволило бы мне вычесть их, они были серыми. Я наконец нажал + и они исчезли. Я отменил добавление нового и применил изменения, когда DNS-серверы не показывались. Пинг начал работать после этого. Странно то, что мой локальный маршрутизатор / DHCP-сервер был первым в списке и отвечает за разрешение окна Windows. Это должно быть что-то странное с заказом. Другой перечисленный сервер имен является рабочим NS и не сможет разрешить хост Windows. СПАСИБО Навдип!
источник