In questo articolo vedremo come configurare le VLAN negli switch virtuali allinterno di un host ESXi, sia per la comunicazione interna, sia esterna fra diverse VLAN, e analizzeremo nel dettaglio le diverse modalità di VLAN tagging esistenti. Nel mondo di VMware vSphere, le VLAN rispettano il protocollo 802.1q: per chi non avesse chiaro il concetto di VLAN, consiglio di vedere prima l'articolo generale VLAN: le LAN virtuali.
Ci sono vari motivi per cui è raccomandabile l'uso delle VLAN nell'infrastruttura virtuale:
- integrare gli host ESXi nella rete fisica esistente, già suddivisa in VLAN;
- ridurre e tenere sotto controllo le congestioni di rete, grazie alla suddivisione della rete in segmenti isolati a livello 2;
- favorire la sicurezza in rete, grazie alla segmentazione indicata al punto sopra;
- isolare importanti servizi, come ad esempio il traffico iSCSI, dal resto della rete.
Esistono tre modalità di implementare le VLAN all'interno di un host ESXi:
-
External Switch Tagging (EST Mode)
- il tagging dei pacchetti è eseguito nello switch fisico;
- le interfacce di rete degli host ESXi sono connesse alle "access ports" (o porte untagged member) dello switch fisico;
- i portgroup connessi allo switch virtuale devono avere VLAN ID 0.
-
Virtual Switch Tagging (VST Mode)
- il tagging dei pacchetti è eseguito nello switch virtuale, prima che i pacchetti escano dall'host ESXi;
- le interfacce di rete degli host ESXi devono essere connesse alle porte di trunk (o porte tagged member) dello switch fisico;
- i portgroup connessi allo switch virtuale devono avere un VLAN ID appropiato.
All'interno di un portgroup, il traffico è sempre di tipo untagged e le macchine virtuali non sanno a quale VLAN appartengono. Se una VM invia un frame ad un'altra nello stesso portgroup (quindi stessa VLAN), allora il frame è inoltrato così com'è. Il frame può raggiungere altri portgroup nello stesso virtual switch solo se questi hanno lo stesso VLAN ID. Quando due VM si trovano in due diversi virtual switch (anche se sono nello stesso host ESXi), il traffico attraverserà lo switch fisico. Per ogni frame in uscita da un portgroup, il VMkernel dell'host ESXi aggiunge il corretto VLAN tag prima che il frame raggiunga l'interfaccia di uplink.
N.B.: la "Native VLAN" non viene taggata ed i suoi pacchetti raggiungono solo i portgroup con VLAN ID 0.
Di seguito un esempio di configurazione su switch Cisco per l'impiego con il VST Mode:
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10,20
spanning-tree portfast trunk
-
Virtual Machine Guest Tagging (VGT Mode)
- il tagging dei pacchetti è eseguito nella macchina virtuale;
- la macchina virtuale deve essere in grado di gestire il protocollo 802.1q (802.1Q VLAN trunking driver);
- i VLAN tag dei pacchetti sono preservati nel loro passaggio tra macchina virtuale e switch fisico esterno;
- le interfacce di rete degli host ESXi devono essere connesse alle porte di trunk (o porte tagged member) dello switch fisico;
- il portgroup a cui è connessa la macchina virtuale deve avere VLAN ID 4095 (significa che fa passare tutte le VLAN).
La modalità VGT è utilizzata principalmente con macchine virtuali che fungono da router, firewall, IPS e IDS, quindi in grado di riconoscere il traffico taggato proveniente dalle VLAN esterne. Un altro uso del VGT è per lo sniffing del traffico; in tal caso è necessario abilitare la modalità promiscua nelle impostazioni del port group in cui risiede la VM con il software di packet sniffing.
Di seguito un esempio di configurazione su switch Cisco per l'impiego con il VGT Mode:
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10,20
spanning-tree portfast trunk