Quer habilitar boot por rede em IPv6 no seu ambiente de implantação? Neste guia prático mostramos como configurar PXE sobre IPv6 no Windows Server 2022 com DHCPv6 e WDS usando a opção 59 (Boot File URL), sem depender das opções 60/66/67 do IPv4.
Visão geral: PXE IPv6 no Windows Server 2022
PXE em IPv6 funciona de forma diferente do IPv4. Em redes IPv4, é comum configurar as opções 60/66/67 do DHCP (Vendor Class Identifier, TFTP Server Name, Bootfile Name). Já em IPv6 essas opções simplesmente não existem. Em seu lugar, o cliente UEFI recebe do DHCPv6 a opção 59 (Boot File URL) com a URL completa do binário de boot (geralmente via TFTP), e então faz o download do arquivo (ex.: wdsmgfw.efi
) para dar continuidade ao processo com o WDS.
Fluxo resumido (UEFI + DHCPv6 + WDS)
- O firmware UEFI inicializa a pilha de rede IPv6 (habilite “PXE over IPv6”/“Network Stack IPv6”).
- O cliente obtém endereço IPv6 (SLAAC ou DHCPv6) e, com base nos RAs/DHCPv6, solicita opções.
- O servidor DHCPv6 responde com a opção 59, contendo algo como
tftp://[2001:db8:1234::10]/boot/x64/wdsmgfw.efi
. - O cliente baixa o binário de boot (TFTP ou HTTP, conforme suportado) e carrega o
wdsmgfw.efi
do WDS. - O WDS entrega o
boot.wim
e segue com a instalação ou a tarefa de implantação definida.
IPv4 x IPv6 no PXE: diferenças-chave
Aspecto | PXE em IPv4 | PXE em IPv6 |
---|---|---|
Opções DHCP | 60 (Vendor), 66 (TFTP), 67 (Bootfile) | 59 (Boot File URL) com a URL completa do binário |
ProxyDHCP | Porta UDP 4011 é comum | Não utilizado; a URL vem na opção 59 |
Compatibilidade de firmware | Funciona com BIOS/Legacy e UEFI | UEFI-only (BIOS/Legacy não faz PXE por IPv6) |
Endereços | IPv4 estático/dinâmico | IPv6 Global/ULA recomendados na URL (evite link-local) |
Arquivo de boot típico | pxeboot.n12 , boot\x86\wdsnbp.com (varia) | wdsmgfw.efi (x64/ARM64/x86 conforme pasta) |
Pré-requisitos e topologia recomendada
- Windows Server 2022 com as funções DHCP Server e Windows Deployment Services (WDS).
- Endereços estáticos IPv4 e IPv6 global/ULA no servidor (evite usar link-local
fe80::/10
para o Boot File URL). - Escopo DHCPv6 criado, autorizado e ativo.
- WDS configurado com
boot.wim
einstall.wim
importados. - Rede com RA (Router Advertisement) ajustado: M e/ou O conforme sua estratégia (veja adiante).
Passo a passo objetivo (com GUI e PowerShell)
IP estático em IPv6 e IPv4
Defina endereços estáticos em ambas as pilhas no servidor. No IPv6, prefira um endereço global (2000::/3
) ou ULA (fd00::/8
) e garanta DNS reverso quando aplicável.
Escopo DHCPv6 criado e ativo
Crie o escopo/intervalo IPv6 e autorize o servidor no AD DS (se aplicável). No DHCP, mantenha a hierarquia: IPv6 → Escopos → Opções de Escopo.
# PowerShell (exemplo):
Cria um escopo DHCPv6 e ativa
Add-DhcpServerv6Scope -Name "LAN-Clientes" -Prefix 2001:db8:1234:10:: -PrefixLength 64 -State Active
Confere o escopo
Get-DhcpServerv6Scope
WDS com imagens configuradas
No WDS, importe o boot.wim
(mídia de instalação do Windows) e, se desejar, o install.wim
. Mantenha a estrutura padrão de pastas do WDS (RemoteInstall\Boot<arch>
).
Configurar a opção 59 (Boot File URL) no DHCPv6
GUI:
- Abra o console DHCP → IPv6 → seu escopo → Opções de Escopo → Configurar Opções.
- Marque [59] Boot File URL e informe a URL do binário de boot do WDS, por exemplo:
tftp://[2001:db8:1234::10]/boot/x64/wdsmgfw.efi
- Use colchetes em torno do endereço IPv6.
- Ajuste o caminho conforme arquitetura:
x64
,x86
ouarm64
.
PowerShell (escopo):
# Define a opção 59 no escopo DHCPv6
Set-DhcpServerv6OptionValue -OptionId 59 -Value "tftp://[2001:db8:1234::10]/boot/x64/wdsmgfw.efi" -ScopeId 2001:db8:1234:10::
Para definir no nível do servidor (menos específico), omita -ScopeId
HTTP Boot (opcional): só use se você tiver um servidor web servindo os binários de boot. A sintaxe seria:
http://[2001:db8:1234::10]/boot/x64/wdsmgfw.efi
Por padrão, o WDS atende via TFTP. HTTP exige infraestrutura adicional e não é necessária na maioria dos cenários.
Ajustes no WDS (lado servidor)
- Propriedades → Guia DHCP: as caixas “Configurar opção 60 do DHCP” são apenas para IPv4; mantenha desmarcadas para IPv6.
- Resposta a clientes: habilite “Responder a todos os computadores cliente (conhecidos e desconhecidos)” conforme política de segurança.
- Escuta em IPv6: verifique se o WDS está ouvindo na interface IPv6 do servidor (veja a seção “Verificação rápida”).
Firewall e rede
Libere o tráfego mínimo necessário. Em muitos ambientes, basta manter habilitadas as regras de firewall padrão do Windows para DHCPv6 e WDS. Em caso de firewall de borda, atente aos seguintes protocolos/portas:
Serviço | Protocolo/Porta | Direção | Observação |
---|---|---|---|
DHCPv6 (Server) | UDP 547 | Entrada no servidor | Respostas do DHCPv6 aos clientes |
DHCPv6 (Client) | UDP 546 | Saída do cliente | Solicitações dos clientes |
TFTP (controle) | UDP 69 | Entrada no servidor | Inicia a sessão TFTP |
TFTP (dados) | UDP efêmeras | Entrada/saída | Fluxo usa portas altas dinâmicas; garanta stateful tracking |
HTTP Boot (opcional) | TCP 80/443 | Entrada no servidor web | Somente se optar por boot via HTTP/HTTPS |
Importante: no PXE IPv6 não há uso do ProxyDHCP na porta UDP 4011 como no IPv4.
RA (Router Advertisement) e flags M/O
Cenário | Flags RA | Descrição |
---|---|---|
SLAAC + Opções DHCPv6 | O=1, M=0 | Clientes obtêm endereço via SLAAC e opções (incluindo 59) via DHCPv6 |
Endereçamento stateful | M=1 (O pode ser 0 ou 1) | Endereço e opções via DHCPv6 |
Para PXE, o essencial é que o cliente receba opções DHCPv6. Logo, assegure O=1 (Other Configuration) nos RAs, ou M=1 se preferir endereçamento stateful.
Teste com cliente UEFI
- Nas configurações do firmware, habilite PXE over IPv6 (ou Network Stack IPv6).
- Inicie o boot pela placa de rede (UEFI). Confira se o cliente recebe IPv6 e baixa o
wdsmgfw.efi
. - Lembre-se: PXE IPv6 é somente UEFI. Equipamentos em modo BIOS/Legacy não suportam boot PXE em IPv6.
Verificação rápida no servidor
Após configurar, faça checagens rápidas.
# Ver se o WDS/host está ouvindo TFTP em IPv6:
netstat -ano | findstr /I ":69"
Deve aparecer algo como [::]:69 indicando escuta em IPv6
Conferir escopos DHCPv6 e a opção 59:
Get-DhcpServerv6Scope
Get-DhcpServerv6OptionValue -ScopeId 2001\:db8:1234:10:: | Where-Object OptionId -eq 59
Teste de conectividade IPv6 e TFTP (a partir de outra máquina na VLAN):
ping -6 2001\:db8:1234::10
Para TFTP, utilize um cliente que suporte IPv6 e baixe um arquivo pequeno de teste
Troubleshooting: sintomas comuns e correções
Sintoma | Causa provável | Correção |
---|---|---|
Cliente UEFI não oferece “IPv6 PXE” no boot | Network Stack IPv6 desabilitada no firmware | Habilite “PXE over IPv6”/“Network Stack IPv6” |
Cliente obtém IPv6 mas não baixa o binário | Opção 59 ausente ou URL malformada | Configure [59] no escopo; use tftp://[IPv6]/boot/x64/wdsmgfw.efi com colchetes |
URL com fe80:: não funciona | Link-local requer escopo (%12 ), que muitos firmwares não suportam | Use endereço Global/ULA no Boot File URL |
Time-out ao transferir wdsmgfw.efi | Firewall bloqueando portas efêmeras de TFTP | Permita retorno de tráfego (stateful) ou libere portas dinâmicas usadas pelo TFTP |
WDS responde apenas em IPv4 | Serviço/Interface sem IPv6 ou escuta limitada | Habilite IPv6 na NIC, verifique binding; reinicie WDS |
Lento ao baixar boot.wim | Janela TFTP pequena em links de alta latência | Ative Variable Window Extension no WDS para melhorar throughput |
Logs e captura
- WDS: Visualizador de Eventos → Aplicativos e Serviços → Microsoft → Windows → Deployment-Services.
- DHCPv6: eventos do serviço e logs padrão do DHCP.
- Rede:
netsh trace start capture=yes scenario=NetConnection
, ou Wireshark (dhcpv6
,udp.port == 69
).
Boas práticas de desempenho e segurança
- VLAN de implantação: isole o tráfego PXE, reduzindo exposição e broadcast/multicast.
- ACLs: restrinja quem pode iniciar PXE (por MAC, VLAN ou NAC).
- HTTP/HTTPS Boot: se optar por HTTP, considere HTTPS com certificados válidos e controle de acesso ao servidor web.
- TFTP otimizado: habilite Variable Window Extension quando necessário; teste com diferentes tamanhos de bloco.
- DNS: registre A/AAAA do servidor WDS; embora a URL use IP, DNS ajuda diagnósticos e serviços auxiliares.
Arquiteturas e caminhos de boot no WDS
Arquitetura | Diretório padrão | Arquivo de boot | Exemplo de URL (TFTP) |
---|---|---|---|
x64 (UEFI) | \Boot\x64\ | wdsmgfw.efi | tftp://[2001:db8:1234::10]/boot/x64/wdsmgfw.efi |
x86 (UEFI) | \Boot\x86\ | wdsmgfw.efi | tftp://[2001:db8:1234::10]/boot/x86/wdsmgfw.efi |
ARM64 (UEFI) | \Boot\arm64\ | wdsmgfw.efi | tftp://[2001:db8:1234::10]/boot/arm64/wdsmgfw.efi |
FAQ (perguntas frequentes)
Posso usar as opções 60/66/67 no IPv6?
Não. Essas opções são específicas do DHCPv4. Em IPv6 use a opção 59 (Boot File URL).
Preciso de ProxyDHCP em IPv6?
Não. O cliente obtém diretamente a URL do arquivo de boot via DHCPv6 (opção 59).
HTTP Boot é obrigatório?
Não. O WDS funciona nativamente com TFTP. HTTP/HTTPS é opcional e requer servidor web e configuração adicional.
Por que evitar endereço link-local na URL?
Porque a maioria dos firmwares não lida com escopo (%ifIndex
) em URLs. Prefira Global/ULA.
PXE IPv6 funciona em BIOS/Legacy?
Não. Somente UEFI.
Como validar rapidamente a entrega da opção 59?
Capture o tráfego no cliente com Wireshark (boot segura permitida?) ou em um span/espelhamento de porta e filtre por dhcpv6
. Procure o campo “Boot File URL”.
Checklist final de configuração
Item | Sim/Não | Detalhe |
---|---|---|
IPv6 Global/ULA estático no servidor | Evite fe80::/10 na URL | |
Escopo DHCPv6 ativo e autorizado | Prefixo e duração adequados | |
Opção 59 (Boot File URL) configurada | tftp://[IPv6]/boot/<arch>/wdsmgfw.efi | |
WDS com boot.wim e install.wim | Pasta RemoteInstall íntegra | |
Firewall liberado (DHCPv6/TFTP) | UDP 547/546, UDP 69 + efêmeras | |
RA com O=1 (ou M=1) | Cliente recebe opções DHCPv6 | |
Cliente UEFI com PXE IPv6 ligado | UEFI-only |
Exemplos rápidos prontos para colar
URL de boot (x64, TFTP):
tftp://[2001:db8:1234::10]/boot/x64/wdsmgfw.efi
Com HTTP Boot (se configurado):
http://[2001:db8:1234::10]/boot/x64/wdsmgfw.efi
PowerShell: definir a opção 59 no escopo:
Set-DhcpServerv6OptionValue -ScopeId 2001:db8:1234:10:: -OptionId 59 -Value "tftp://[2001:db8:1234::10]/boot/x64/wdsmgfw.efi"
Confirmação do caso
Em um cenário real de suporte, após adicionar a opção 59 (Boot File URL) no escopo DHCPv6 apontando para wdsmgfw.efi
, o solicitante confirmou que o PXE por IPv6 passou a funcionar plenamente, ao lado do PXE em IPv4 já existente.
Dicas práticas extras
- Se usar VLAN dedicada de implantação, avalie ativar a resposta do WDS apenas nessa interface.
- Para troubleshooting em profundidade, use
netsh trace
e correlacione com eventos do WDS/DHCPv6. - Testes com múltiplos modelos de hardware são importantes: alguns firmwares UEFI implementam de forma distinta o suporte a TFTP/HTTP em IPv6.
Resumo em uma linha
Para PXE por IPv6 no Windows Server 2022, não use 60/66/67; configure no DHCPv6 a opção 59 (Boot File URL) apontando para o wdsmgfw.efi
do WDS, garanta que o WDS escute em IPv6 e ajuste firewall/rede — isso habilita o boot PXE IPv6 em clientes UEFI.