Отображение неизвестных поддоменов в одну точку в файле зоны с DNAME

Я обнаружил, что могу редактировать файл зоны следующим образом

 $ORIGIN us.example.com.
 @           IN    DNAME another.example.com.

Но что, если я заранее не знаю всех поддоменов, возможно ли сделать что-то подобное:

 $ORIGIN *.example.com.
 @           IN    DNAME another.example.com.

В основном я хотел бы перенаправить с каждого поддомен в одну точку.

Это возможно / правильно? Я нашел это RFC 6672 советует не использовать подстановочные знаки. Почему так? И это о моем случае выше?

Изменить: Если выше не правильно, могу ли я сделать это:

*.example.com. IN DNAME example.com.
example.com. A 192.168.1.1

или это

*.example.com. A 192.168.1.1

2 ответа

Решение

Отложить в сторону $ORIGIN вопрос (по которому Василий прав на 100%), RFC, определяющий DNAME Тип записи ( RFC6672) активно препятствует этому.

3.3. Wildcards

Использование DNAME в сочетании с подстановочными знаками не рекомендуется [RFC4592]. Таким образом, записи вида "*.example.com DNAME example.net" НЕ ДОЛЖНЫ использоваться.

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

Сервер МОЖЕТ дать предупреждение о том, что поведение не определено, если загружен такой DNAME с подстановочными символами. Сервер МОЖЕТ отказать в этом, отказать в загрузке зоны или отказать в динамических обновлениях.

Хотя язык "НЕ ДОЛЖЕН" и "МОЖЕТ" не запрещает вам делать это, вы действительно не должны этого делать. Следуя этой ссылке RFC4592, мы сталкиваемся с этим:

4.4. DNAME RRSet для доменного имени с подстановочными знаками

Право собственности на DNAME [RFC2672] RRSet с использованием доменного имени с подстановочными знаками представляет угрозу для согласованности DNS и должна быть исключена или полностью отклонена. Такой DNAME RRSet представляет недетерминированный синтез правил, передаваемых в разные кэши. По мере того, как кеши заполняются различными правилами (непредсказуемым образом), кеши перестают быть связными. ("По мере заполнения кэшей" означает хранение в кэше записей, полученных в ответах рекурсивными или итеративными серверами.)

Эти стандартные определения RFC не только предоставляют технические причины того, почему это плохая идея, но и активно поощряют программное обеспечение DNS не поддерживать эту функцию, в то же время явно не запрещая ее. Этих причин более чем достаточно, чтобы я дважды подумал о том, чтобы когда-либо пытаться это осуществить.

Это просто не будет работать, так как $ORIGIN должен содержать действительное имя зоны. Подстановочный знак не является допустимым именем зоны.

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

Другие вопросы по тегам