VMware Global Community
cybermodding
Enthusiast
Enthusiast

Switch Distribuiti e gestione vlan - complesso

Salve a tutti, sono qui perchè mi trovo bloccato su di un problema, cercherò di essere il più chiaro possibile.

Attualmente ho due nodi 5.1 in cluster e, tramite pfsense, gestisco la connettività di alcuni clienti, utilizzando le vlan (anche sugli switch, per poter gestire in maniera segmentata e privata ogni singolo cliente.
Al momento mi muovo così:
- su ogni switch fisico ha le vlan programmate e le porte fisiche dedicate al cliente del caso che si collegherà
- su ogni nodo è presente un vSwitch Standard collegato fisicamente ad una scheda di rete del server, a sua volta collegata ad uno switch fisico (quello menzionato sopra, con le vlan impostate).
- in questo vSwitch è presente un Port Group con tutte le vlan gestibili - All (4095)
standard all vlan.png

- sempre in questo vSwitch, poi sono presenti le singole vlan di ogni cliente che gestisco

standard vlan cliente.png

- questo vSwitch è collegato tramite scheda di rete virtuale, al pfsense che gestisce i tag vlan.

il problema è che per ogni cliente che aggiungo o modifico, la modifica deve essere fatta anche sull'altro nodo, in modo da avere la corrispondenza in caso di vmotion.

Ora, da poco, ho scoperto la comodità degli switch distribuiti e ci terrei a replicare lo stesso funzionamento, ma purtroppo non ci riesco.
Nel particolare non mi trovo su come aggiungere un portgroup principale che gestisca tutte le vlan (come nella prima figura), per poi agganciarvi il pfsense del caso.

So che per due nodi potrei continuare a prendere la stessa strada usata fin'ora, funzionante, ma per un discorso di esercizio di stile e per imparare, vorrei passare agli switch distribuiti.

Attualmente ho creato un dvSwitch con una scheda di rete fisica collegata allo switch fisico con tutti i tag del caso.
le macchine che non comunicano con il sistema di tag di pfsense vanno più che egregiamente, il problema sono quelle collegate dietro al pfsense.

Non so se mi sono spiegato.... scusate ma sono le primissime volte che affronto questo tipo di implementazione.

Confido in un vostro consiglio, al momento proseguo le letture

0 Kudos
19 Replies
ldelloca
Virtuoso
Virtuoso

Ciao,

non capisco sinceramente perchè devi utilizzare ma modalità VGT per il tagging (http://kb.vmware.com/kb/1004252), se non usi poi le VLAN sulle virtual machine. Hai già le singole VLAN sui vari port group, e su ogni singolo vswitch puoi avere in contemporanea tutte le VLAN che ti servono. Basta che le intesti tutte sugli switch e sul pfsense, e sei a posto…

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"
0 Kudos
scanda
Expert
Expert

Il fatto di utilizzare il VGT sul guest pFsense credo sia legato al fatto di utilizzare una sola vNIC per gestire tutte le VLAN dei clienti, utilizzando i vari portgroup dovrebbe aggiungere una vNIC per portgroup (sempre se ho interpretato bene) andando incontro ai limiti delle vNIC utilizzabili.

Sul VDS non funziona come sui VSS, infatti non puoi utilizzare la VLAN 4095  per fare il VGT, devi utilizzare il VLAN Trunking e specificare il range delle VLAN che intendi utilizzare es : 1-200.

saluti

0 Kudos
ldelloca
Virtuoso
Virtuoso

Ciao,

Nel post originario non c’era nessuna indicazione che lo fosse. per quello chiedevo il senso della presenza della vlan 4095…

Se pfsense è virtuale allora assolutamente hai ragione, il vlan trunk è la soluzione.

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"
0 Kudos
scanda
Expert
Expert

Infatti non è molto chiaro se utilizza una sola vnic, vediamo se conferma o meno.

0 Kudos
cybermodding
Enthusiast
Enthusiast

ragazzi, scusa, sono stato io superficiale con le informazioni.
Premetto che non sono un pozzo con vmware, mi ci sto allenando ora, diciamo, con queste evoluzioni sul networking.

Dunque, nella mia realtà ci sono alcuni clienti che hanno magari una sola macchina su di un nodo, tipo Domain Controller, e veicolo tutto il traffico ai vari locali tramite vlan sugli switch.
Altri clienti hanno necessità maggiori, in pratica ho un pfsense che gestisce tutta la connettività in termini di ip e banda dinsponibile, poi natto i pubblici sotto altri pfsense (alcuni sono singoli e totalmente dedicati ad ogni cliente, tipo "pfsensepippo per cliente pippo, pfsensepluto per cliente pluto",) questo perchè devo gestire più servizi, come vpn site to site, dial in, carp, proxy.

Essendoci molti clienti più piccoli, formati magari da 2/3 utenti e senza la necessità di servizi avanzati, allora utilizzo le vlan di pfsense (in uno di questi per esempio ho impostato circa 20 vlan ossia sono 20 clienti).

Come ha detto scanda, pfsense ha un limite di interfacce utilizzabili (sia phisiche che virtualizzate) ma con le vlan questo limite viene bypassato.
Ad ogni modo, OGNI pfsense è virtualizzato.

Forse non è la miglior strategia di implementazione, questo non lo metto in dubbio, ma come ben sappiamo tuti, in questo lavoro, esistono più strade per fare la stessa cosa, solo che una è meglio delle altre Smiley Wink

Ora, se sono riuscito a spiegare un pò meglio la mia condizione, mi piacerebbe poter implementare qualcosa di più comodo da gestire sui vari nodi, anche per poter attivare HA e Fault Tollerance.

Attendo vostre, e grazie per la pazienza

0 Kudos
ldelloca
Virtuoso
Virtuoso

Ciao,

se i pfsense sono virtualizzati, allora vale la risposta di Scanda: nel passare ai distributed switches, devi creare un port group di tipo "VLAN trunk” in cui immetti l’elenco delle VLAN che devono passare su quel port group. Non puoi metttere la 4095, ma devi esplicitare tutte le vlan che ti servono.

Ciao,

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"
0 Kudos
cybermodding
Enthusiast
Enthusiast

bene ragazzi, ho tirato su un altro pfsense per i test, farò il trunk come mi avete consigliato.
A breve news, spero a breve!!

Non puoi mettere la 4095, ma devi esplicitare tutte le vlan che ti servono.

... quindi ho 20 vlan devo scriverne venti?
Perchè quando mi chiede che tipo di vlan usare, se metto trunk mi fa specificare anche dei range, posso fare 1-4095 per specificare l'intervallo di porte?

tipo così:

trunk.png

0 Kudos
scanda
Expert
Expert

Nel range devi specificare quali ID sono permessi e non il numero di VLAN che intendi utilizzare.

Se usi le VLAN dall 1 alla 20 metti 1-20 come range. Se invece utilizzi ID diversi tipo 1,5,30,31,100,1304 etc. metti un range che le comprenda tutte : 1-1304.

PS : invece di usare l'FT prendi in considerazione l'utilizzo di CARP e pFsync per configurazioni in HA di pfsense, hanno meno impatto sulle risorse del cluster e con una regola RDS adhoc puoi tenere le 2 VM pFsense sempre su 2 nodi distinti.

saluti

0 Kudos
cybermodding
Enthusiast
Enthusiast

sto facendo delle prove ma, mea culpa, non ne vengo a capo.
provo a spiegarvi cosa ho fatto nel dettaglio, con anche print screen

- ho creato un pfsense con due schede di rete, una wan e l'altra lan. La wan l'ho collegata alla mia rete locale, assicurandomi che il pfsense potesse navigare.

- lato lan il pfsense è collegato ad un port group di tipo VLAN TRUNK ed ho messo il range 1-4094

DVpg1-4094.png
- ho creato una vlan sul pfsense con tag 23 ed ho creato un'interfaccia di rete associandola a questo tag e alla scheda di rete collegata al port group sopra menzionato:
pfsensetest_vlan.png

interfaccia con vlan.png

NB- em1 è la scheda di rete virtuale collegata al port group chiamato vlantruk1-4064 (ho scritto male, sorry)

quindi sono a questo punto:

wan ---- pfsense lan   ---___ dvgroup trunk 1-4094

                                  |

                                  |___ vlan23 associata


Non so se fino ad ora è tutto corretto, ma così a spanne direi di si.
Adesso, iniziano i fortissimi brancolamenti al buio: se dovessi collegare una vm per testare la riuscita della rete, come dovrei continuare?

Ho il sospetto che debba impostare sulla scheda di rete del sistema operativo (in questo caso xp con scheda di tipo vmxnet3) l'utilizzo del tag e il suo id (23)

E se invece dovessi collegarci uno switch fisico?


PS : invece di usare l'FT prendi in considerazione l'utilizzo di CARP e pFsync per configurazioni in HA di pfsense, hanno meno impatto sulle risorse del cluster e con una regola RDS adhoc puoi tenere le 2 VM pFsense sempre su 2 nodi distinti.

perdonami scanda ma sono molto a secco di queste informazioni. Vediamo se sono sul pezzo:

intendi creare un'altra macchina pfsense che sia praticamente sincronizza con la prima, una sorta di macchina replica che, in caso di fault del nodo, si prenda briga di redistribuire la connettività?

0 Kudos
scanda
Expert
Expert

La configurazione mi sembra corretta, do per scontato che sulla porta dello switch dov'è collegata la NIC fisica dell'esxi sia in trunk e permetta il traffico della vlan in questione.

Lato VM cliente devi collegare le vNIC sul portgroup con la VLAN corrispondente. In questo modo la VM guest non deve taggare il traffico perchè lo fa già il portgroup a cui è collegata.

per il discorso del pfsense in replica hai capito giusto, crei una seconda VM pFsense e la sincronizzi con la primaria via CARP e pfSync, ma questo può essere uno step successivo. Tieni conto che in caso di fault la VM pfsense viene riaccesa su un altro esx attivo (se hai configurato vmware HA) e i tempi di risalita non sono lunghi. Diversamente, se ti serve mantenere attive le sessioni, devi usare una seconda VM e sincronizzala.

saluti

0 Kudos
cybermodding
Enthusiast
Enthusiast

La configurazione mi sembra corretta, do per scontato che sulla porta dello switch dov'è collegata la NIC fisica dell'esxi sia in trunk e permetta il traffico della vlan in questione.

sto rifacendo tutto quanto, perchè credo di aver pasticciato troppo.
Prima di tutto, preciso che i test che sto facendo sono solo in ambiente virtuale, sullo stesso nodo. Per tanto la porta fisica del nodo è si collegata alla porta dello switch, ma anche se tale porta è impostata come T nelle varie vlan (inserite sullo switch) in linea di massima credo che non serva ancora, perchè appunto sono in ambiente totalmente virutale (pfsense e client xp sono sullo stesso nodo, per test).

Lato VM cliente devi collegare le vNIC sul portgroup con la VLAN corrispondente. In questo modo la VM guest non deve taggare il traffico perchè lo fa già il portgroup a cui è collegata.

quindi devo inserire l'id tag nella scheda di rete del client? nelle impostazioni

interfaccia con vlan.png

per il discorso del pfsense in replica hai capito giusto, crei una seconda VM pFsense e la sincronizzi con la primaria via CARP e pfSync, ma questo può essere uno step successivo. Tieni conto che in caso di fault la VM pfsense viene riaccesa su un altro esx attivo (se hai configurato vmware HA) e i tempi di risalita non sono lunghi. Diversamente, se ti serve mantenere attive le sessioni, devi usare una seconda VM e sincronizzala.

concordo in pieno sul fatto che possa essere uno step successivo. Anche perchè prima vorrei sistemarmi un pò più professionalmente lato networking, poi mi piacerebbe implementare anche questa soluzione.
In linea di massima però penso questo: vale la pena di avere due macchine in questa configurazione, che mangiano spazio e ram?
Avendo uno storage in ISCSI realizzato su centos, e l'HA abilitato, forse è meglio un riavvio della macchina sull'altro nodo vivo. Chiaramente questo se mi posso permettere tempi, seppur brevi, di fermo

Grazie mille per le delucidazioni

0 Kudos
scanda
Expert
Expert

Lato VM Guest non devi fare nulla per taggare il traffico, se ne occupa il portgroup. Lascia pure le conf di default sulla vNIC. è come se tu collegassi fisicamente un PC ad una porta in access dello switch, della gestione delle VLAN se ne occupa direttamente lo switch (in questo caso il portgroup).

Se applichi il tag lato VM rischi che le frame vengano rifiutate dal portgroup.

riguardo alle VM pfsense non ti preoccupare delle risorse che occupano, sono davvero minime rispetto a quelle di una VM window. Comunque vedi tu, se non hai particoalri criticità affidati tranquillamente solo ad HA.

saluti

0 Kudos
cybermodding
Enthusiast
Enthusiast

ciao scanda, scusa per il tempo e grazie per la risposta!

Se non erro, dalle prove fatte qualche giorno fa, il tutto non mi funzionava se non mettendo il tag.
Ma non voglio contraddirti, ora sono preso con una migrazione di servizi postali e non ho potuto più fare test.

Mi riservo di riprovare, ti aggiorno per completezza, anche perchè spero che questo post possa risultare utile anche ad altri

0 Kudos
scanda
Expert
Expert

Se funziona mettenfo il TAG lato Guest significa che stai usando il VLAN Trunking sul port group a cui è connessa la VM. Forse ho fatto confusione io, credevo che per le VM windows avessi creato dei portgroup utilizzando una sola VLAN per il tagging e che solo per PfSense utilizzassi i TAG da Guest. Prova a verificare.

saluti

0 Kudos
cybermodding
Enthusiast
Enthusiast

guarda scanda, qui il problema principale sono io che ancora di queste cose non macino molto.
Si sto usando il VLAN Trunking sul port group a cui è connessa la macchina, non so se ho fatto bene, ma mi pareva di aver capito che si facesse così.
Considera che questa VM è giusto per capire se il traffico passa. Solitamente dietro alla scheda di rete del nodo ho lo switch e poi i clienti del caso.
Ma mettiamo caso che un cliente mi chieda una macchina virtuale (magari un dominio), per dargliela correttamente devo sempre taggare anche la scheda della macchina stessa no?

domandina: il fatto di poter assegnare più schede di rete fisiche al Dvswitch, mi permette di fare cosa? Fault tollernace? distribuzione dei carichi?
Sarebbe comoda la seconda ipotesi, perchè ridendo e scherzando, ai server che fungono da File Server ho attaccati circa una 70 di utenti (tra due clienti distinti)

0 Kudos
scanda
Expert
Expert

Forse ho interpretato male io lo scenario, non ti preoccupare Smiley Wink

Credevo avessi più vlan, una per ogni cliente, e relativi portgroup sul DVSwitch.

Quindi ogni cliente isolato nel suo segmento di rete.

Il pfsense lo vedevo collegato alle reti dei clienti via vlan trunking (e quindi port group in questa modalità).

In questo modo il pfsense, con una sola vnic e taggando il traffico sulle varie vlan, poteva fare da default gateway per tutte le vlan dei clienti.

Mi pare di capire invece che hai un solo portgroup su cui colleghi tutte le VM dei clienti, la comunicazione con la vlan corretta la fai tu direttamente sulle VM.

Questo non è molto pratico, ti conviene creare un portgroup per ogni cliente ed utilizzare il vlan id corrispondente nella configurazione. le VM del cliente dialogheranno solo all'interno della vlan corretta.

il fatto di avere più schede collegate al DVswitch ti permette di bilanciare il carico e gestire eventuali fault proprio come hai intuito Smiley Happy

saluti

0 Kudos
cybermodding
Enthusiast
Enthusiast

nonononono, assolutamente hai capito benissimo!

Dunque, aggiungo dettagli:
- alcuni clienti nel mio cluster hanno un pfsense dedicato (sempre e tutto virtuale).
Questo pfsense lavora in vlan ma il tag è inserito nel port group e a seconda delle porte fisiche, negli switch.

esempio:
psense cliente pippo ==> scheda di rete virtuale ==> portgroup con tag cliente ==> switch fisico con tag del cliente.

altri clienti, quelli più piccoli, sono invece sotto un unico (altro) pfsense. In questo caso abbiamo:

psense tantipiccoliclienti ==>  tag 1 pfsense su scheda virtuale em1 ==> portgroup con vtrunk ==> switch switch fisico con tag del cliente
                                     ==>  tag 2 pfsense su scheda virtuale em1 ==> portgroup con vtrunk ==> switch switch fisico con tag del cliente                             

                                     ==>  tag 3 pfsense su scheda virtuale em1 ==> portgroup con vtrunk ==> switch switch fisico con tag del cliente

                                     ==>  tag 4 pfsense su scheda virtuale em1 ==> portgroup con vtrunk ==> switch switch fisico con tag del cliente

e così via.

solitamente questi piccoli clienti non hanno un server virtuale, ma hanno solo la connettività.
Ma per conoscenza, mi sono un pò imbastardito su questa cosa. Nel caso volessi erogare un server virtuale anche ad un determinato piccolo cliente, per farlo comunicare correttamente ho necessità di taggare la scheda di rete (come nel post precedente). Ho fatto delle prove su campo per arrivare a questa "deduzione"


Bilanciare il carico..... davvero molto, molto, MOLTO interessante!!!
Ho deciso di recarmi un sabato nel posto di lavoro, e di implementare il tutto a macchine ferme, così da non dare disservizio. Posso usare due schede di rete per nodo, eventuali le aggiungerò in un secondo momento. Per adesso le macchine sono ripartite sui due nodi e i nodi comunicano tramite una sola scheda di rete (console ed iscsi li ho veicolati tramite altre schede di rete dedicate).

pfsense piccoli clienti.png


per ovvie ragioni ho cancellato il nome dei clienti. Questo è il pfsense dei clienti piccoli, virtualizzato. Come vedi, è lui stesso a gestire i tag.
Diversamente gli altri pfsense che gestiscono i clienti più grandi (circa 3) non gestiscono il TAG direttamente. In questo caso il tag lo lascio fare direttamente al port group senza trunk.

mi sto spiegando o sembra tipo che vaneggio?

0 Kudos
scanda
Expert
Expert

Il ragionamento è corretto, non ti preoccupare Smiley Happy

Se devi creare una VM e connetterla alla rete del cliente non serve taggare il traffico direttamente dalla VM. Crei un nuovo port group e utilizzi il vlanid corretto.

Per la questione bilanciameto c'è da fare una precisione : l'esx bilancia il traffico delle VM distribuendone il carico tra le nic fisiche che compongono il teaming del virtual switch. Non hai un vero load balancer che bilancia in base al protocollo o a regole più complesse.

Normalmente, se hai un teaming formato da 2 nic, il traffico delle VM verrà diviso tra i 2 uplink. Giocando sulla configurazione del teaming/port group puoi ottenere un ulteriore bilanciamento forzando il traffico del port group su una determinata nic fisica.

Non ho mai visto ottimizzare il carico spostando l'ordine delle nic sui teaming, molti lasciano la configurazione di default che fa comunque un buon lavoro. Tieni presente che su realtà moto grandi (centinaia di vlan/port group) bilanciare a mano può essere un bel grattacapo Smiley Happy

saluti

0 Kudos
cybermodding
Enthusiast
Enthusiast

bene ragazzi, dopo tanto torno a farmi sentire, scusate la lunga assenza ma è stato un periodo di fortissimi cambiamenti di varia natura!

Sono arrivato al punto di fare pesanti implementazioni, tra switch, vlan e pfsense.

Ora ho un problema non da poco, domani sarò qui a fare tutto e se non mi va in porto, avrò sprecato una bella occasione.
Forse sono anche dannatamente stanco e per questo non trovo l'inghippo. Ma magari mi sono perso un pezzo di storia importantissimo.
La situazione è questa:
2 nodi, due schede fisiche collegate ad un dvswitch in trunk (2-50).
Sullo switch ho creato una vlan, la 14, e su questa vlan ho taggato le due porte fisiche dei server.
Ora ho un pfsense sul nodo1, e la macchina xp sul nodo due (con il tag14 impostato sulla scheda di rete), e si vedono correttamente.
Quando le macchine lavorano sullo stesso nodo, si vedono.
Quindi sto impazzendo perchè, chiaramente, è fondamentale poter palleggiare le macchine da un nodo all'altro.
Provo a farvi uno schema logico:

lan pfsense -   dvSwitch "pippo" vlan trunk 2-50
lan macchina xp - dvSwitch "pippo" vlan trunk 2-50

"Sto pazziando" si può dire?

saluti e grazie davvero!

0 Kudos