Saltar para o conteudo
Avanet

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::100 a 2001: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

  1. Em Network > DHCP, clicar em Add e depois em IPv6.
  2. Introduzir dhcpv6-vlan20-clients como Name.
  3. Em Interface, selecionar VLAN20 - 2001:db8:20::1.
  4. Deixar Accept client request via relay desativado para clientes ligados diretamente.
  5. Em Dynamic IP lease, adicionar o intervalo 2001:db8:20::100 a 2001:db8:20::1ff.
  6. Definir Preferred time e Valid time de acordo com o ciclo de vida do prefixo e dos clientes.
  7. Como DNS server, introduzir o servidor DNS interno previsto ou selecionar conscientemente Use device’s DNS settings.
  8. Adicionar apenas as DHCP options e atribuições DUID estáticas necessárias.
  9. 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 add e system 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:

  1. O cliente recebe um endereço do intervalo planeado ou o endereço DUID estático.
  2. O cliente tem um gateway IPv6 predefinido proveniente de Router Advertisement.
  3. Os servidores DNS previstos estão visíveis e resolvem nomes internos e externos.
  4. O cliente alcança o endereço do firewall e um destino de teste IPv6 escolhido conscientemente.
  5. O Log Viewer mostra a regra de firewall IPv6 esperada para o tráfego de aplicação.
  6. 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.

Perguntas frequentes

O DHCPv6 substitui Router Advertisement?

Não. O gateway IPv6 predefinido vem de Router Advertisement. O DHCPv6 pode fornecer endereços e parâmetros adicionais, mas não substitui RA.

Por que motivo uma atribuição DHCPv6 estática utiliza um DUID?

O DHCPv6 identifica o cliente através do DHCP Unique Identifier. Por isso, a atribuição tem de corresponder ao DUID realmente enviado pelo cliente e não pode ser derivada de forma fiável apenas de um endereço MAC.