Как получить OS X 10.5+ для разрешения всех запросов поиска .local DNS с использованием mDNS?

1

OS X 10.5+ имеет немного странную конфигурацию распознавателя для работы в сломанных сетях. Это описано здесь.

http://support.apple.com/kb/HT3473

Проблема, с которой я столкнулся, заключается в том, что наша сеть не полагается на частичное использование доменов .local через одноадресный DNS, а вместо этого полагается на mDNS для большинства внутренних поисков. Это прекрасно работает для большинства наших систем, но мы также хотели бы иметь несколько поддоменов. К сожалению, это ломает всех наших пользователей OS X из-за этой функции

Имена хостов, которые содержат два или более   этикетки в дополнение к местным, для   Пример "server.domain.local", являются   разрешено с помощью DNS-сервера   дефолт.

Это приводит к тому, что наши субдомены проверяются на одноадресном DNS-сервере, который вообще не знает, как разрешать адреса .local.

В статье поддержки утверждается, что это поведение по умолчанию, что для меня предполагает, что это конфигурируемая вещь, но я не могу понять, как заставить это работать как 10.4 и просто использовать mDNS для всех поисков .local.

Alex
источник

Ответы:

0

Mac OS X имеет подключаемую библиотеку распознавателя. Это означает, что вы можете написать свой собственный распознаватель, который будет наслоен поверх существующего резолвер-стека. Фактически, Unicast DNS и mDNS - это совершенно отдельные уровни, которые объединены вместе.

Поведение по умолчанию, описанное Apple, действительно подразумевает стек по умолчанию. Единственный известный мне способ изменить это поведение - написать подключаемый модуль распознавателя, который будет вести себя так, как вы хотите.

Если это звучит как то, что вы хотите попробовать, я понятия не имею, как это сделать. Однако веб-сервер POW, созданный 37signals, содержит подключаемый модуль распознавателя, написанный на Ruby. POW с открытым исходным кодом, поэтому вы можете начать здесь (если вы или кто-то из ваших знакомых знает Ruby).

bahamat
источник
Я знаю, что он обрабатывается mDNSResponder на OS X, но я пока не могу найти ничего, касающегося этой конкретной функции в исходном коде Перекомпиляция mDNSResponder или запись целого нового слоя на самом деле не вариант.
Alex