Configuração de Rede no Windows Server

Visão geral

Este artigo explica como gerenciar de forma unificada as configurações de rede no Windows Server usando PowerShell.
Abordamos IP estático, definição de DNS, ajuste de prioridade de roteamento e cuidados em ambientes com múltiplas NICs.


Convenção de variáveis

Variável Exemplo Descrição
<<INTERFACE_ALIAS>> Ethernet0 Nome do adaptador de rede alvo
<<IP_ADDRESS>> 192.168.10.100 Endereço IP fixo
<<PREFIX_LENGTH>> 24 Comprimento do prefixo (ex.: 24 para 255.255.255.0)
<<GATEWAY>> 192.168.10.1 Gateway padrão
<<DNS1>> 192.168.10.10 Servidor DNS primário
<<DNS2>> 8.8.8.8 Servidor DNS secundário (opcional)

Passo 1: Conferir o estado atual da rede

Liste as NICs e verifique a configuração IP.

# Listar adaptadores
Get-NetAdapter | Select-Object Name, Status, MacAddress, LinkSpeed

# Verificar configuração IP
Get-NetIPAddress | Select-Object InterfaceAlias, IPAddress, PrefixLength, DefaultGateway, PrefixOrigin
OriginType Significado Observação
Manual Endereço estático configurado manualmente Definido via GUI ou PowerShell
DHCP Endereço obtido automaticamente por servidor DHCP Ativado com Set-NetIPInterface -Dhcp Enabled
WellKnown Endereço reservado pelo sistema (link-local/APIPA) Ex.: 169.254.x.x quando não há resposta DHCP

Passo 2: Trocar de DHCP para IP estático

Desative o DHCP e defina um IP fixo.

# Desativar DHCP
Set-NetIPInterface -InterfaceAlias "<<INTERFACE_ALIAS>>" -Dhcp Disabled

# Remover endereço obtido por DHCP (se existir)
Get-NetIPAddress -InterfaceAlias "<<INTERFACE_ALIAS>>" -AddressFamily IPv4 |
  Where-Object { $_.PrefixOrigin -eq "Dhcp" } |
  Remove-NetIPAddress -Confirm:$false

# Definir IP estático
New-NetIPAddress `
  -InterfaceAlias "<<INTERFACE_ALIAS>>" `
  -IPAddress "<<IP_ADDRESS>>" `
  -PrefixLength <<PREFIX_LENGTH>> `
  -DefaultGateway "<<GATEWAY>>"

Atenção:
Use Remove-NetIPAddress apenas para remover atribuições de DHCP.
Executar em uma NIC usada pela sua sessão remota pode derrubar a conexão.


Passo 3: Definir servidores DNS

Configure os endereços DNS e valide a aplicação.

# Configurar DNS
Set-DnsClientServerAddress `
  -InterfaceAlias "<<INTERFACE_ALIAS>>" `
  -ServerAddresses ("<<DNS1>>","<<DNS2>>")

# Conferir
Get-DnsClientServerAddress -InterfaceAlias "<<INTERFACE_ALIAS>>"

Limpe o cache DNS e teste a resolução.

Clear-DnsClientCache
Resolve-DnsName "www.microsoft.com"

Passo 4: Prioridade em ambientes com múltiplas NICs

Controle a prioridade de roteamento via InterfaceMetric (quanto menor, maior a prioridade).

# Ver prioridades atuais
Get-NetIPInterface | Sort-Object -Property InterfaceMetric |
  Select-Object InterfaceAlias, AddressFamily, InterfaceMetric

# Ajustar prioridade (dar preferência à NIC de gestão)
Set-NetIPInterface -InterfaceAlias "<<INTERFACE_ALIAS>>" -InterfaceMetric 10

Sugestões de métrica:

  • LAN de gestão: 10
  • LAN de backup: 20–50
  • Tráfego de cluster/iSCSI: 100 ou maior

Passo 5: Testes de funcionamento

# Alcance ao gateway
Test-Connection "<<GATEWAY>>" -Count 4

# Resolução de nomes
Resolve-DnsName "www.microsoft.com"

Dica:
Se as definições de DNS não surtirem efeito, reinicie o serviço do cliente DNS:

net stop dnscache && net start dnscache

Passo 6: Desativar IPv6 (conforme a política)

Por padrão, IPv4 e IPv6 coexistem. Se sua rede não usa IPv6, você pode desativá-lo para evitar rotas/anúncios e variações indesejadas de resolução.

# Ver estado do binding IPv6
Get-NetAdapterBinding `
  -InterfaceAlias "<<INTERFACE_ALIAS>>" `
  -ComponentID "ms_tcpip6"

# Desativar IPv6
Disable-NetAdapterBinding `
  -InterfaceAlias "<<INTERFACE_ALIAS>>" `
  -ComponentID "ms_tcpip6" `
  -PassThru

# Confirmar
Get-NetAdapterBinding `
  -InterfaceAlias "<<INTERFACE_ALIAS>>" `
  -ComponentID "ms_tcpip6"

Para reativar:

Enable-NetAdapterBinding `
  -InterfaceAlias "<<INTERFACE_ALIAS>>" `
  -ComponentID "ms_tcpip6"

Passo 7: Boas práticas

  • Fixar nomes de NIC
    Evite confusão após updates/reenumeração usando nomes gerenciais:

    Rename-NetAdapter -Name "<<INTERFACE_ALIAS>>" -NewName "LAN-Primary"
    
  • Remover rotas desnecessárias
    Elimine rotas padrão duplicadas/indevidas:

    Get-NetRoute -AddressFamily IPv4
    Remove-NetRoute -DestinationPrefix "0.0.0.0/0" -InterfaceAlias "BackupNIC" -Confirm:$false
    

Habilitar/desabilitar adaptador de rede

# Desabilitar adaptador
Disable-NetAdapter -Name "<<INTERFACE_ALIAS>>" -Confirm:$false
# Habilitar adaptador
Enable-NetAdapter -Name "<<INTERFACE_ALIAS>>"

Remover IP fixo e voltar ao DHCP

Remove-NetIPAddress -InterfaceAlias "<<INTERFACE_ALIAS>>" -IPAddress "<<IP_ADDRESS>>" -Confirm:$false
Set-NetIPInterface -InterfaceAlias "<<INTERFACE_ALIAS>>" -Dhcp Enabled

Conclusão

Com PowerShell, as configurações de rede no Windows Server tornam-se precisas, reproduzíveis e fáceis de automatizar.
Em hosts com múltiplas NICs, prioridade de roteamento e DNS explícito são pilares da estabilidade.
Incorpore scripts desde a fase inicial para padronizar e acelerar implantações e reconstruções de ambiente.