01 - Fully Qualified Domain Name
video: https://youtu.be/... no frontmatter da nota.Fully Qualified Domain Name
O FQDN (Fully Qualified Domain Name), ou Nome de Domínio Totalmente Qualificado, é a forma absoluta e inequívoca de especificar a localização exata de um host dentro da hierarquia do DNS (Domain Name System). Diferente de um nome de host simples (como pc-vendas), um FQDN fornece o caminho completo desde o nó folha até a raiz da árvore do DNS, eliminando qualquer ambiguidade de resolução.
1. A Anatomia do FQDN
Um FQDN é composto por uma série de rótulos (labels) separados por pontos. A estrutura segue uma ordem de especificidade que aumenta da direita para a esquerda:
[host/serviço] . [segundo_nível] . [top_level_domain] . [raiz]
Exemplo técnico: www.google.com.br.
- Host (Hostname):
www– identifica a máquina ou serviço específico dentro do domínio. - Domínio de Segundo Nível (SLD):
google– a entidade registrada sob o TLD. - Top-Level Domain (TLD):
com.br– a categoria ou código de país. - O Ponto Final (Trailing Dot):
.– Representa a Zona Raiz. Em configurações técnicas de servidores DNS (como arquivos de zona do BIND), este ponto é obrigatório para indicar que o nome é absoluto.
Exemplo de Decomposição
| Posição | Rótulo | Função | Delegado por |
|---|---|---|---|
| Folha | www |
Host/serviço final | Administrador do domínio |
| Nível 4 | empresa |
Domínio registrado | Operador do TLD .com.br (Registro.br) |
| Nível 3 | com |
SLD comercial | Operador do ccTLD .br (NIC.br) |
| Nível 2 | br |
TLD de país (ccTLD) | IANA/ICANN |
| Nível 1 | . |
Raiz | ICANN / Root Server Operators |
2. Nomes Absolutos vs. Nomes Relativos (PQDN)
Para entender o valor do FQDN, é preciso contrastá-lo com o PQDN (Partially Qualified Domain Name):
- PQDN: É um nome incompleto que depende do contexto de busca (search suffix) configurado no sistema operacional. Se você digitar apenas
servidor01, o sistema tentará completar com sufixos locais (ex:servidor01.empresa.lan). - FQDN: Não deixa margem para interpretação. Ele aponta para um único ponto na árvore global do DNS. Se um sistema recebe um FQDN, ele ignora listas de busca e resolve o nome diretamente a partir da raiz.
Comportamento do Resolvedor GNU libc
O arquivo /etc/resolv.conf controla o comportamento do PQDN:
# /etc/resolv.conf
search empresa.lan filial.empresa.lan
nameserver 10.0.0.53
options ndots:1
search: lista de sufixos anexados a nomes sem ponto.ndots:1: se o nome contiver menos de 1 ponto, será tratado como PQDN e os sufixossearchserão tentados antes da resolução absoluta.
3. O Ponto Final e a Resolução de Nomes
Na navegação cotidiana, os navegadores web ocultam o ponto final à direita por questões de usabilidade, mas ele é a âncora técnica do protocolo. Sem o ponto final, o resolvedor DNS pode interpretar o nome como relativo e tentar anexar domínios de busca locais antes de tentar a resolução global.
- Com ponto (
www.exemplo.com.): O resolvedor entende: "Inicie a busca na raiz imediatamente". - Sem ponto (
www.exemplo.com): O resolvedor pode entender: "Isso é um host local? Deixe-me tentarwww.exemplo.com.meudominio.internoprimeiro".
Comportamento em Arquivos de Zona BIND
; /etc/bind/db.empresa.com
$ORIGIN empresa.com.
@ IN SOA ns1.empresa.com. admin.empresa.com. (
2026040501 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
www IN A 192.0.2.10 ; rótulo "www" relativo a $ORIGIN
ftp.empresa.com. IN A 192.0.2.20 ; FQDN absoluto por causa do ponto final
4. Limitações Técnicas (RFC 1035, RFC 2181, RFC 5891)
O FQDN deve aderir a regras estritas definidas nas normas da Internet:
- Tamanho máximo total: Um FQDN completo não pode exceder 253 caracteres (limitação de apresentação; em formato DNS wire-format o limite é 255 octetos).
- Tamanho de Rótulo: Cada parte (entre os pontos) pode ter no máximo 63 caracteres (6 bits no comprimento do label).
- Caracteres Permitidos (LDH - Letters, Digits, Hyphen): Apenas letras (A-Z, case-insensitive), números (0-9) e o hífen (-). O hífen não pode iniciar nem terminar um rótulo (regra da RFC 952/1123).
- IDN (Internationalized Domain Names): Domínios com acentos (ex:
café.com.br) são codificados via Punycode (RFC 3492) sob o prefixoxn--, resultando em FQDNs comoxn--caf-6ra.com.brpara o protocolo DNS.
Comparativo LDN vs IDN
| Representação | Exemplo | Tamanho |
|---|---|---|
| LDH (ASCII) | www.empresa.com.br. |
19 caracteres |
| IDN (Unicode) | são-paulo.empresa.com.br. |
25 caracteres |
| IDN (Punycode wire) | xn--so-paulo-7za.empresa.com.br. |
32 caracteres |
5. Aplicações Práticas e Importância
O uso correto do FQDN é crítico em diversos serviços de rede:
- Certificados SSL/TLS (X.509 SAN): Um certificado digital é emitido para um FQDN específico (campo
Subject Alternative Name– SAN). Se o certificado é paraweb.empresa.come o usuário acessa apenasweb, o navegador emitirá um alerta de segurança (NET::ERR_CERT_COMMON_NAME_INVALID). - Servidores de E-mail (SMTP): Durante o
HELO/EHLO, os servidores de e-mail trocam seus FQDNs para identificação e verificação de registros SPF/PTR/MX (Anti-spam). Postfix valida o FQDN do cliente viareject_non_fqdn_helo_hostname. - Active Directory / LDAP: A estrutura de diretórios é mapeada sobre FQDNs para localizar controladores de domínio e serviços de autenticação via registros SRV (_ldap._tcp.dc._msdcs.empresa.com).
- Registros PTR (DNS Reverso): O mapeamento de um endereço IP para um nome exige obrigatoriamente um FQDN para garantir a validade da prova de identidade do host (FCrDNS – Forward Confirmed reverse DNS).
- Kerberos: Os tickets de serviço (
HTTP/web.empresa.com@EMPRESA.COM) incorporam o FQDN no Service Principal Name (SPN); inconsistências entre SPN e FQDN real geramKRB_AP_ERR_MODIFIED.
6. Configuração no Linux
No Linux, o FQDN é geralmente derivado da combinação do nome da máquina definido em /etc/hostname e o domínio definido em /etc/hosts ou via DNS. O comando hostname -f é utilizado para exibir o FQDN configurado no sistema.
# Definir hostname curto
sudo hostnamectl set-hostname web01
# /etc/hosts (essencial para resolver FQDN antes do DNS externo)
127.0.1.1 web01.empresa.com.br web01
# Verificar FQDN
hostname -f # Saída: web01.empresa.com.br
hostname -d # Saída: empresa.com.br (domínio)
hostname -s # Saída: web01 (short name)
dnsdomainname # Saída: empresa.com.br (via DNS apenas)
# Validar FQDN resolvendo via DNS
dig +short web01.empresa.com.br @10.0.0.53
host web01.empresa.com.br
7. Resumo Técnico
| Atributo | Valor |
|---|---|
| RFCs de referência | 952, 1123, 1035, 2181, 3492, 5891 |
| Comprimento máximo | 253 caracteres (apresentação) / 255 octetos (wire) |
| Comprimento de rótulo | 63 caracteres |
| Caracteres permitidos | LDH (Letters, Digits, Hyphen) |
| Delimitador | . (ponto final, representa a raiz) |
| Sufixo IDN | xn-- (Punycode, RFC 3492) |
| TLDsmais comuns | .com, .org, .net, .br, .eu, .io |
8. Conclusão
O FQDN é a unidade canônica de identificação de hosts na Internet. Seu rigor sintático (limite de 253 caracteres, regras LDH, ponto final obrigatório em arquivos de zona) garante que a resolução de nomes seja determinística, sem dependência de contexto local. Engenheiros de redes, administradores de sistemas e desenvolvedores de aplicações distribuídas devem sempre utilizar FQDNs em configurações de produção — especialmente em certificados TLS, registros MX/PTR e Service Principal Names do Kerberos — para evitar ambiguidades que causam falhas silenciosas e vulnerabilidades de segurança.