Desative o cliente DHCPv6 no Windows

Desative o cliente DHCPv6 no Windows

Não entendo muito bem a ligação entre 4 parâmetros relacionados à configuração automática com e sem estado IPv6 usada no netsh int ipv6 set interfacecontexto de comando no Windows:

  • advertise
  • routerdescovery
  • managedaddress
  • otherstateful

Pelo que pude encontrar até agora, entendo que:

  • advertiseé usado para indicar que o RA deve ser emitido/respondido pelo sistema operacional contendo o sinalizador Mand Oconfigurado como managedaddresse otherstatefulpara aquela interface específica; isso é relevante para um servidor.
  • routerdescoveryé usado para indicar que o sistema operacional deve solicitar/processar RA nessa interface e usá-lo para se configurar com base nos sinalizadores que o RA possui; se routerdescoveryestiver habilitado managedaddresse otherstatefulfor substituído pelos sinalizadores do RA; isso é relevante para um cliente

Minha pergunta é o que acontece quando advertisee routerdescoveryestão desativados?

Você pensaria isso neste caso managedaddresse otherstatefuldetermina se o cliente DHCPv6 está habilitado ou não nessa interface. Contudo, não parece ser assim. Se todos os 4 parâmetros estiverem desabilitados ( advertise, e ) routerdescovery, o cliente Windows ainda tentará entrar em contato com um servidor DHCPv6.managedaddressotherstateful

Responder1

Depois de muitos experimentos e muitos documentos e artigos ambíguos, deduzi isso managedaddresse otherstatefulsão relevantes apenas em conjunto com advertise(ou seja, quando você habilita o RA em seu servidor Windows) e ajudam a definir os Msinalizadores e Onos pacotes RA.

Se routerdescoveryestiver habilitado e advertisedesabilitado, você não poderá mais configurar managedaddressparâmetros otherstatefulatravés do netsh, mas assim que um RA chega na interface, esses dois parâmetros são configurados automaticamente para que reflitam os flags Me Odo pacote RA chegado.

Independentemente da configuração utilizada, as mensagens de solicitação DHCPv6 são sempre enviadas em interfaces habilitadas para IPv6, mesmo ao receber pacotes RA com Mflag NOT definido. Não consegui encontrar uma maneira de desabilitar o DHCPv6 no Windows (presumo o Vista e superior; testei no 8.1). Se houver um servidor DHCPv6 na rede, você obterá um endereço IPv6 dele.

Felizmente, a maioria das redes usa configuração automática sem estado (cada nó se configura com base no prefixo anunciado no RA) em vez da configuração automática com estado, onde um endereço IPv6 é negociado com um servidor DHCPv6. Como a maioria das redes não tem estado, muitas pessoas pensaram que a desativação routerdiscoveryas impediria de obter endereços IPv6 adicionais. Mas isso não é válido se houver um servidor DHCPv6 na rede.

Responder2

Eu sei que esta é uma pergunta antiga, mas gostaria de acrescentar caso isso fosse útil. O comando que uso para desabilitar o DHCPv6 e a descoberta de roteador para IPv6 em todas as interfaces de rede de um sistema é o seguinte:

Set-NetIPInterface `
  -AddressFamily IPv6 `
  -InterfaceIndex $(Get-NetIpInterface -AddressFamily IPv6 | Select-Object -ExpandProperty InterfaceIndex) `
  -RouterDiscovery disabled `
  -Dhcp Disabled

Além disso, também configurei um sistema para preferir IPv4 a IPv6. A reinicialização é necessária para que esta alteração tenha efeito.

New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" -Name "DisabledComponents" -Value 0x20 -PropertyType "DWORD"
#If DisabledComponents exists, use the set cmdlet
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\" -Name "DisabledComponents" -Value 0x20
#You need to reboot the computer in order for the changes to take effect
Restart-Computer

informação relacionada