Configurar e testar um servidor DHCPv6 no Sophos Firewall
Um servidor DHCPv6 no Sophos Firewall distribui endereços IPv6 e parâmetros de rede aos clientes. A configuração começa em Network > DHCP > Add > IPv6. Ao contrário do DHCPv4, porém, o servidor por si só não fornece uma rede de clientes completa: os clientes aprendem o gateway IPv6 predefinido através de Router Advertisement na Sophos Firewall, não através de DHCPv6.
Procedimento rápido: Verificar primeiro o prefixo IPv6 e Router Advertisement, depois escolher a interface e um intervalo dinâmico no mesmo /64, definir Preferred time abaixo de Valid time, escolher o DNS conscientemente e testar com um cliente real. Uma atribuição estática utiliza o DUID do cliente, não apenas o seu endereço MAC.
⚠️ O Sophos Firewall não pode executar simultaneamente um servidor DHCPv6 e um DHCPv6 Relay. Antes da ativação, tem de estar definido qual serviço abastece o ambiente. Um prefixo IPv6 ou um lease visível também não comprova a existência de um gateway, o funcionamento do DNS nem a autorização do tráfego de aplicação.
Separar Router Advertisement de DHCPv6
Em IPv4, o DHCP normalmente fornece em conjunto o endereço, a máscara de sub-rede e o gateway. O IPv6 separa estas tarefas. Router Advertisement, ou RA, anuncia o prefixo e o router. O DHCPv6 pode fornecer um endereço de um intervalo gerido, além de servidores DNS e outras opções.
Por isso, três níveis têm de funcionar em conjunto:
- A interface tem o prefixo IPv6 previsto.
- Router Advertisement indica o comportamento planeado para o cliente e fornece o router predefinido.
- O DHCPv6 distribui o intervalo de leases adequado e os valores adicionais necessários.
Se o fornecedor delegar um prefixo dinâmico ao firewall, o planeamento começa em Configurar IPv6 Prefix Delegation no Sophos Firewall. Suporte IPv6 do Sophos Firewall no SFOS 22 explica os limites gerais para interfaces, routing, VPN, regras e DNS.
Planear a rede de exemplo
A seguinte rede de laboratório utiliza o intervalo IPv6 2001:db8::/32, reservado para documentação. Estes valores não funcionam como endereços de Internet de produção e devem ser substituídos pelo prefixo estático ou delegado real:
- Interface dos clientes:
VLAN20 - 2001:db8:20::1/64 - Intervalo dinâmico:
2001:db8:20::100a2001:db8:20::1ff - Atribuição estática:
2001:db8:20::20 - Servidor DNS interno:
2001:db8:10::53 - Nome de exemplo:
dhcpv6-vlan20-clients
A interface e o intervalo dinâmico encontram-se no mesmo /64. Os endereços estáticos existentes do firewall, dos servidores e da infraestrutura não podem pertencer ao intervalo dinâmico. Antes da ativação, identificam-se os Router Advertisements, servidores DHCPv6 e agentes relay presentes no segmento, para que os clientes não recebam informações contraditórias.
Configurar o servidor DHCPv6
- Em
Network > DHCP, clicar em Add e depois em IPv6. - Introduzir
dhcpv6-vlan20-clientscomo Name. - Em Interface, selecionar
VLAN20 - 2001:db8:20::1. - Deixar Accept client request via relay desativado para clientes ligados diretamente.
- Em Dynamic IP lease, adicionar o intervalo
2001:db8:20::100a2001:db8:20::1ff. - Definir Preferred time e Valid time de acordo com o ciclo de vida do prefixo e dos clientes.
- Como DNS server, introduzir o servidor DNS interno previsto ou selecionar conscientemente Use device’s DNS settings.
- Adicionar apenas as DHCP options e atribuições DUID estáticas necessárias.
- Guardar com Save.
O intervalo escolhido deve corresponder à sub-rede dos clientes. Para clientes atrás de um relay, o intervalo pertence à sub-rede da interface relay. Accept client request via relay só é ativado se o servidor aceitar realmente pedidos de um agente DHCPv6 Relay verificado.
Segundo a Sophos, quando se seleciona Accept client request via relay para um servidor DHCPv6 numa interface física com um prefixo IPv6 delegado, o ficheiro de configuração DHCPv6 não mostra qualquer alteração. Este caso especial não deve ser avaliado apenas pelo ficheiro; topologia, caminho relay, lease e fluxo de pacotes têm de coincidir.
Compreender Preferred time e Valid time
Preferred time indica em minutos durante quanto tempo um endereço mantém o estado preferido para novas ligações. Depois passa ao estado deprecated. As ligações existentes podem continuar a utilizá-lo, mas as novas devem escolher um endereço que ainda esteja preferido.
Valid time determina durante quanto tempo o endereço permanece válido no total. Depois disso, o cliente deixa de o poder utilizar. Por isso, o SFOS exige que Preferred time seja inferior a Valid time.
Não existe um valor ideal universal. Com prefixos dinâmicos delegados pelo fornecedor, os tempos DHCPv6 não devem pressupor que o prefixo permanece sempre igual. Tempos mais longos podem ser úteis em redes internas estáveis. Migrações ou prefixos que mudam frequentemente exigem valores mais curtos, mas operacionalmente realistas, e um teste controlado de renovação.
Distribuir DNS conscientemente
Com Use device’s DNS settings, o firewall fornece aos clientes os servidores DNS que tem configurados. Isto só é adequado se esses servidores resolverem corretamente nomes internos e externos para a rede dos clientes. Em alternativa, introduzem-se os endereços IPv6 reais dos servidores DNS previstos.
Um lease correto sem resolução de nomes funcional não representa um sucesso DHCPv6 completo. Depois da verificação do endereço, realizam-se um teste DNS interno e outro externo. Configurar DNS Request Routes no Sophos Firewall continua relevante para zonas internas e Split DNS.
Gerir opções DHCPv6 personalizadas na Device Console
A Device Console gere uma opção DHCPv6 personalizada em duas fases. Primeiro, a opção é definida globalmente e depois é associada a um servidor DHCPv6 selecionado pelo nome. Antes de uma alteração, estes comandos mostram as definições existentes e as associações do servidor de destino:
system dhcpv6 dhcpv6-options list
system dhcpv6 dhcpv6-options binding show dhcpname <nome-do-servidor-DHCPv6>
A ajuda do SFOS 22 aceita sintaticamente valores de 1 a 65535 para optioncode. Isto não significa que todos os códigos sejam suportados pelo SFOS ou interpretados pelo cliente. A tabela correspondente da Sophos lista os códigos 21, 22, 24 e de 27 a 34. Antes de criar a definição, verificam-se em conjunto o código, o tipo de dados, o RFC e o suporte do cliente.
⚠️ A ajuda online apresenta apenas uma gramática abreviada e não explica completamente os valores e tipos de dados necessários para criar uma opção. Na firewall em causa, utiliza-se a conclusão com Tab depois de
system dhcpv6 dhcpv6-options addesystem dhcpv6 dhcpv6-options binding add. Um comando de outra compilação do SFOS não é copiado sem verificação.
Depois da associação, executa-se novamente binding show e renova-se o lease num cliente de teste. A captura de pacotes deve mostrar a opção esperada com o valor correto na resposta do servidor. Para reverter, remove-se primeiro a associação e só depois uma definição global que já não seja utilizada. Como a sintaxe de remoção publicada pela Sophos indica apenas dhcpname, esta é tratada como uma ação ao nível do servidor e nunca é executada sem registar previamente as associações existentes.
Criar uma atribuição DUID estática
O DHCPv6 identifica um cliente através do seu DHCP Unique Identifier, ou DUID. Em Static IP DUID mapping, o endereço IPv6 é por isso atribuído ao DUID real do cliente. Um endereço MAC lido no chassis não é um substituto fiável.
Primeiro, permite-se que o cliente de teste obtenha um lease dinâmico e identifica-se o DUID no cliente, na vista de leases ou numa captura de pacotes. Depois introduz-se o endereço estático 2001:db8:20::20 fora do intervalo dinâmico. Após um novo pedido de lease, exatamente esse cliente deve receber o endereço previsto.
Depois de uma alteração do sistema operativo, de um DUID recém-gerado ou da clonagem de um sistema a partir de um template, a atribuição pode deixar de corresponder ao cliente. Nesse caso, não se alarga a regra de firewall; verifica-se primeiro o DUID realmente enviado.
Testar o lease e o caminho de dados
Depois de guardar, volta a ligar-se um cliente controlado na VLAN prevista ou renova-se a sua configuração IPv6. Em Network > DHCP > IPv6 lease, o endereço esperado deve aparecer com o cliente correspondente.
Em seguida, cada nível é testado separadamente:
- O cliente recebe um endereço do intervalo planeado ou o endereço DUID estático.
- O cliente tem um gateway IPv6 predefinido proveniente de Router Advertisement.
- Os servidores DNS previstos estão visíveis e resolvem nomes internos e externos.
- O cliente alcança o endereço do firewall e um destino de teste IPv6 escolhido conscientemente.
- O Log Viewer mostra a regra de firewall IPv6 esperada para o tráfego de aplicação.
- Um teste negativo confirma que os serviços IPv6 não autorizados continuam bloqueados.
Uma regra IPv4 não permite automaticamente IPv6. As regras necessárias baseadas em zonas são planeadas separadamente e validadas com a Rule ID e tráfego real. Configurar regras do Sophos Firewall explica o procedimento.
Sem lease ou com configuração IPv6 incompleta
O cliente não recebe um endereço DHCPv6
Primeiro comparam-se o prefixo da interface, o estado do servidor DHCPv6 e o intervalo dinâmico. Depois verifica-se se o cliente solicita um endereço DHCPv6 gerido neste modo e se existe outro servidor ou relay ativo no segmento.
Uma captura de pacotes com este filtro BPF mostra mensagens de cliente e servidor através de UDP 546 e 547:
udp port 546 or udp port 547
Se houver mensagens do cliente mas nenhuma resposta, verificam-se a configuração do servidor e dhcpd6.log. Se não aparecer qualquer mensagem do cliente, são mais prováveis o modo RA, o comportamento do cliente, a VLAN ou o caminho de rede local. Utilizar Packet Capture no Sophos Firewall WebAdmin explica os campos da captura.
O cliente tem um endereço, mas não um gateway
O DHCPv6 não distribui um gateway predefinido. Este sintoma conduz diretamente a Router Advertisement, à interface e ao segmento do cliente. Adicionar um segundo servidor DHCPv6 ou alterar os tempos de lease não repõe a informação de router em falta.
Faltam DNS ou opções
Primeiro verifica-se o que o cliente solicita na sua mensagem DHCPv6 e o que o firewall realmente responde. Depois verificam-se o tipo de dados, o valor e o servidor DHCPv6 utilizado. Uma entrada das opções DHCP no Sophos Firewall não deve ser copiada cegamente de DHCPv4 para DHCPv6; o código da opção, o RFC e o suporte do cliente têm de corresponder a DHCPv6.
O endereço estático não é atribuído
Compara-se o DUID transmitido com Static IP DUID mapping. Se não coincidirem, o firewall não consegue aplicar a atribuição. Se coincidirem, verificam-se o intervalo de endereços, servidores duplicados e o novo pedido de lease.
Relay e servidor entram em conflito
Um servidor DHCPv6 e um DHCPv6 Relay não podem estar ativos simultaneamente no Sophos Firewall. Se estiver previsto um servidor externo central, o servidor DHCPv6 local não deve funcionar em paralelo como suposto fallback. Configurar DHCP Relay no Sophos Firewall explica o caminho relay.
O ficheiro dhcpd6.log e outros logs de rede são descritos em Verificar serviços e logs do Sophos Firewall através da CLI. Uma única entrada de log não substitui a vista de leases, a captura e o teste do cliente.
Reverter a alteração
Antes da ativação em produção, documentam-se o estado RA anterior, a função DHCPv6 ou relay e a configuração existente dos clientes. Para o rollback, desativa-se ou remove-se o novo servidor DHCPv6, restaura-se a lógica anterior de relay ou endereçamento e estabelece-se uma nova ligação do cliente.
Depois voltam a testar-se o endereço, o gateway, o DNS e um caminho de dados IPv6 real. Os servidores antigo e novo não devem permanecer ativos em paralelo sem coordenação apenas para fazer o rollback parecer mais simples.