Port Mirroring in Hyper-V: Guida alla configurazione
La risoluzione dei problemi è un’attività comune per gli amministratori di sistema che lavorano con le reti. Le apparecchiature di rete professionali dispongono solitamente di funzioni per il monitoraggio e la risoluzione dei problemi, come il mirroring delle porte. Il mirroring delle porte può essere utile anche per analizzare il traffico di rete in ambienti virtuali, comprese le reti virtuali su host Microsoft Hyper-V e le comunicazioni di rete tra VM. Questo post del blog spiega come configurare il port mirroring di Microsoft Hyper-V per analizzare le comunicazioni di rete in un ambiente virtuale.
Concetti chiave del port mirroring
Prima di spiegare come configurare il port mirroring, esaminiamo i concetti chiave, il principio di funzionamento e le funzioni di configurazione Hyper-V esistenti.
Che cos’è il mirroring delle porte?
Il mirroring delle porte è la funzionalità che consente di duplicare il traffico di rete della porta di rete di un host di origine su una porta di rete (adattatore di rete) di un host secondario per un’ulteriore analisi di tale traffico. Un host può essere una macchina fisica, una VM, un’apparecchiatura di rete con un’interfaccia di rete, ecc. Un host di origine è l’host il cui traffico di rete viene monitorato in questo contesto. La porta di origine è anche chiamata porta mirroring e la porta di destinazione è anche chiamata porta osservata. Il mirroring delle porte è anche denominato Switched Port Analyzer (SPAN).
Tipi e vantaggi
Il mirroring delle porte può essere locale e remoto, a seconda della modalità di connessione tra le porte. Per il mirroring delle porte locale, le porte di rete di origine e destinazione sono collegate allo stesso switch. Il mirroring delle porte remoto viene utilizzato quando le porte di origine e di destinazione sono collegate a switch diversi. Il tagging VLAN e l’incapsulamento GRE possono essere utilizzati per il mirroring delle porte remoto per trasferire il traffico di rete alla porta e al dispositivo monitorati.
Il vantaggio del mirroring delle porte è la possibilità di analizzare ed eseguire il debug delle comunicazioni di rete senza influire sull’elaborazione dei dispositivi di rete attivi. Gli amministratori possono analizzare il traffico per identificare possibili attacchi sulla rete, rilevare la fonte dell’attacco e migliorare la sicurezza della rete. Quando si utilizza il mirroring delle porte, non è necessario acquisire il traffico di rete direttamente in un sistema operativo guest di una macchina attiva (che può essere, ad esempio, una VM di produzione).
Si noti che il mirroring delle porte consuma una larghezza di banda di rete aggiuntiva per trasferire il traffico mirrorato e potrebbe essere necessario abilitare questa funzione su richiesta quando è necessario eseguire l’analisi della rete.
Mirroring delle porte vs. inoltro delle porte
Il mirroring delle porte differisce dall’inoltro delle porte perché il traffico di rete, come i pacchetti TCP o i datagrammi UDP, non può essere reindirizzato nel mirroring delle porte. Il traffico può essere mirrorato (duplicato), ma l’origine e la destinazione del traffico originale non vengono modificate. Una copia del traffico originale viene inviata alla destinazione per essere analizzata.
Nel port forwarding, la destinazione del traffico (come i pacchetti TCP o i datagrammi UDP) può essere modificata e pacchetti specifici (o altre unità di dati di protocollo) possono raggiungere un altro indirizzo IP e un’altra porta nelle reti IP. Il port forwarding viene utilizzato con la traduzione degli indirizzi di rete (NAT) per la comunicazione tra reti. Non viene creata alcuna copia del traffico originale.
Port mirroring in Hyper-V
È possibile utilizzare la funzionalità di port mirroring in Hyper-V per analizzare il traffico nelle reti virtuali a cui le VM sono connesse tramite switch virtuali. È necessario definire una VM di destinazione e installare un software di acquisizione del traffico, come Wireshark, per l’analisi del traffico. A questo scopo è possibile utilizzare altri sistemi di rilevamento delle intrusioni (IDS) disponibili.
La funzione di mirroring delle porte di Hyper-V è simile al mirroring delle porte hardware, ma viene implementata a livello di switch virtuale Hyper-V. Le funzionalità di estensione dello switch e gli ACL (elenchi di accesso) delle porte vengono utilizzati su uno switch virtuale Hyper-V per impostare regole per l’inoltro e lo sniffing del traffico.
Il mirroring delle porte funziona solo entro i confini di un singolo host Hyper-V. Se le VM si trovano su host Hyper-V diversi (ad esempio, in un cluster di failover, dopo la migrazione della VM da un host all’altro), non è possibile utilizzare il mirroring delle porte Hyper-V. In questo caso, è necessario configurare una VM di destinazione aggiuntiva per l’analisi della rete sul secondo host Hyper-V su cui è stata migrata la VM di origine.
Preparazione alla configurazione del mirroring delle porte
È necessario acquisire familiarità con i requisiti per configurare il mirroring delle porte Hyper-V.
Prerequisiti e condizioni di configurazione
Di seguito sono riportati i requisiti per configurare il mirroring delle porte in un ambiente Hyper-V:
- Windows Server 2012 R2 (o versione più recente) con Hyper-V e accesso amministrativo. È possibile utilizzare Windows 10 o versioni successive come sistema operativo client.
- Uno switch virtuale su un host Hyper-V.
- Almeno due VM per eseguire il mirroring (duplicare) il traffico dalla VM di origine alla VM di destinazione.
Elenco di controllo hardware e software
È obbligatorio installare uno sniffer di traffico (analizzatore di traffico) o un sistema di rilevamento delle intrusioni sulla VM di destinazione. Esempi di tali strumenti sono Wireshark, Microsoft Network Monitor, Ettercap e SmartSniff.
Passaggi di configurazione
Abbiamo due VM Windows su un host Hyper-V:
- Wind0ws-VM – la VM di origine (192.168.101.215)
- Win-VM-Dest – la VM di destinazione (192.168.101.212)
Un host Hyper-V è configurato su Windows Server 2019. La configurazione per altre versioni di Windows supportate è identica.
Configurazione di uno switch virtuale
È possibile utilizzare uno switch virtuale esistente o crearne uno nuovo. Se non è presente alcuno switch virtuale sull’host Hyper-V, crearne uno nuovo switch virtuale. Per creare uno switch virtuale, procedere come segue:
- Aprire Hyper-V Manager, fare clic con il pulsante destro del mouse sull’host Hyper-V e selezionare Virtual Switch Manager nel menu contestuale.

- Selezionare un tipo di switch virtuale e premere Crea switch virtuale. A questo scopo, utilizziamo vSwitch0, uno switch esterno (rete bridge). Premere OK per salvare le impostazioni e chiudere la finestra.

Configurazione della VM di origine
Una volta che lo switch virtuale è pronto, è possibile configurare la VM di origine di cui si desidera effettuare il monitoraggio del traffico.
- Per aprire le impostazioni della VM di origine in Hyper-V Manager, fare clic con il pulsante destro del mouse sul nome della VM e selezionare Impostazioni nel menu contestuale.

- Nella finestra delle impostazioni della VM, vai su Adattatore di rete > Funzioni avanzate.
- Nella sezione Port Mirroring , selezionare Origine come modalità di mirroring nel menu a discesa. Questa azione abilita il mirroring della porta Hyper-V per la porta dello switch virtuale collegato a cui è collegata la porta corrente della VM. Premere OK per salvare le impostazioni.

- Ricordare il nome dello switch virtuale a cui è collegato l’adattatore di rete virtuale della VM di origine. Il vantaggio è che è possibile configurare più di una VM di origine per analizzare il traffico di tutte le VM sulla VM di destinazione.
La fase successiva consiste nel configurare la VM di destinazione alla quale verrà rispecchiato (duplicato) il traffico di rete.
Configurazione della VM di destinazione
La pratica consigliata consiste nel creare un adattatore di rete aggiuntivo sulla VM di destinazione e disabilitare tutti i servizi di rete per questo adattatore di rete, al fine di ottenere un’analisi più precisa. Questo approccio consente di ottenere il dump completo del traffico di rete dopo aver disabilitato i servizi e i protocolli di rete non necessari.
- Spegnere la VM di destinazione se è in esecuzione.
- Per aprire le impostazioni della VM di destinazione, fare clic con il pulsante destro del mouse sul nome della VM in Hyper-V Manager e selezionare Impostazioni.
- Fare clic su Aggiungi hardware nel riquadro sinistro della finestra delle impostazioni della VM, seleziona Adattatore di rete, quindi premi Aggiungi.

- Seleziona lo switch virtuale a cui sarà collegata la seconda scheda di rete virtuale. Deve essere lo stesso switch virtuale a cui è collegata la prima (origine). Nel nostro caso, si tratta di vSwitch0. Premere OK per salvare le impostazioni e Chiudi la finestra.

- Aprire nuovamente le impostazioni della VM di destinazione.
- Selezionare il secondo adattatore di rete virtuale creato per il mirroring delle porte e la diagnostica del traffico (nell’elenco dell’hardware della VM nel riquadro sinistro) e andare su Adattatore di rete > Funzioni avanzate.
- Nella sezione Port mirroring , selezionare Destinazione come modalità di mirroring per ricevere il traffico di rete mirrorato. Premere OK.

- Accendere le VM.
- Connettersi alla VM di destinazione creata per ricevere e analizzare il traffico (con Hyper-V VMConnect o RDP).

- Aprire Centro connessioni di rete e condivisione nella VM Windows di destinazione. Fare clic su Modifica impostazioni dell’adattatore di rete.
- Selezionare il secondo adattatore di rete creato per l’analisi del traffico (è possibile rinominare questo adattatore in LAN2-SPAN per maggiore comodità).
- Fare clic con il pulsante destro del mouse sull’adattatore di rete e selezionare Proprietà.

Ora è possibile installare e configurare software per l’analisi del traffico di rete, come WireShark, sulla VM di destinazione.
Installazione di un analizzatore di traffico
- Scarica e installare Wireshark sulla VM di destinazione. Il processo di installazione è semplice grazie alla procedura guidata GUI: è possibile utilizzare le impostazioni predefinite.
- Eseguire Wireshark sulla VM di destinazione.
- Fare doppio clic sull’adattatore di rete creato appositamente per il mirroring delle porte e l’analisi del traffico di rete (LAN2-SPAN) nella finestra di Wireshark.

- Ora è possibile visualizzare l’attività di rete della VM di origine (l’indirizzo IP della VM di origine è 192.168.101.215). Eseguiamo un ping su google.com sulla VM di origine.
- Possiamo vedere le richieste ICMP e le risposte da/a 142.251.208.110, che è l’indirizzo IP dell’host google.com in questo momento.

- Per maggiore comodità, è possibile abilitare un filtro, ad esempio selezionando ICMP.

Questo è un esempio di base. È possibile monitorare e analizzare altre attività di rete utilizzando altri protocolli.
PowerShell
Il sistema operativo Windows Server consente anche di configurare e gestire il mirroring delle porte Hyper-V in PowerShell.
Per abilitare il mirroring delle porte sulla VM di origine e di destinazione, eseguire i comandi corrispondenti:
Set-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring Source
Set-VMNetworkAdapter -VMName Win-VM-Dest -PortMirroring Destination
Per disabilitare il mirroring delle porte per una VM:
Set-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring None
Per verificare le impostazioni di mirroring delle porte per le VM:
(Get-VMNetworkAdapter -VMName Wind0ws-VM).PortMirroringMode
(Get-VMNetworkAdapter -VMName Win-VM-Dest).PortMirroringMode
È possibile utilizzare i seguenti comandi per visualizzare le informazioni di guida:
Get-Help Set-VMNetworkAdapter
Get-Help Set-VMNetworkAdapter -full
Get-Help Set-VMNetworkAdapter -detailed
Get-Help Set-VMNetworkAdapter -examples
I seguenti comandi possono essere utili per configurare il mirroring delle porte:
Add-VMNetworkAdapter – aggiungere un nuovo adattatore di rete virtuale per una VM
Get-NetAdapter – visualizzare un elenco di adattatori di rete per una VM
Rename-Netadapter – modificare il nome di un adattatore di rete virtuale di una VM
Conclusione
La configurazione del mirroring delle porte Hyper-V può essere eseguita comodamente nell’interfaccia utente grafica di Hyper-V Manager o in PowerShell. Seguire i requisiti e tenere presenti le limitazioni, come l’ubicazione delle VM di origine e di destinazione su un singolo host Hyper-V. Potrebbe essere necessario configurare ulteriori VM di destinazione con uno strumento di analisi del traffico sugli host Hyper-V in un cluster di failover. Wireshark è uno strumento comodo e diffuso per l’analisi del traffico, ma è possibile utilizzare altri strumenti se necessario.