Mapeando subdomínios desconhecidos para um único ponto no arquivo de zona com DNAME

1

Descobri que posso editar um arquivo de zona como este

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

Mas e se eu não conhecer todos os subdomínios antecipadamente, é possível fazer algo assim:

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

Basicamente eu gostaria de redirecionar de todos os subdomínios para um único ponto.

É possível / correto? Descobri que RFC 6672 aconselha contra o uso de curingas. Por quê? E é sobre o meu caso acima?

Editar: Se acima não estiver correto, posso fazer isso:

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

ou isto

*.example.com. A 192.168.1.1
    
por Artie 07.04.2015 / 15:54

2 respostas

1

Deixando de lado o $ORIGIN issue (no qual o Vasili está 100% correto), o RFC que define o tipo de registro DNAME ( RFC6672 ativamente desencoraja isso.

3.3. Wildcards

The use of DNAME in conjunction with wildcards is discouraged [RFC4592]. Thus, records of the form "*.example.com DNAME example.net" SHOULD NOT be used.

The interaction between the expansion of the wildcard and the redirection of the DNAME is non-deterministic. Due to the fact that the processing is non-deterministic, DNSSEC validating resolvers may not be able to validate a wildcarded DNAME.

A server MAY give a warning that the behavior is unspecified if such a wildcarded DNAME is loaded. The server MAY refuse it, refuse to load the zone, or refuse dynamic updates.

Enquanto o idioma "NÃO DEVE" e "MAIO" não o proíbe de tentar fazer isso, você realmente não deveria. Seguindo essa referência RFC4592 , nos deparamos com isso:

4.4. DNAME RRSet at a Wildcard Domain Name

Ownership of a DNAME [RFC2672] RRSet by a wildcard domain name represents a threat to the coherency of the DNS and is to be avoided or outright rejected. Such a DNAME RRSet represents non- deterministic synthesis of rules fed to different caches. As caches are fed the different rules (in an unpredictable manner) the caches will cease to be coherent. ("As caches are fed" refers to the storage in a cache of records obtained in responses by recursive or iterative servers.)

Não só essas RFCs definidoras padrão fornecem razões técnicas para o motivo de ser uma má idéia, como também incentivam ativamente o software DNS a não oferecer suporte ao recurso sem proibi-lo explicitamente. Essas razões são mais do que suficientes para me fazer pensar duas vezes antes de tentar implementá-lo.

    
por 07.04.2015 / 18:57
2

Isso simplesmente não funcionará, pois o $ ORIGIN deve conter um nome de zona válido. Um curinga não é um nome de zona válido.

Na melhor das hipóteses, você pode esperar fazer o script da criação de todas as zonas que você precisa em sua configuração do BIND, e apontar todas elas no mesmo arquivo de zona genérica.

    
por 07.04.2015 / 16:04