Windows Server 2008 R2 неправильно пересылает записи dns-sd. Зачем?
Недавно я пытался настроить одноадресную DNS-SD для облегчения печати для наших пользователей Mac, но я наткнулся на странную загадку.
Мы используем две машины с Windows Server 2008 R2 в качестве DNS-серверов между конечными пользователями и Интернетом, но по какой-то причине они возвращают ответ SERVFAIL при пересылке записей TXT принтеров. Другие DNS-серверы (включая серверы под управлением Windows Server 2003) вообще не имеют проблем.
Я даже настроил новый экземпляр Windows Server 2008 R2 (на EC2), чтобы исключить проблемы с брандмауэром и конфигурацией сети. Проблема все еще возникает. Мое исследование выявило некоторые проблемы с 2008 R2 и EDNS, но команда, которая, как утверждают другие, исправила проблему, не помогла.
Кто-нибудь еще настраивал одноадресный общий доступ к DNS-SD, который работает через DNS-сервер Windows 2008 R2? Есть идеи, что может быть причиной этого?
1 ответ
Похоже, что сообщение запроса (0x3766) отправляется по протоколу UDP без EDNS (в дополнительном разделе был бы Opt RR, если бы он использовал EDNS), который ограничивает максимальный ответ 512 байтами. Только данные TXT имеют размер 546 байт, поэтому на запрос нельзя ответить в 512 байт. Сервер должен отвечать с помощью усеченного (установленного бита TC) ответа, который заставит клиента повторить запрос по TCP.
Я не очень знаком с Windows, поэтому все, что я могу предложить, - это уменьшить размер записи TXT. Лично я бы попытался установить данные записи на "1" и посмотреть, как это влияет на клиента. (Запись TXT требуется для службы DNS-SD, и некоторые DNS-серверы / клиенты задыхаются от пустых записей TXT, поэтому один символ - это минимум, которого вы можете избежать.)