Il tuo indirizzo IP è 162.158.78.139     

Guida al VLAN tagging con gli switch virtuali di VMware vSphere

Scritto da Alessio Carta il . Inserito in vSphere 5.x . Visite: 9369

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.

      External Switch Tagging
  • 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.

      Virtual Switch Tagging

      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).

      virtual machine guest tagging

      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

       

Commenti  

# Marco 2016-04-26 09:13
Domanda, su VMNIC0, ho impostato VSWICH0, e ci "dovrebbero risiedere due macchine.
VM1 con una VNIC che dovrebbe ricevere tutti i pacchetti a lei destinati ignorando il tag e guardando solo l'ip.
(VM1 è il DC)
VM2 con una VNIC che dovrebbe ricevere i pacchetti taggati 100, 200, 300, 400 ... che poi sa lei che farci.
(VM2 è il gateway)
E' possibile?
Rispondi
# giovanni 2014-12-20 16:39
Una domanda
è possibile definire una stessa sottorete dove le VM sipossano parlare utilizzando 2 host ESXi?
Quindi 3 macchine su un Esx e 3 su un altro ESX ?
Grazie
Rispondi
# Alessio 2014-12-22 20:03
Certamente è possibile. E' sufficiente creare un portgroup con lo stesso VLAN ID su entrambi gli host ESXi. Le porte fisiche degli host (quelle a cui si interfacciano tali portgroup) dovranno essere collegate su uno switch in trunk. Pertanto le porte dello switch, usate per questo collegamento, dovranno consentire il passaggio di frame "taggati" con il VLAN ID impostato nei portgroup.

Se hai difficoltà con la configurazione degli switch, dai uno sguardo qui netsetup.it/.../...
Rispondi
# Tasslehoff 2014-07-04 01:30
Ciao, anzitutto ti faccio i complimenti per l'ottimo sito :)

Nel paragrafo VST Mode dici "Il frame può raggiungere altri portgroup nello stesso virtual switch solo se questi hanno lo stesso VLAN ID."
Ma se più portgroup nello stesso vswitch hanno la stessa vlan id, in definitiva non sono "lo stesso" portgroup?
Cioè come possono esistere due portgroup con lo stesso vlan id?

Sempre riguardo allo stralcio che riportavo, supponendo di avere sullo stesso vswitch due portgroup con due differenti vlan id, e su ciascuna vm attestata su questi portgroup ip di subnet corrispondenti a quei vlan id.
In realtà non comunicano direttamente, ma comunque comunicano, giusto?
Mi spiego, mi aspetterei che ciascuna di queste vm inoltri il pacchetto al sui gateway, venga instradato sulla subnet di destinazione e poi raggiunga lo switch sulla porta taggata per quella vlan, raggiunga il virtual switch di vmware e questo passi il frame al portgroup corretto di destinazione in base al vlan id e quindi poi alla vm di destinazione in base al suo mac.
E' corretta come ricostruzione?

Grazie per qualsiasi chiarimento :)
Rispondi
# Alessio 2014-07-04 05:56
Come possono esistere due portgroup con lo stesso vlan id: semplice, è sufficiente che i due portgroup non abbiano vlan id, che significa vlan 1 per entrambi. In ogni caso nessuno ti vieta di avere due portgroup con stesso vlan id.

Nella seconda domanda è più o meno come dici tu, non comunicano direttamente, lo fanno grazie ad un gateway che potrebbe essere lo switch fisico esterno con funzionalità layer 3, oppure un router esterno, in ogni caso serve un elemento che faccia routing tra due subnet diverse. Parlando di livello 3, i mac-address non ci riguardano.

Ciao :D
Rispondi
# Tasslehoff 2014-07-04 23:05
Ti ringrazio del chiarimento, effettivamente giusto oggi ho configurato quattro istanze esxi, ciascuna con 6 differenti vlan (seguendo le preziosissime informazioni che hai pubblicato riguardo al vlan tagging :-) ) e tra i vari test ho provato anche a creare più port group con le medesime vlan id.

Non mi era chiaro perchè erroneamente pensavo che i port group potessero servire solo per il tagging vlan, invece ho visto che possono servire per tante altre cose.
Rispondi

Aggiungi commento


Codice di sicurezza
Aggiorna

Utilizzando questo sito accetti l'uso di cookie per analisi, contenuti personalizzati e pubblicità mirata (tramite Google AdSense). Clicca qui per maggiori informazioni