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 funzionalità 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 macchine virtuali. Questo articolo del blog spiega come configurare il mirroring delle porte 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 disponibili in Hyper-V.
Che cos’è il port mirroring?
Il port mirroring è la funzionalità che consente di duplicare il traffico di rete proveniente da una 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 dotata di un’interfaccia di rete, ecc. In questo contesto, l’host di origine è l’host il cui traffico di rete viene monitorato. La porta di origine è detta anche porta mirrorata, mentre quella di destinazione è detta porta osservata. Il mirroring delle porte è noto anche come Switched Port Analyzer (SPAN).
Tipi e vantaggi
Il mirroring delle porte può essere locale o remoto, a seconda della modalità di connessione tra le porte. Nel caso del mirroring locale delle porte, le porte di rete di origine e di destinazione sono collegate allo stesso switch. Il mirroring remoto delle porte viene utilizzato quando le porte di origine e di destinazione sono collegate a switch diversi. Per il mirroring remoto delle porte è possibile utilizzare il tagging VLAN e l’incapsulamento GRE 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 sul funzionamento dei dispositivi di rete attivi. Gli amministratori possono analizzare il traffico per identificare possibili attacchi sulla rete, individuare l’origine dell’attacco e migliorare la sicurezza della rete. Quando si utilizza il mirroring delle porte, non è necessario acquisire il traffico di rete direttamente nel sistema operativo ospite di una macchina attiva (che può essere, ad esempio, una VM di produzione).
Si noti che il mirroring delle porte consuma larghezza di banda di rete aggiuntiva per trasferire il traffico mirrorato, e potrebbe essere necessario abilitare questa funzione su richiesta quando si deve eseguire un’analisi di 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 replicato (duplicato), ma l’origine e la destinazione della direzione originale del traffico non vengono modificate. Una copia del traffico originale viene inviata alla destinazione per l’analisi. 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 una porta nelle reti IP. Il port forwarding viene utilizzato insieme alla traduzione degli indirizzi di rete (NAT) per la comunicazione tra reti. Non viene creata alcuna copia del traffico originale.
Mirroring delle porte in Hyper-V
È possibile utilizzare la funzionalità di mirroring delle porte 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 è implementata a livello di switch virtuale di Hyper-V. Le funzionalità di estensione dello switch e le ACL (liste di accesso) delle porte vengono utilizzate su uno switch virtuale di Hyper-V per impostare le regole di inoltro e di sniffing del traffico.
Il mirroring delle porte funziona solo all’interno dei 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 di una VM da un host a un altro), non è possibile utilizzare il mirroring delle porte Hyper-V. In questo caso, è necessario configurare una VM di destinazione aggiuntiva per l’analisi di rete sul secondo host Hyper-V verso il quale è stata migrata la VM di origine.
Preparazione alla configurazione del mirroring delle porte
È necessario familiarizzare 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 successiva) 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 (duplicazione) del traffico dalla VM di origine a quella di destinazione.
Lista 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, Ettercape 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 le altre versioni di Windows supportate è identica.
Configurazione di uno switch virtuale
È possibile utilizzare uno switch virtuale esistente oppure crearne uno nuovo. Se sull’host Hyper-V non è presente alcuno switch virtuale, crearne uno nuovo switch virtuale. Per creare uno switch virtuale, procedere come segue:
- Aprire Gestione Hyper-V, fare clic con il tasto destro del mouse sull’host Hyper-V e selezionare
Virtual Switch Managerdal menu contestuale.
- Selezionare un tipo di switch virtuale e fare clic su
Create Virtual Switch. A questo scopo, utilizziamovSwitch0, uno switch esterno (rete in bridge). Fare clic suOKper salvare le impostazioni e chiudere la finestra.
Configurazione della macchina virtuale di origine
Una volta che lo switch virtuale è pronto, è possibile configurare la macchina virtuale di origine di cui si desidera monitorare il traffico.
- Per aprire le impostazioni della macchina virtuale di origine in Hyper-V Manager, fare clic con il tasto destro del mouse sul nome della VM e selezionare
Settingsdal menu contestuale.
- Nella finestra delle impostazioni della macchina virtuale, passare a
Network Adapter > Advanced features. - Nella sezione
Port Mirroring, selezionareSourcecome modalità di mirroring dal menu a discesa. Questa operazione abilita il mirroring delle porte Hyper-V per la porta dello switch virtuale collegato a cui è connessa la porta corrente della macchina virtuale. Fare clic suOKper salvare le impostazioni.
- Prendere nota del nome dello switch virtuale a cui è collegato l’adattatore di rete virtuale della macchina virtuale 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 su cui verrà duplicato il traffico di rete.
Configurazione della VM di destinazione
Si consiglia di creare un adattatore di rete aggiuntivo sulla VM di destinazione e di disabilitare tutti i servizi di rete associati a tale adattatore di rete per un’analisi più accurata. 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 macchina virtuale di destinazione se è in esecuzione.
- Per aprire le impostazioni della macchina virtuale di destinazione, fare clic con il tasto destro del mouse sul nome della VM in Hyper-V Manager e selezionare
Settings. - Fare clic su
Add hardwarenel riquadro sinistro della finestra delle impostazioni della macchina virtuale, selezionareNetwork adaptere fare clic suAdd.
- Selezionare lo switch virtuale a cui verrà collegata la seconda scheda di rete virtuale. Deve trattarsi dello stesso switch virtuale a cui è collegata la prima macchina virtuale (di origine). Nel nostro caso, si tratta di
vSwitch0. Fare clic suOKper salvare le impostazioni e chiudere la finestra.
- Aprire nuovamente le impostazioni della macchina virtuale di destinazione.
- Selezionare la seconda scheda di rete virtuale creata per il mirroring delle porte e la diagnostica del traffico (nell’elenco dell’hardware della macchina virtuale nel riquadro di sinistra) e andare su
Network adapter > Advanced features. - Nella sezione
Port mirroring, selezionareDestinationcome modalità di mirroring per ricevere il traffico di rete replicato. Fare clic suOK.
- Accendere le VM.
- Connettersi alla VM di destinazione creata per ricevere e analizzare il traffico (tramite Hyper-V VMConnect o RDP).

- Aprire
Network and sharing centernella VM Windows di destinazione. Fare clic suChange adapter settings. - Selezionare la seconda scheda di rete creata per l’analisi del traffico (è possibile rinominare questa scheda in
LAN2-SPANper maggiore comodità). - Fare clic con il tasto destro sull’adattatore di rete e selezionare
Properties.
A questo punto, è possibile installare e configurare il software per l’analisi del traffico di rete, come ad esempio WireShark, sulla VM di destinazione.
Installazione di un analizzatore di traffico
- Scarica e installare
Wiresharksulla VM di destinazione. Il processo di installazione è semplice grazie alla procedura guidata dell’interfaccia grafica: è possibile utilizzare le impostazioni predefinite. - Eseguire
Wiresharksulla 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 finestraWireshark.
- 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 dalla VM di origine.
- Possiamo vedere le richieste e le risposte ICMP da/verso 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 effettuare il monitoraggio e l’analisi di altre attività di rete utilizzando altri protocolli.
PowerShell
Il sistema operativo Windows Server consente inoltre di configurare e gestire il mirroring delle porte Hyper-V in PowerShell.
Per abilitare il mirroring delle porte sulla VM di origine e su quella 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 – aggiunge un nuovo adattatore di rete virtuale per una VM
Get-NetAdapter – visualizza un elenco degli adattatori di rete di una VM
Rename-Netadapter – modifica il nome di un adattatore di rete virtuale di una VM
Conclusione
La configurazione del mirroring delle porte di Hyper-V può essere effettuata comodamente nell’interfaccia utente grafica di Hyper-V Manager o in PowerShell. Attenersi ai 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 su host Hyper-V all’interno di un cluster di failover. Wireshark è uno strumento pratico e diffuso per l’analisi del traffico, ma è possibile utilizzare altri strumenti se necessario.