Curinga sem ponto (* -foo.example.com) para ligação?

10

Parece que não há como dizer bindque isso *-foo.example.comdeve resolver, por exemplo. 10.1.2.3, enquanto *-bar.example.comresolve para 10.2.3.4. Existe alguma solução alternativa? Pode alguns nomes, por exemplo. resolver com um programa externo? Ou devo mudar bindpara eg. PowerDNS ?

Estou tentando evitar comprar outro certificado curinga SSL. (Com certificados curinga, como *.example.com, não é possível permitir pontos na *peça.)

Especificar todos *-fooou *-barnomes no arquivo de zona não é uma opção, pois preciso criar os dois tipos de endereços em tempo real.

tuomassalo
fonte
Também não há como adicionar domínios à zona em tempo real? Eu nunca vi curingas parciais usados ​​com o bind. Não posso dizer com certeza que não é possível.
David Houde
@DavidHoude: Receio que adicionar em tempo real não seja uma opção, pois qualquer consulta anterior à adição "poluirá" os servidores de nomes com uma resposta inválida. Isso cria problemas que são bastante raros, mas um pouco desagradáveis ​​de resolver. (Do tempo curso irá corrigir o problema.)
tuomassalo
1
Será que $GENERATEajudá-lo?
Celada
1
@DavidHoude - você pode usar a atualização dinâmica, mas, como o pôster original indica, você se depara com a situação em que um resolvedor de cache pode ter armazenado em cache uma resposta negativa antes da adição do registro. Para tentar mitigar, é possível reduzir o cache negativo ttl para um valor muito baixo, mas nem todos os resolvedores honram ttls escrupulosamente e alguns impõem um mínimo prático para que os resultados possam ser frustrantemente variáveis.
Michael McNally
@ Celada: a *parte pode ser qualquer [a-z]string (com restrições de comprimento, é claro). Então, no meu caso $GENERATE, não ajuda. Agradecemos a dica - pode ser útil para alguém que encontrar esta página.
Tuomassalo

Respostas:

11

A razão pela qual ele não funciona é porque não é um comportamento definido nas RFCs. Ele deve ser implementado como uma extensão do software que você está usando. O RFC4592 cimenta a definição de um registro curinga com bastante firmeza:

2.1.1 Nome de domínio curinga e rótulo de asterisco

Um "nome de domínio curinga" é definido por ter seu
rótulo inicial (ou seja, mais à esquerda ou menos significativo) em formato binário:

  0000 0001 0010 1010 (binary) = 0x01 0x2a (hexadecimal)

Observe o rótulo do termo aqui. Um rótulo é a entidade separada por pontos. Se você tiver algo diferente do asterisco no rótulo, não será um curinga.

Você está meio preso aqui. Trabalhando no DNS, você precisa do ponto que está tentando evitar. Tudo o resto são extensões ao software de servidor e implementação específica.

Andrew B
fonte
Bem respondido.
Michael McNally
0

O RFC 6125 impede ter um certificado genérico para subdomínios aninhados. As RFC 4592 e RFC 1034 impedem de ter * -xxx.domain.com como uma entrada DNS.

Portanto, você só tem duas alternativas (o que não é bom ao tentar automatizar):

  • Crie um certificado por subdomínio (existem alternativas gratuitas, mas pode ser complicado dependendo da sua plataforma).
  • Crie uma entrada DNS completa por sub-serviço (que não será sub-subdomínio).
Dez
fonte