No decorrer de algumas responsabilidades de trabalho, preciso me aprofundar nos registros SRV e estou tentando conciliar uma declaração da Wikipedia com o que estou vendo nas pesquisas de DNS.
De acordo com a entrada de registro SRV da Wikipedia ,
o destino nos registros SRV deve apontar para o nome do host com um registro de endereço (registro A ou AAAA). Apontar para um nome de host com um registro CNAME não é uma configuração válida.
mas vejo registros em que dig
retorna um registro SRV apontando para um nome que é o alias em um registro CNAME.
Ou seja, algo como isto:
> dig _https._tcp.alpha.domain.com SRV
;; QUESTION SECTION:
;_https._tcp.alpha.domain.com. IN SRV
;; ANSWER SECTION:
_https._tcp.alpha.domain.com 59 IN SRV 30 30 4443 alias.domain.com
> dig alias.domain.com
;; QUESTION SECTION:
;alias.domain.com. IN A
;; ANSWER SECTION:
alias.domain.com. 35 IN CNAME canonical.name.amazonaws.com.
canonical.name.amazonaws.com. 35 IN A 52.78.234.189
canonical.name.amazonaws.com. 35 IN A 107.21.179.88
canonical.name.amazonaws.com. 35 IN A 52.12.126.92
Parece que o registro SRV está configurado exatamente da maneira que a entrada da Wikipedia diz que não é permitido. O que estou entendendo mal? Não está mostrando que o registro SRV aponta para alias.domain.com, que possui um registro CNAME, não um registro de endereço?
Respostas:
O artigo da Wikipedia que você está citando relata o que o RFC 2782 relevante para registros SRV indica:
O que você está vendo é uma clara violação das regras; no entanto, pode funcionar (e geralmente funciona), se qualquer aplicativo cliente que estiver procurando por esse registro SRV for inteligente o suficiente para manipular adequadamente um registro CNAME, mesmo que apenas esteja esperando um registro A na resposta.
Mas também pode não funcionar: não é suportado e depende totalmente do aplicativo cliente; portanto, deve ser evitado, porque não segue as regras apropriadas e pode levar a resultados errôneos e / ou imprevisíveis.
Isso é semelhante a apontar um registro MX para um CNAME, que é definido como errado não apenas em um , mas em dois RFCs, e ainda assim é uma prática bastante comum (e nenhum servidor de email parece ter um problema com ele).
fonte
NS
registros pelo BIND e o aliasing proibido são o exemplo clássico disso. Independentemente disso, concordamos que é um jogo de qualquer pessoa com resultados imprevisíveis.Esse é um exemplo do comportamento restrito, sim. A restrição em si vem da RFC 2781 na definição de "destino":
Infelizmente, o software de servidor DNS que permite configurações proibidas não é novidade. Isso pode e acontece, como acontece com outros tipos de registro em que destinos alias são proibidos, como
NS
eMX
. (Mencionado acima)Só porque pode ser encontrado na natureza, não significa que esteja "ok", e o que acontece quando um padrão é ignorado varia de produto para produto. Não testei a interação com os
SRV
registros, mas uma decisão de design muito conhecida pelo ISC BIND em relação aosNS
registros que apontam para aliases é abandonar o registro inteiramente, se encontrado durante a recursão. Se todos osNS
registros forem descartados dessa maneira, o resultado de todas as consultas seráSERVFAIL
para o subdomínio em questão.Em suma, atenha-se ao padrão. É a única coisa segura a fazer.
fonte