Configurare uno static route per guidare il traffico attraverso uno specifico gateway

Usa route /p add <destinazione> mask <netmask> <gateway> da un prompt dei comandi elevato per instradare il traffico verso un gateway alternativo su Windows Server 2022, 2025, 2019 o Windows 11 (Windows 10 richiede ESU). Il flag /p la rende persistente; verifica con route print e tracert. Il cmdlet New-NetRoute di PowerShell, parte del modulo NetTCPIP, offre la stessa funzionalità; a differenza di route add, scrive per impostazione predefinita sia nello store attivo sia in quello persistente, quindi non è necessario alcun flag aggiuntivo perché la route sopravviva a un riavvio.

A volte può essere necessario instradare il traffico attraverso un gateway specifico solo per le destinazioni che corrispondono a un gruppo di IP o a una subnet.

Le rotte statiche vengono solitamente configurate a livello di router, ma è possibile configurarle anche localmente dal prompt dei comandi di Windows. Se sei responsabile anche del router e non solo dell’host Windows, potrebbe interessarti anche come configurare Hot Standby Router Protocol (HSRP) sui router Cisco, così che il guasto di un singolo gateway non comprometta il percorso che stai per configurare. Nel nostro esempio utilizziamo Windows Server 2022, ma gli stessi comandi valgono per qualsiasi versione di Windows attualmente supportata – incluse Windows Server 2025, Windows Server 2019 e Windows 11. Windows 10 ha raggiunto la fine del supporto il 14 ottobre 2025: i comandi seguenti funzionano ancora su Windows 10, ma il sistema operativo non riceve più aggiornamenti di sicurezza a meno che il dispositivo non sia iscritto al programma Extended Security Updates (ESU).

Visualizzare la tabella di routing corrente

Per prima cosa, visualizziamo la tabella di routing con il comando route print:

C:\Windows\system32> route print
===========================================================================
Interface List
 12...00 0c 29 4a b2 e1 ......Intel(R) 82574L Gigabit Network Connection
  1...........................Software Loopback Interface 1
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1   192.168.0.10      25
        127.0.0.0        255.0.0.0         On-link       127.0.0.1     331
        127.0.0.1  255.255.255.255         On-link       127.0.0.1     331
  127.255.255.255  255.255.255.255         On-link       127.0.0.1     331
      192.168.0.0    255.255.255.0         On-link    192.168.0.10      281
     192.168.0.10  255.255.255.255         On-link    192.168.0.10      281
    192.168.0.255  255.255.255.255         On-link    192.168.0.10      281
        224.0.0.0        240.0.0.0         On-link       127.0.0.1     331
        224.0.0.0        240.0.0.0         On-link    192.168.0.10      281
  255.255.255.255  255.255.255.255         On-link       127.0.0.1     331
  255.255.255.255  255.255.255.255         On-link    192.168.0.10      281
===========================================================================
Persistent Routes:
  None
===========================================================================

Possiamo vedere che il traffico Internet (identificato dalla destinazione 0.0.0.0 e dalla maschera 0.0.0.0) viene instradato attraverso il gateway 192.168.0.1, mentre la subnet 192.168.0.0/24 è collegata direttamente (On-Link).

Creare una rotta statica

Ora è il momento di creare una rotta statica. Invieremo il traffico diretto all’indirizzo IP 1.1.1.1 attraverso il gateway alternativo 192.168.0.254.

Dobbiamo usare il comando route da un prompt CMD elevato (Esegui come amministratore). Ecco una descrizione dei parametri:

  • Destination: specifica un indirizzo IP, un hostname o una subnet
  • Mask: specifica la subnet mask associata alla rotta (il valore predefinito è 255.255.255.255 se non specificato)
  • Gateway: specifica l’indirizzo IP del gateway di next-hop
  • Metric: specifica un valore intero per la misurazione del costo (il valore predefinito è 1 se non specificato)
  • Interface: specifica l’interfaccia usata per la rotta (determinata automaticamente dall’indirizzo del gateway se non specificata)

Nel nostro esempio eseguiamo il comando come segue:

route /p add 1.1.1.1 mask 255.255.255.255 192.168.0.254

Rendere la rotta persistente

Il parametro /p rende la rotta persistente: viene salvata nel registro e sopravvive ai riavvii. Senza /p, la rotta viene persa al riavvio della macchina.

C:\Windows\system32> route /p add 1.1.1.1 mask 255.255.255.255 192.168.0.254
 OK!

Verificare la nuova rotta

Con un altro route print possiamo confermare che la rotta statica è stata aggiunta e verificarne il valore di metrica rispetto alle altre rotte:

C:\Windows\system32> route print
===========================================================================
Interface List
 12...00 0c 29 4a b2 e1 ......Intel(R) 82574L Gigabit Network Connection
  1...........................Software Loopback Interface 1
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1   192.168.0.10      25
          1.1.1.1  255.255.255.255    192.168.0.254   192.168.0.10       1
        127.0.0.0        255.0.0.0         On-link       127.0.0.1     331
        127.0.0.1  255.255.255.255         On-link       127.0.0.1     331
  127.255.255.255  255.255.255.255         On-link       127.0.0.1     331
      192.168.0.0    255.255.255.0         On-link    192.168.0.10      281
     192.168.0.10  255.255.255.255         On-link    192.168.0.10      281
    192.168.0.255  255.255.255.255         On-link    192.168.0.10      281
        224.0.0.0        240.0.0.0         On-link       127.0.0.1     331
        224.0.0.0        240.0.0.0         On-link    192.168.0.10      281
  255.255.255.255  255.255.255.255         On-link       127.0.0.1     331
  255.255.255.255  255.255.255.255         On-link    192.168.0.10      281
===========================================================================
Persistent Routes:
  Network Address          Netmask  Gateway Address  Metric
          1.1.1.1  255.255.255.255    192.168.0.254       1
===========================================================================

La nuova voce 1.1.1.1 compare in Active Routes con metrica 1 – inferiore alla metrica 25 della rotta predefinita, a conferma che avrà la priorità per quella destinazione specifica. Compare anche in Persistent Routes, a conferma che sopravvivrà a un riavvio.

Con il comando tracert possiamo verificare che la rotta statica funzioni e che il traffico verso 1.1.1.1 venga effettivamente inoltrato attraverso 192.168.0.254:

C:\Windows\system32> tracert 1.1.1.1
Tracing route to one.one.one.one [1.1.1.1]
over a maximum of 30 hops:
  1    <1 ms    <1 ms    <1 ms  192.168.0.254
  2     4 ms     4 ms     5 ms  203.0.113.1
  3     9 ms     9 ms    10 ms  1.1.1.1
Trace complete.

Il primo hop è 192.168.0.254, a conferma che il traffico sta seguendo il gateway alternativo come previsto.

Eliminare una rotta statica

Puoi eliminare la rotta in qualsiasi momento con:

C:\Windows\system32> route delete 1.1.1.1
 OK!

Alternativa PowerShell

Per gli ambienti in cui le rotte devono essere scriptate o gestite da remoto, il modulo NetTCPIP fornisce i cmdlet PowerShell equivalenti, disponibili su tutte le versioni di Windows attualmente supportate. Se non hai ancora dimestichezza con la shell, la nostra Guida a PowerShell è un buon punto di partenza prima di affrontare i cmdlet qui sotto.

# Visualizza la tabella di routing IPv4
Get-NetRoute -AddressFamily IPv4

# Aggiungi una rotta statica
# Prima, recupera l'indice dell'interfaccia con: Get-NetIPInterface
New-NetRoute -DestinationPrefix "1.1.1.1/32" -NextHop "192.168.0.254" -InterfaceIndex 12 -RouteMetric 1 

# Rimuovi una rotta statica
Remove-NetRoute -DestinationPrefix "1.1.1.1/32" -Confirm:$false

Nota che New-NetRoute richiede l’indice dell’interfaccia (-InterfaceIndex), che puoi recuperare in anticipo con Get-NetIPInterface o Get-NetAdapter. Per il riferimento completo dei parametri, consulta la documentazione ufficiale Microsoft.

Domande frequenti

Come faccio a far sopravvivere una rotta statica di Windows a un riavvio?

Aggiungi /p al comando route add, subito dopo il gateway — ad esempio route /p add 1.1.1.1 mask 255.255.255.255 192.168.0.254. Questo scrive la rotta nel registro, così viene ricaricata a ogni avvio di TCP/IP. Senza /p la rotta vive solo nella tabella attiva e sparisce al riavvio. Verifica con route print.

Devo usare route add o New-NetRoute per aggiungere una rotta statica?

Fanno lo stesso lavoro. route add va bene per una rotta occasionale o un troubleshooting rapido su un singolo server. New-NetRoute, del modulo PowerShell NetTCPIP, è meglio per gestione remota, script su più macchine o automazione — specialmente se già scripti la configurazione dei server in PowerShell.

Come rimuovo una rotta statica che non mi serve più su Windows?

Da un prompt elevato, route delete 1.1.1.1 rimuove sia la voce attiva sia, se creata con /p, quella persistente. In PowerShell usa Remove-NetRoute -DestinationPrefix “1.1.1.1/32” -Confirm:$false per saltare la conferma. In entrambi i casi, esegui route print o Get-NetRoute dopo per verificare che sia sparita.

Read related articles