у меня есть маршрутизатор, на котором также работает DNS, содержащий имена компьютеров в моей локальной сети. Он настроен для пересылки запросов, поэтому для любой публичной машины он будет обращаться к DNS, предоставляемому моим провайдером. Маршрутизатор настроен так, что это-основной DNS, и DNS провайдера перечислен как вторичный. У меня есть несколько машин (те, с записями в моем частном DNS), которые имеют статические IP-адреса. Другие машины, включая Mac, который является предметом этого вопроса, получают их адреса по DHCP.
машины Windows в этой сети работают отлично. Они разрешают личные имена машинам в моей сети, а также имеют доступ к общедоступному интернету.
мой единственный ноутбук Mac не работает. Он обращается к общедоступному интернету без проблем, но он не поражает мой внутренний DNS, чтобы получить внутренние имена. Например, если я делаю пинг на внутреннюю машину как
ping internal.example.com
Я получаю пакеты обратно, но он показывает IP адрес, соответствующий наведению. (По-видимому, Hover помещает целевую страницу для любого поддомена, для которого нет общедоступного маршрута.) If I do
nslookup internal.example.com
тем не менее, я получаю правильный (внутренний) IP-адрес для машины в моей локальной сети.
наконец, если я делаю пинг снова, но на этот раз заставить его использовать мой внутренний DNS (192.168.1.2),
ping internal.example.com 192.168.1.2
Я получаю ответ от правильная машина в моей локальной сети. Это, кажется, указывает даже "родной" подход может делать то, что я хочу, если он будет просто использовать правильный DNS.
Я нашел много статей, в которых говорится об этой проблеме, но то, что я на самом деле нашел до сих пор, либо устарело, либо не является полным решением моей проблемы. То, что я выковырял вместе до сих пор:
- Apple меняет свою методологию разрешения DNS в течение нескольких обновлений ОС, поэтому ответы в интернете быстро устаревают.
- Mac имеет (по крайней мере) две схемы разрешения DNS, работающие одновременно с El Capitan. Это связано с получением различных результатов от ping и от nslookup, как отмечалось выше. Утилиты командной строки, которые работают на "обычной" системе linux, по крайней мере, документируют это на своих справочных страницах, обычно в разделе под названием "Mac OS X Notice."К сожалению, не совсем понятно, какие именно утилиты используют, не проверяя их по очереди. (До сих пор это выглядит как nslookup и dig использовать linux методология и пинг использует то, что является "родным" для Mac OS.)
- это (более или менее) документированная функция "собственного" метода DNS, который динамически выбирает, какой DNS использовать. Это означает, в частности, что порядок, который появляется в windows, как панель управления сетью или порядок, указанный маршрутизатором (в моем случае), не соблюдаются.
- я получил некоторую информацию от" родного " инструмента DNS с командой
sudo killall -INFO mDNSResponder
в командной строке. Что сваливает сообщения в/var/log/system.log
. Из этого сообщения журнала видно, что DNS моего провайдера указан первым в этой системе. (Опять же отмечу, что она указана second в конфигурации маршрутизатора и в Панели управления сетью. Он также указан вторым, если я запускаюscutil
.) - я пытался промыть кэш на mDNSResponder с помощью
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder;
но это не помогло. - я пробовал редактировать файл
com.apple.mDNSResponder.plist
как в этой инструкции (https://www.cnet.com/news/os-x-10-6-3-and-dns-server-priority-changes/), но я не смог отредактировать файл. (Только для чтения, даже сsudo vi
.) Кроме того, содержимое файла в моей системе отличается от содержимого, явно указанного в этих инструкциях.
в сети всего этого, однако, у меня все еще есть Mac, который не работает в сети, полной других компьютеров, которые отлично работают. Я мог бы, вероятно, вынуть DNS провайдера на маршрутизаторе, чтобы он не даже предложил, но это похоже на взлом. Как исправить это на Эль-Капитан?
Извините, если на это уже ответили. (Я чувствую, что это должно быть где-то!) Я копался и выключался большую часть дня и до сих пор не нашел решения на El Capitan.