O que muda no IPv6 para quem administra servidores
IPv6 é o protocolo de endereçamento e roteamento que substitui (e convive com) o IPv4. Para operação de servidores, o foco prático é: como ler um endereço, identificar o tipo (global, link-local, unique local), entender prefixos (principalmente /64), verificar rota padrão (gateway) e saber como o host recebe endereços (SLAAC e/ou DHCPv6). Em ambientes reais, quase sempre você terá dual-stack (IPv4 e IPv6 ativos), e isso afeta DNS (registros AAAA), firewall e o caminho que as aplicações escolhem para se conectar.
Como ler e abreviar endereços IPv6
Formato básico
Um endereço IPv6 tem 128 bits, normalmente escrito em 8 grupos (hextetos) de 16 bits em hexadecimal, separados por :. Exemplo completo:
2001:0db8:0000:0000:0000:0000:0000:0042Regras de abreviação (as que você usa no dia a dia)
- Remover zeros à esquerda em cada hexteto:
0db8viradb8,0042vira42. - Comprimir uma sequência contínua de hextetos “0000” usando
::(apenas uma vez por endereço, para não gerar ambiguidade).
Aplicando as regras ao exemplo:
2001:db8::42Dica operacional
Quando você vê ::, pense “aqui tem um bloco de zeros” e conte quantos hextetos faltam para completar 8 grupos.
Tipos de endereço IPv6 que você precisa reconhecer
1) Global Unicast (endereços roteáveis na Internet)
São os endereços equivalentes ao “público” no IPv4 (com a diferença de que, em IPv6, é comum o servidor ter endereço global direto na interface). Em geral começam com 2xxx ou 3xxx (prefixo global unicast 2000::/3).
- Ouça o áudio com a tela desligada
- Ganhe Certificado após a conclusão
- + de 5000 cursos para você explorar!
Baixar o aplicativo
Exemplo:
2001:db8:1234:10::50/64Uso típico: acesso externo ao servidor, comunicação entre sites, serviços publicados.
2) Link-local (sempre existe, só vale no enlace)
Começa com fe80::/10. O sistema operacional cria automaticamente um endereço link-local por interface, mesmo sem roteador e mesmo sem IPv6 “configurado”. Ele funciona apenas dentro do mesmo segmento L2 (mesma rede local), não é roteado.
Exemplo:
fe80::a00:27ff:fe4e:66a1Uso típico: vizinhança IPv6 (NDP), descoberta de roteador, e muitas vezes o gateway (próximo salto) aparece como link-local.
Importante: ao testar conectividade com link-local, você normalmente precisa informar a interface (zone index), por exemplo:
ping -6 fe80::1%eth03) Unique Local Address (ULA) (endereços “privados” em IPv6)
Começa com fc00::/7 (na prática, fdxx:... é o mais comum). É o equivalente conceitual a redes privadas: roteável internamente, não deve ser anunciado na Internet pública.
Exemplo:
fd12:3456:789a:10::20/64Uso típico: redes internas, backends, comunicação entre serviços sem exposição pública, ambientes híbridos onde você quer endereços estáveis internos.
Prefixos IPv6: /64 e outros na prática
O que significa o “/64”
O sufixo /64 indica quantos bits são de rede. Em /64, os primeiros 64 bits são o prefixo da rede e os últimos 64 bits identificam o host (interface ID). Em redes LAN comuns, /64 é o padrão porque o SLAAC (autoconfiguração) foi desenhado para operar naturalmente com /64.
Exemplo de rede:
2001:db8:1234:10::/64Hosts nessa rede terão endereços como:
2001:db8:1234:10::50Quando você verá outros prefixos
- /128: rota para um único host (muito usado em loopback, rotas estáticas específicas, ou quando o provedor entrega um endereço único). Ex.:
2001:db8::dead:beef/128. - /56, /48: delegação de prefixo para um site (você subdivide em vários /64 internamente). Ex.: provedor entrega
2001:db8:1234:1000::/56e você cria VLANs como...:1001::/64,...:1002::/64etc. - /127: comum em links ponto-a-ponto entre roteadores (reduz espaço de varredura e evita alguns problemas históricos de /64 em P2P). Ex.:
2001:db8:1:2::/127.
Armadilha comum
Colocar uma LAN em /120, /112 etc. pode quebrar SLAAC e gerar comportamentos inesperados. Para redes de servidores em um mesmo segmento, prefira /64 salvo exigência clara de design.
Gateway e rota padrão em IPv6
Rota padrão
Em IPv6, a rota padrão é ::/0. Ela aponta para o próximo salto (gateway), que frequentemente é um endereço link-local do roteador (por exemplo, fe80::1), associado a uma interface.
Conceito: se o destino não está em nenhuma rota mais específica, o host envia para ::/0.
Como isso aparece no sistema
Você verá algo como:
default via fe80::1 dev eth0Note que o gateway é link-local; isso é normal. O roteador é alcançável no enlace local, e ele sabe encaminhar para fora.
Como o servidor recebe IPv6: SLAAC vs DHCPv6 (conceitual e operacional)
SLAAC (Stateless Address Autoconfiguration)
No SLAAC, o roteador anuncia o prefixo da rede via Router Advertisement (RA). O host combina esse prefixo com um identificador de interface para formar seu endereço. O host também aprende a rota padrão via RA.
- Vantagens operacionais: simples, “plug and play”, menos dependência de servidor DHCP.
- Pontos de atenção: endereços podem mudar (privacidade/temporary addresses), e nem sempre você tem controle central de “quem pegou qual IP” (embora existam logs e mecanismos auxiliares).
DHCPv6
No DHCPv6, um servidor DHCPv6 entrega endereços e/ou parâmetros. Diferente do IPv4, o DHCPv6 pode coexistir com RA. Em muitos ambientes, o RA continua fornecendo a rota padrão, e o DHCPv6 fornece DNS e/ou endereço.
- Vantagens operacionais: controle central, reservas, auditoria, parâmetros consistentes.
- Pontos de atenção: depende de infraestrutura DHCPv6 e do desenho correto com RA (flags M/O) para os hosts se comportarem como esperado.
Checklist mental rápido
- Servidor tem endereço global/ULA? Pode ter vindo de SLAAC, DHCPv6 ou configuração estática.
- Servidor tem rota padrão
::/0? Normalmente vem de RA. - Servidor tem DNS IPv6 configurado? Pode vir de DHCPv6 ou RA (RDNSS), dependendo do ambiente.
Dual-stack: quando IPv6 e IPv4 coexistem
Em dual-stack, o servidor tem IPv4 e IPv6. Muitas bibliotecas e sistemas preferem IPv6 quando existe um registro AAAA no DNS e a conectividade IPv6 parece funcional. Isso cria cenários em que “o IPv4 funciona, mas o cliente tenta IPv6 e falha”, parecendo instabilidade.
Efeito prático em aplicações
- Se o DNS retorna AAAA e A, o cliente pode tentar IPv6 primeiro.
- Se o IPv6 está parcialmente quebrado (sem rota, firewall bloqueando, upstream sem retorno), você vê timeouts antes do fallback para IPv4 (dependendo do algoritmo Happy Eyeballs e timeouts).
DNS em IPv6: registro AAAA e armadilhas comuns
AAAA
Para publicar um serviço em IPv6, você cria um registro AAAA apontando para o endereço IPv6 global do servidor.
| Tipo | Exemplo | Uso |
|---|---|---|
| A | app.exemplo.com -> 203.0.113.10 | IPv4 |
| AAAA | app.exemplo.com -> 2001:db8:1234:10::50 | IPv6 |
Cenário típico de incidente
Você publica um AAAA, mas o firewall/roteamento IPv6 não está pronto. Resultado: clientes que tentam IPv6 não conseguem conectar (ou demoram muito), mesmo que o IPv4 esteja perfeito.
Regra operacional: só publique AAAA quando o caminho IPv6 fim-a-fim estiver validado (entrada, saída, retorno, firewall, serviço escutando).
Firewall em IPv6: o “esqueci de liberar” mais comum
IPv6 não “herda” regras de IPv4. Você precisa ter política e regras específicas para IPv6. Em muitos servidores, é possível que:
- IPv4 esteja liberado no firewall, mas IPv6 esteja com política default deny.
- O serviço esteja escutando apenas em IPv4 (bind em
0.0.0.0) e não em IPv6 (::), ou vice-versa.
Verificações rápidas
- Ver se o serviço está escutando em IPv6 (conceito de bind): se ele escuta em
::ou no IPv6 específico. - Validar regras de entrada para a porta no IPv6.
- Validar regras de saída (egress) se o servidor precisa acessar APIs externas via IPv6.
Práticas de verificação: conectividade e rotas em IPv6
1) Ver endereços IPv6 na interface
Objetivo: confirmar se há link-local e se há global/ULA, e se o prefixo parece correto.
# Linux (iproute2) - exemplo conceitual de comando comum no dia a dia: ver IPv6 por interfaceO que observar:
- Existe
fe80::...(link-local)? Se não, há algo muito errado na interface. - Existe endereço global (
2xxx/3xxx) ou ULA (fdxx)? - O prefixo está como esperado (geralmente /64 em LAN)?
2) Ver rotas IPv6 (incluindo default)
Objetivo: confirmar a presença de ::/0 e rotas para o prefixo local.
# Linux - ver tabela de rotas IPv6ip -6 routeO que observar:
- Há uma rota
default(equivalente a::/0)? - O next-hop é link-local (
fe80::...) e está associado à interface correta? - Existe rota para o prefixo local (ex.:
2001:db8:1234:10::/64 dev eth0)?
3) Testar conectividade local (link-local)
Objetivo: validar que a pilha IPv6 e o enlace local estão funcionando (L2/L3 local).
ping -6 fe80::1%eth0Se falhar:
- Confirme a interface correta após o
%. - Verifique se há RA/NDP no segmento (pode ser bloqueio em switch/segurança de rede).
4) Testar conectividade com o gateway e com a Internet
Objetivo: validar caminho até o roteador e saída.
# Ping no gateway (endereço do roteador, muitas vezes link-local)ping -6 fe80::1%eth0# Ping em um destino IPv6 externo conhecido (substitua por um alvo do seu ambiente)ping -6 2001:db8::1Se o ping externo falhar, mas o gateway responder:
- Problema provável de roteamento upstream, filtro de ICMPv6, ou ausência de rota de retorno.
- Verifique se o provedor/roteador anuncia e roteia seu prefixo global corretamente.
5) Ver o caminho (traceroute) em IPv6
Objetivo: identificar em que salto o tráfego para.
traceroute -6 2001:db8::1Interpretação prática:
- Para no primeiro salto: rota padrão/gateway/RA.
- Para após alguns saltos: problema no upstream, política de firewall/ACL, ou rota de retorno.
6) Ver resolução DNS e preferência por IPv6
Objetivo: confirmar se o nome resolve AAAA e se isso está causando tentativa de IPv6.
# Consultar AAAAdig AAAA app.exemplo.com# Consultar Adig A app.exemplo.comSe existe AAAA e o IPv6 está quebrado, você pode ver falhas intermitentes em clientes.
Cenários comuns e como diagnosticar
Cenário 1: “IPv6 está ativo no servidor, mas a aplicação não responde”
Sintoma: o servidor tem IPv6 global/ULA, mas conexões para a porta do serviço via IPv6 falham.
Checklist prático:
- O serviço está escutando em IPv6? Se ele escuta apenas em IPv4, conexões IPv6 nunca vão entrar. Procure por bind em
::ou no IPv6 específico. - Firewall IPv6 liberou a porta? Regras de IPv4 não valem para IPv6. Garanta allow de entrada na porta/serviço para o tráfego IPv6.
- Há rota e retorno? Se você está publicando um IPv6 global, precisa de roteamento correto do prefixo e retorno funcionando. Teste traceroute de fora para dentro (quando possível) e valide rotas no roteador.
- ICMPv6 não está sendo bloqueado indevidamente? Bloquear ICMPv6 “por padrão” costuma quebrar descoberta de MTU e NDP, causando falhas estranhas. Em vez de bloquear tudo, aplique política adequada permitindo tipos essenciais.
Cenário 2: Dual-stack com lentidão ou timeouts
Sintoma: alguns clientes demoram para conectar, mas eventualmente conectam (ou só conectam via IPv4).
Checklist prático:
- Existe AAAA no DNS? Se sim, clientes tentarão IPv6.
- O IPv6 tem conectividade fim-a-fim? Teste do cliente para o servidor via IPv6 (porta do serviço), não apenas ping.
- Firewall/ACL no caminho pode estar dropando SYN/ACK IPv6 ou bloqueando retorno.
- Preferência de endereço: alguns sistemas preferem IPv6; se o IPv6 estiver “meio funcionando”, o usuário percebe como instabilidade.
Cenário 3: Publicou AAAA e “derrubou” parte dos acessos
Sintoma: após criar AAAA, parte dos usuários não acessa.
Checklist prático:
- Servidor está acessível via IPv6 na porta do serviço? Teste com um cliente em rede IPv6 real.
- Firewall IPv6 no servidor e no perímetro está liberando?
- Endereço AAAA é global correto? Evite publicar ULA (
fd..) ou link-local (fe80..) no DNS público. - Roteamento do prefixo: o provedor precisa rotear seu prefixo até você; se você trocou prefixo e o DNS ficou antigo, quebra.
Passo a passo: roteiro de troubleshooting IPv6 em servidor
Passo 1: confirmar endereços e tipo
- Liste IPv6 na interface e identifique: link-local (
fe80), global (2xxx/3xxx), ULA (fdxx). - Confirme prefixo esperado (muito comum /64).
Passo 2: confirmar rota padrão e next-hop
- Verifique se existe
default(::/0). - Confirme se o next-hop (muitas vezes
fe80::...) está na interface correta.
Passo 3: testar conectividade por camadas operacionais
- Ping no gateway (link-local com
%interface). - Ping/traceroute para um destino IPv6 externo.
- Teste a porta do serviço via IPv6 (por exemplo, com um cliente que suporte IPv6 e conecte diretamente ao IPv6 do servidor).
Passo 4: validar DNS e impacto em clientes
- Verifique se há AAAA publicado e se ele aponta para o IPv6 correto.
- Se o IPv6 não está pronto, remova/ajuste AAAA temporariamente para evitar que clientes tentem IPv6.
Passo 5: revisar firewall IPv6 e bind do serviço
- Confirme que o serviço escuta em IPv6 (
::ou endereço específico). - Garanta regras de entrada/saída para IPv6.
- Evite bloquear ICMPv6 de forma ampla; permita o necessário para funcionamento de rede (NDP e PMTUD).