Кажется, нет возможности сказать bind
который *-foo.example.com
следует разрешить, например. 10.1.2.3
, пока *-bar.example.com
решает 10.2.3.4
. Есть ли обходной путь? Могут некоторые имена, например. разрешить с помощью внешней программы? Или я должен изменить bind
напр. PowerDNS?
Я пытаюсь не покупать еще один сертификат подстановочного знака SSL. (С сертификатами с подстановочными знаками, такими как *.example.com
, нельзя разрешить точки в *
часть.)
Указание всех *-foo
или *-bar
имена в файле зоны не подходят, так как мне нужно иметь возможность создавать адреса обоих типов на лету.
Причина, по которой это не работает, заключается в том, что это поведение не определено в RFC. Он должен быть реализован как расширение используемого вами программного обеспечения. RFC4592 довольно твердо закрепляет определение записи с подстановочными знаками:
2.1.1. Подстановочное доменное имя и метка звездочки
"Доменное имя с подстановочным знаком" определяется его начальным (т. Е.
крайняя левая или наименее значимая) метка в двоичном формате:0000 0001 0010 1010 (binary) = 0x01 0x2a (hexadecimal)
Обратите внимание на термин метка Вот. Метка - это объект, разделенный точками. Если в метке есть что-то, кроме звездочки, это не подстановочный знак.
Вы как бы застряли здесь. Работая в DNS, вам нужна именно та точка, которой вы пытаетесь избежать. Все остальное - это расширения серверного программного обеспечения и специфичные для реализации.
RFC 6125 предотвращает наличие универсального сертификата для вложенных поддоменов. RFC 4592 и RFC 1034 запретить использование * -xxx.domain.com в качестве записи DNS.
Итак, у вас есть только две альтернативы (что неприятно при попытке автоматизации):