Конфликт с подстановочным знаком CNAME с дочерним CNAME

Я перешел с PowerDNS на Knot 2.7.

У меня конфликт с 2 записями DNS.

abcd.**www**.example.com CNAME -> somehost.example.net
*.example.com -> example.com

Теперь проблема связана с доменом www.example.com. В PowerDNS он должен был разрешиться как * .example.com. Теперь ответа нет. Когда я добавляю запись A или CNAME для www.example.com, все в порядке. Проблема основана на первом CNAME, как я писал выше.

Вы можете мне объяснить, почему и как я могу это исправить?

Спасибо.

1
задан 27 December 2018 в 18:42
1 ответ

Описанное вами поведение вполне ожидаемо; что меня удивляет, так это утверждение о том, что вы получили другой результат с PowerDNS (вы можете отправить отчет об ошибке, если вы можете воспроизвести это с текущей версией).

Причина, по которой это ожидаемое поведение, заключается в том, что функциональные возможности подстановочного знака в DNS определены таким образом, что подстановочный знак расширяется только до имен, которые не существуют под записью с подстановочным знаком (т.е. в противном случае вы получите ответ NXDOMAIN ).

Что может показаться не интуитивным, так это то, что с двумя записями в вопросе имя www.example.com считается существует (хотя у него нет собственных записей), потому что это промежуточный узел в ветви, ведущей к abcd.www.example.com (который имеет записи). (Этот тип промежуточного узла дерева без записей называется пустым нетерминальным или ENT ).
Поскольку существует имя www.example.com , из определения того, как работают подстановочные знаки, следует, что на него не должны влиять *. Example.com , и вы получите ] Ответ NODATA (указывается статусом NOERROR с SOA в разделе полномочий), если вы не добавляете записи в сам www.example.com .

]
2
ответ дан 3 December 2019 в 20:10

Теги

Похожие вопросы