Gerador de Zona BIND CNAME
Gerar registros CNAME de zona BIND a partir de CSV
Alias Mappings
Format
Each line: alias, target
Target should be a FQDN (ending with a dot)
BIND CNAME Records
Enter alias mappings to generate CNAME records
The BIND Zone CNAME Generator cria entradas de arquivo de zona DNS corretamente formatadas para registros CNAME (Canonical Name) de entrada CSV ou tabular. Forneça pares alias-alvo como www,webserver.example.com. e blog,www e a ferramenta produz entradas de arquivo de zona compatíveis com BIND com validação de pitfalls comuns de CNAME como colocação de apex e tipos de registro conflitantes.
Entendendo Registros DNS CNAME
Um registro CNAME é um alias DNS. Ele diz aos resolvedores que um hostname é realmente apenas outro nome para um hostname diferente. Quando um resolver procura www.example.com e encontra um CNAME apontando para webserver.example.com ele transparentemente reinicia o lookup usando o nome alvo e retorna o endereço IP final ao cliente. O cliente nunca sabe que um CNAME foi envolvido. Esta indireção é o que torna CNAMEs tão úteis: você pode criar um nome amigável como www que aponta para qualquer o nome de hostname do servidor real seja e se você se move para um servidor diferente, você apenas atualiza o alvo de CNAME em vez de atualizar toda referência ao hostname antigo.
CNAMEs são particularmente valiosos para serviços em nuvem onde o hostname real é algo indigno como d1234abcdef.cloudfront.net ou my-app-lb-1234567890.us-east-1.elb.amazonaws.com. Você cria um CNAME de cdn.example.com para a distribuição CloudFront ou de app.example.com para o ponto final de ELB dando seus usuários um nome limpo enquanto deixando o provedor de nuvem gerenciar a infraestrutura subjacente. Se o provedor muda seu hostname você atualiza um registro CNAME em vez de reconfigurar cada cliente.
No entanto CNAMEs vêm com restrições importantes que pegam até administradores experientes. Um CNAME não pode coexistir com qualquer outro tipo de registro no mesmo nome o que significa que você não pode ter um registro CNAME e MX para mail.example.com. Mais criticamente você não pode colocar um CNAME no apex de zona (example.com em si) porque o apex deve ter registros SOA e NS. Este gerador valida sua entrada contra essas regras e a avisa antes delas causarem problemas em produção.
Como Gerar Registros BIND CNAME
- Digite seus dados como CSV com colunas para nome alias e hostname alvo (opcionalmente inclua TTL)
- A ferramenta valida que nomes alias seguem regras RFC 1123 e alvos são hostnames válidos
- Verifica violações comuns de CNAME como colocação de apex e tipos de registro conflitantes
- Copie as entradas de arquivo de zona geradas para uso direto na configuração BIND da sua zona
Exemplos de Entrada CSV e Saída de Arquivo de Zona
CSV de Entrada
www,webserver.example.com.
blog,www
docs,docs-app.cdn.provider.net.
staging,staging-lb.us-east-1.elb.amazonaws.com.
ftp,files
Saída de Arquivo de Zona Gerada
www IN CNAME webserver.example.com.
blog IN CNAME www
docs IN CNAME docs-app.cdn.provider.net.
staging IN CNAME staging-lb.us-east-1.elb.amazonaws.com.
ftp IN CNAME files
Exemplos de Registro CNAME
| Alias (Nome) | Alvo (Canonical) | Caso de Uso |
|---|---|---|
www | webserver.example.com. | Aponte www para nome de servidor canonical |
blog | example.blog-platform.com. | Alias para serviço de blog hospedado |
cdn | d1234.cloudfront.net. | Aponte para distribuição CloudFront |
mail | mail.google.com. (inválido) | Não pode CNAME um nome que tem registros MX |
shop | shops.myshopify.com. | Alias para plataforma de e-commerce |
status | example.statuspage.io. | Aponte para serviço de página de status |
Quando Usar Esta Ferramenta
- Integração de CDN - Criando aliases CNAME que apontam para hostnames de provedor de CDN como CloudFront, Cloudflare ou Akamai
- Pontos finais de serviço em nuvem - Mapeando nomes amigáveis para nomes DNS de balanceador de carga de AWS ELB, Azure ou GCP
- Migrações de serviço - Mantendo hostnames antigos como aliases CNAME para nomes canônicos novos durante transições
- Implantações multi-ambiente - Criando aliases específicos de ambiente como
staging.example.comapontando para hostnames de infraestrutura - Domínios de vaidade - Apontando domínios de marketing ou de campanha para pontos finais de plataforma hospedada
- Organização de DNS interna - Criando aliases legíveis para hostnames de infraestrutura complexa
Como Funciona Resolução DNS CNAME
Um registro CNAME diz aos resolvedores de DNS que um nome é um alias para outro (o nome canonical). Quando um resolver encontra um CNAME ele reinicia o lookup usando o nome alvo em vez disso.
Cadeia de Resolução
Quando um cliente consulta www.example.com e encontra um CNAME:
Consulta: www.example.com A
-> CNAME: webserver.example.com
-> A: 203.0.113.10
Resultado: www.example.com -> 203.0.113.10
O resolver segue a cadeia CNAME transparentemente. Clientes veem o registro A ou AAAA final sem saber sobre o CNAME intermediário.
Restrições de CNAME
Registros CNAME têm restrições importantes que o gerador enforça:
-
Nenhum CNAME no apex de zona: Um registro CNAME não pode existir no apex de zona (ex:
example.comem si). O apex deve ter registros SOA e NS e CNAME não pode coexistir com qualquer outro tipo de registro para o mesmo nome. Use um registro A/AAAA ou um registro específico de provedor ALIAS/ANAME no apex em vez disso. -
Nenhum outro registro juntamente com CNAME: Se um nome tem um registro CNAME ele não pode também ter registros A, AAAA, MX, TXT ou qualquer outro tipo de registro. Esta é uma fonte comum de erros de configuração de DNS.
-
Cadeias de CNAME: Enquanto tecnicamente válidas encadear múltiplos registros CNAME (A -> CNAME -> CNAME -> A) adiciona latência e geralmente é desencorajado. O gerador avisa sobre alvos que são em si prováveis de serem registros CNAME.
Alvos Relativos vs. Totalmente Qualificados
- Alvo relativo (
www): Expande usando a origem de zona. Em uma zona paraexample.como alvowwwse tornawww.example.com. - Alvo totalmente qualificado (
cdn.provider.net.): Usado como-é. O ponto à direita é crítico - sem elecdn.provider.netseria tratado como relativo e expandiria paracdn.provider.net.example.com.
Alvos externos (apontando para outros domínios) devem sempre usar nomes totalmente qualificados com pontos à direita.
Registros CNAME na Prática
O ponto à direita em alvos de CNAME externos é a única fonte mais comum de outages relacionada a CNAME. Quando você cria um CNAME que aponta para um hostname em outro domínio - um CDN um balanceador de carga em nuvem um serviço hospedado - aquele alvo deve terminar com um ponto no arquivo de zona. Sem o ponto BIND anexa a origem de zona e seu alvo cdn.provider.net silenciosamente se torna cdn.provider.net.example.com que não existe. O resultado é que seu CNAME parece funcionar no arquivo de zona mas resolve para NXDOMAIN e o erro não é óbvio porque o arquivo de zona parece correto à primeira vista.
Ao planejar uso de CNAME pense cuidadosamente sobre quais nomes devem ser aliases e quais devem ter registros A/AAAA diretos. Uma boa regra de polegar: use CNAMEs para nomes cujo alvo pode mudar (como balanceadores de carga em nuvem ou serviços de terceiros) e registros A/AAAA diretos para nomes que representam sua própria infraestrutura com IPs estáveis. Usar excessivamente CNAMEs adiciona latência de resolução de DNS porque cada CNAME exige uma busca adicional e cadeias de CNAME amplificam este efeito.
Para o problema de apex de zona a solução padrão depende de seu provedor de DNS. Se você usa um provedor que suporta ALIAS ANAME ou flattening de CNAME (como Route 53 Cloudflare ou DNSimple) você pode efetivamente alias o apex para outro hostname. Se você usa BIND padrão você deve usar um registro A/AAAA no apex apontando diretamente para o endereço IP. Isto significa que mudanças ao IP alvo exigem atualizar o registro de apex diretamente em vez de confiar em uma indireção CNAME.
Perguntas Frequentes
Por que não posso criar um CNAME no apex de zona?
A especificação DNS (RFC 1034) declara que um registro CNAME não pode coexistir com outros tipos de registro no mesmo nome. Já que o apex de zona deve ter registros SOA e NS um CNAME lá violaria esta regra. Alguns provedores de DNS oferecem alternativas proprietárias como ALIAS (DNSimple Route 53) ANAME (PowerDNS) ou flattening de CNAME (Cloudflare) para alcançar funcionalidade similar no apex.
O que acontece se eu esqueço do ponto à direita em um alvo externo?
Sem o ponto à direita BIND trata o alvo como relativo à origem de zona. Um alvo de cdn.provider.net em uma zona para example.com expandiria para cdn.provider.net.example.com que quase certamente não existe. Sempre use um ponto à direita para alvos FQDN externos.
Um CNAME pode apontar para outro CNAME?
Tecnicamente sim mas é desencorajado. Cadeias de CNAME adicionam latência de resolução de DNS porque cada link exige uma busca separada. A maioria dos administradores de DNS preferem apontar registros CNAME diretamente ao hostname canonical final que tem um registro A ou AAAA.
Qual é a diferença entre um CNAME e um registro A?
Um registro A mapeia um nome diretamente para um endereço IPv4. Um CNAME mapeia um nome para outro hostname que deve então ser resolvido para obter o endereço IP final. CNAMEs são úteis quando o IP alvo pode mudar (como com balanceadores de carga em nuvem) já que atualizar o registro A do nome canonical automaticamente atualiza todos os aliases apontando para ele.
Posso ter um CNAME e um registro MX para o mesmo nome?
Não. A especificação DNS proíbe qualquer outro tipo de registro de coexistir com um CNAME no mesmo nome. Se você precisa de registros MX para mail.example.com aquele nome deve usar um registro A/AAAA não um CNAME. Esta restrição é uma das fontes mais comuns de má configuração de DNS.
Que TTL devo usar para registros CNAME?
TTLs de CNAME controlam quanto tempo o mapeamento de alias é cacheado não o endereço final. Use TTLs mais curtos (300-900 segundos) para CNAMEs que podem precisar ser redireccionados rapidamente como durante migrações. Para aliases estáveis que raramente mudam 3600-86400 segundos é apropriado. Lembre-se que o tempo de cache efetivo é também limitado pelo TTL do registro A/AAAA do alvo.
Ferramentas Relacionadas
- BIND Zone A/AAAA Generator - Gere registros BIND zone A e AAAA de CSV
- Zone File Linter - Verifique arquivos de zona quanto a erros de sintaxe e duplicados
- Hostname Validator - Valide hostnames por padrões RFC 1123
- FQDN Validator - Valide nomes de domínio totalmente qualificados
- DNS Record Set Deduper - Encontre e remova registros DNS duplicados