Configurazione di rete in Windows Server

Panoramica

Questo articolo spiega come gestire in modo unificato la configurazione di rete in Windows Server tramite PowerShell.
Copriamo IP statico, DNS, priorità di routing e accortezze per ambienti con più schede di rete (NIC).


Convenzione delle variabili

Variabile Esempio Descrizione
<<INTERFACE_ALIAS>> Ethernet0 Nome dell’adattatore di rete
<<IP_ADDRESS>> 192.168.10.100 Indirizzo IP statico
<<PREFIX_LENGTH>> 24 Lunghezza del prefisso (es.: 24 per 255.255.255.0)
<<GATEWAY>> 192.168.10.1 Gateway predefinito
<<DNS1>> 192.168.10.10 DNS primario
<<DNS2>> 8.8.8.8 DNS secondario (opzionale)

Passo 1: Verificare la configurazione di rete corrente

Elenca le NIC e controlla la configurazione IP.

# Elenco adattatori
Get-NetAdapter | Select-Object Name, Status, MacAddress, LinkSpeed

# Configurazione IP
Get-NetIPAddress | Select-Object InterfaceAlias, IPAddress, PrefixLength, DefaultGateway, PrefixOrigin
OriginType Significato Nota
Manual Indirizzo statico impostato manualmente Definito via PowerShell o GUI
DHCP Indirizzo assegnato automaticamente dal server DHCP Abilitato con Set-NetIPInterface -Dhcp Enabled
WellKnown Indirizzo riservato di sistema (link-local/APIPA) Es. 169.254.x.x quando DHCP non risponde

Passo 2: Passare da DHCP a IP statico

Disabilita DHCP e imposta un IP fisso.

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

# Rimuovere l'indirizzo DHCP (se presente)
Get-NetIPAddress -InterfaceAlias "<<INTERFACE_ALIAS>>" -AddressFamily IPv4 |
  Where-Object { $_.PrefixOrigin -eq "Dhcp" } |
  Remove-NetIPAddress -Confirm:$false

# Impostare IP statico
New-NetIPAddress `
  -InterfaceAlias "<<INTERFACE_ALIAS>>" `
  -IPAddress "<<IP_ADDRESS>>" `
  -PrefixLength <<PREFIX_LENGTH>> `
  -DefaultGateway "<<GATEWAY>>"

Attenzione:
Usare Remove-NetIPAddress solo per rimuovere assegnazioni DHCP.
Eseguirlo sull’interfaccia usata dalla sessione remota può interrompere la connessione.


Passo 3: Configurare i server DNS

Specifica i DNS e verifica l’applicazione.

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

# Verifica impostazioni
Get-DnsClientServerAddress -InterfaceAlias "<<INTERFACE_ALIAS>>"

Svuota la cache DNS e prova la risoluzione:

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

Passo 4: Impostare la priorità con più NIC

In sistemi con più reti, controlla la priorità di routing tramite InterfaceMetric.
Valori più bassi = priorità più alta.

# Priorità correnti
Get-NetIPInterface | Sort-Object -Property InterfaceMetric |
  Select-Object InterfaceAlias, AddressFamily, InterfaceMetric

# Modificare la priorità (dare precedenza alla NIC di gestione)
Set-NetIPInterface -InterfaceAlias "<<INTERFACE_ALIAS>>" -InterfaceMetric 10

Valori consigliati:

  • LAN di gestione: 10
  • LAN di backup: 20–50
  • Traffico cluster/iSCSI: 100 o superiore

Passo 5: Verifiche operative

# Raggiungibilità del gateway
Test-Connection "<<GATEWAY>>" -Count 4

# Test risoluzione DNS
Resolve-DnsName "www.microsoft.com"

Suggerimento:
Se le impostazioni DNS non hanno effetto, riavvia il servizio client DNS:

net stop dnscache && net start dnscache

Passo 6: Disabilitare IPv6 (se richiesto)

Di default IPv4 e IPv6 coesistono. Se la tua rete non usa IPv6, puoi disabilitarlo per evitare percorsi/annunci e variazioni indesiderate nella risoluzione.

# Stato binding IPv6
Get-NetAdapterBinding `
  -InterfaceAlias "<<INTERFACE_ALIAS>>" `
  -ComponentID "ms_tcpip6"

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

# Verifica post-modifica
Get-NetAdapterBinding `
  -InterfaceAlias "<<INTERFACE_ALIAS>>" `
  -ComponentID "ms_tcpip6"

Riabilitare IPv6:

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

Passo 7: Buone pratiche

  • Fissare il nome delle NIC
    Evita rinominazioni automatiche assegnando nomi gestionali:

    Rename-NetAdapter -Name "<<INTERFACE_ALIAS>>" -NewName "LAN-Primary"
    
  • Rimuovere rotte non necessarie
    Pulisci rotte predefinite duplicate/errate:

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

Abilitare/Disabilitare un adattatore di rete

# Disabilitare adattatore
Disable-NetAdapter -Name "<<INTERFACE_ALIAS>>" -Confirm:$false
# Abilitare adattatore
Enable-NetAdapter -Name "<<INTERFACE_ALIAS>>"

Rimuovere l’IP statico e tornare a DHCP

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

Conclusione

Con PowerShell, la configurazione di rete in Windows Server diventa precisa, ripetibile e facilmente automatizzabile.
In host multi-NIC, priorità di routing e DNS esplicito sono fondamentali per la stabilità.
Integra la scriptabilità fin dall’inizio per standardizzare e accelerare deployment e ricostruzioni.