Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

03 - FQDN

video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione video: https://youtu.be/... no frontmatter da nota.

FQDN (Fully Qualified Domain Name)

Um FQDN (Fully Qualified Domain Name), ou Nome de Domínio Totalmente Qualificado, é o endereço completo e inequívoco de um host ou recurso específico na Internet.

Diferente de um nome relativo (como "www"), o FQDN fornece o caminho absoluto na hierarquia DNS. É definido formalmente pela RFC 1035 e revisado pela RFC 2181.

1. Estrutura de um FQDN

Um FQDN é composto por, da esquerda para a direita:

  • Hostname (ou subdomínio): O nome do dispositivo final (ex: servidor01).
  • Second-Level Domain (SLD): O nome registrado (ex: empresa).
  • Top-Level Domain (TLD): A extensão (ex: com, org, br).
  • Root: O ponto final (.) representando a raiz da árvore DNS.

Exemplo Completo:
www.google.com.

  • www → Hostname (subdomínio)
  • google → Second-Level Domain (SLD)
  • com → Top-Level Domain (TLD)
  • . → Root (sempre presente, embora navegadores o omitam)

A leitura é feita da esquerda (mais específico) para a direita (mais genérico, terminando na raiz).

2. Regras de Formação (RFC 1035)

2.1 Limites

Atributo Valor
Tamanho máximo total 253 caracteres (excluindo o ponto final)
Tamanho máximo por label 63 caracteres
Caracteres permitidos a-z, 0-9, - (LDH — Letters, Digits, Hyphen)
Case Insensível (mas case-preserving)
Posição do hífen Nunca no início nem no fim de um label

2.2 Composição Binária

Internamente, o DNS representa o nome como uma sequência de length-prefixed labels. Por exemplo, www.example.com. é armazenado como:

\x03www\x07example\x03com\x00

Cada byte de tamanho limita-se a 63 (porque os 2 bits superiores do byte são reservados para uso futuro/compressão). Por isso, o limite prático de 63 caracteres por label.

3. Diferença entre FQDN e PQDN

  • PQDN (Partially Qualified Domain Name): É um nome incompleto que depende do contexto da rede local para ser resolvido.
    • Se você digitar apenas servidor01, o seu computador pode tentar completar com o sufixo DNS da sua empresa (ex: servidor01.minharede.local).
  • FQDN: Não deixa margem para dúvidas. Ele aponta para exatamente um único ponto na árvore global do DNS, terminando obrigatoriamente com o ponto raiz.

3.1 Exemplo de Resolução

# Em uma rede com sufixo "empresa.local":
ping servidor01          # → tenta resolver servidor01.empresa.local
ping servidor01.         # → resolve como FQDN absoluto (root), falha se não existir globalmente

A presença do ponto final força o resolver a tratar o nome como absoluto, ignorando sufixos de busca (search no /etc/resolv.conf).

4. O Ponto Final — Por que Importa?

Em zonas DNS e certificados, o ponto final indica a raiz. Sem ele, softwares como BIND podem interpretar o nome como relativo à zona corrente, gerando bugs difíceis de diagnosticar.

; Correto (FQDN absoluto)
www     IN  A   192.0.2.1
@       IN  NS  ns1.example.com.

; Incorreto (relativo — pode gerar ns1.example.com.example.com.)
@       IN  NS  ns1.example.com

5. FQDNs e Internacionalização (IDN)

Para suportar caracteres não-ASCII (ex: acentos, cirílico, árabe), o padrão IDN (Internationalized Domain Names) foi definido pelas RFCs 3490, 5890 e 5891.

  • Codificação: Punycode (RFC 3492) — converte exämple.com em xn--exmple-cua.com.
  • Browsers exibem o caractere original, mas o DNS trabalha sempre com a versão ASCII Punycode.
# Converter um IDN para Punycode
idn2 exämple.com
# Saída: xn--exmple-cua.com

6. Uso Técnico de FQDNs

FQDNs são obrigatórios em várias configurações críticas de rede:

  • Certificados SSL/TLS: São emitidos para um FQDN específico (ex: login.banco.com). O navegador valida se o FQDN acessado coincide com o que está no campo SAN (Subject Alternative Name) do certificado.
  • Registros MX: Devem sempre apontar para um FQDN de um servidor de e-mail, nunca para um endereço IP diretamente (RFC 5321).
  • Configuração de Hostname no Linux: O comando hostname -f retorna o FQDN completo da máquina.
  • Active Directory: Usa FQDNs para identificar todos os computadores e controladores de domínio na floresta (ex: dc01.corp.empresa.com).
  • SPF/DKIM/DMARC: Registros TXT que validam remetentes de email referenciam FQDNs de hosts autorizados.
  • Kerberos: Os principals usam formato servico/FQDN@REALM.

7. Comandos de Inspeção

# Obter FQDN da máquina local
hostname -f

# Definir FQDN persistentemente (Linux)
sudo hostnamectl set-hostname srv01.empresa.com

# Verificar cadeia de domínios
dig +trace www.exemplo.com.br.

# Validar certificado TLS de um FQDN
openssl s_client -connect www.exemplo.com:443 -servername www.exemplo.com

8. Boas Práticas

  • Sempre use o ponto final em arquivos de zona DNS.
  • Planeje hierarquia: mais de 4–5 níveis dificultam leitura e aumentam latência de resolução.
  • Use nomes predictáveis: mail.empresa.com é melhor que mx1.empresa.com para humanos.
  • Ative CAA records (RFC 8659) declarando quais CAs podem emitir certificados para o FQDN.

9. Resumo Técnico

Atributo Valor
RFC de referência 1035, 2181, 3490 (IDN)
Tamanho máximo 253 caracteres (sem ponto final)
Tamanho máximo por label 63 caracteres
Caracteres permitidos LDH (a-z, 0-9, -)
Encoding para IDN Punycode (ACE)
Terminação . (root)

10. Conclusão

O FQDN é a unidade fundamental de identificação de hosts na Internet. Sua estrutura hierárquica, regras estritas de tamanho e caracteres, e obrigatoriedade do ponto final garantem que nomes sejam resolvidos sem ambiguidade em qualquer canto do planeta. Compreender FQDNs é pré-requisito para configurar serviços web, emissão de certificados, registros MX, autenticação Kerberos e qualquer arquitetura distribuída que dependa do DNS.