Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 4273|Răspunde: 0

[Sursă] Poate fi și placa de rețea virtualizată? Explicație detaliată a tehnologiei de virtualizare a plăcilor de rețea Macvlan

[Copiază linkul]
Postat pe 19.11.2022 11:01:57 | | | |
01 Introducere în Macvlan

Articolul anterior a vorbit despre mai multe tipuri de dispozitive virtuale de rețea Linux: tap/tun, veth-pair, bridge, acestea sunt practic soluții de virtualizare a rețelei oferite de sistemele Linux, iar macvlan este și una dintre ele, mai exact, aceasta este o soluție de virtualizare a plăcilor de rețea. Pentru că tehnologia MacVlan poateO rețea fizică de rețea este transformată virtual în mai multe plăci virtuale, care este echivalent cu placa fizică de rețea care execută tehnica mai multor clone de umbră, de la una la mai multe.

02 Cum funcționează MacVLAN

macvlan este o funcție nouă susținută de nucleul Linux, versiunile suportate includ v3.9-3.19 și 4.0+, iar 4.0+ este recomandată pentru versiunea mai stabilă. De obicei există sub forma modulelor de kernel, iar noi putem judeca dacă sistemul actual îl suportă în următoarele moduri:

Dacă prima comandă dă o eroare sau a doua comandă nu revine, înseamnă că sistemul curent nu suportă MacVLAN și nucleul trebuie actualizat.

Tehnologia MacVLAN sună puțin ca VLAN, dar mecanismul lor de implementare este complet diferit. Subinterfața macVLAN este complet independentă de interfața principală originală și poate fi configurată separat cu adresa MAC și adresa IP, în timp ce subinterfața VLAN și interfața principală împart aceeași adresă MAC. VLAN-urile sunt folosite pentru a împărți domeniile de broadcast, în timp ce macvlan-urile împart același domeniu de broadcast.

Prin diferite sub-interfețe, MacVLAN poate realiza și izolarea traficului. MacVLAN va determina cărei NIC virtuale trebuie predat pachetul pe baza adresei MAC a destinației pachetului, iar apoi NIC-ul virtuală va preda pachetul către stiva de protocoale de nivel superior pentru procesare.


03 Patru moduri

În funcție de modul de comunicare dintre subinterfețele MacVLAN, există patru moduri de rețea pentru MACVLAN:

  • Mod privat
  • Modul VEPA (Virtual Ethernet Port Aggregator)
  • Modul bridge
  • Mod Passthru


Implicit, se folosește modul VEPA.

3.1 Soldat

În acest mod, sub-interfețele din aceeași interfață primară sunt izolate una de cealaltă și nu pot comunica. Chiar dacă este deviat de la un întrerupător fizic extern, va fi aruncat fără milă.




3.2 Vepa

În acest mod, traficul dintre sub-interfețe trebuie direcționat către un switch extern care suportă 802.1Qbg/VPEA (fie fizic, fie virtual), redirecționat prin switch-ul extern și apoi înapoi.

Notă: Funcția 802.1Qbg/VPEA înseamnă pur și simplu că switch-ul trebuie să suporte funcția hairpin, adică pachetul de date poate fi recepționat de la o interfață și apoi trimis înapoi.



3.3 Podul

În acest mod, funcționalitatea bridge-ului Linux este simulată, dar partea mai bună la bridge este că adresa MAC a fiecărei interfețe este cunoscută și nu trebuie învățată. Prin urmare, în acest mod, sub-interfețele pot comunica direct.



3.4 Trecerea prin trecere

Acest mod permite conectarea unei singure sub-interfețe la interfața principală și trebuie setat pe modul promiscuu, care este folosit în general pentru a face legătura între sub-interfețe și a crea sub-interfețe VLAN.



3.5 Mactap

O altă tehnologie similară cu MacVLAN este MacTap. Spre deosebire de macvlan, mactap primește pachetul și îl predă stivei de protocoale, dar către un fișier tapX, prin care completează comunicarea directă cu utilizatorul.



04 Antrenament

Pe Linux, comanda pentru a crea un macvlan este următoarea:

În general, folosirea doar a macVLAN este inutilă și, în general, este o combinație între mașini virtuale și containere pentru a construi o rețea. Să folosim namespace pentru a vedea cum folosește Linux macvlan.

Topologia experimentală este următoarea:




În sistemul meu, folosind interfața enp0s8 ca exemplu, am creat două subinterfețe macvlan (folosind modul bridge), am configurat IP-ul și l-am legat în două spații de nume pentru a testa conectivitatea.

Notă: Adresa IP a enp0s8 este 192.168.56.110/24, iar adresa IP a subinterfeței configurate trebuie să fie de asemenea din același segment CIDR.

După două sub-interfețe, trimiteți-l:


Poți vedea că poate fi pingat, dar dacă schimbi modul de mai sus în alt mod, nu va funcționa, așa că las pe toată lumea să experimenteze (implicit este modul vepa).

În plus, în Docker, MacVLAN este un model de rețea cross-host mai important, care va fi discutat în articolul următor.

Rezumatul 05

MACVLAN este o tehnologie de virtualizare a plăcilor de rețea care poate virtualiza o placă de rețea în mai multe plăci de rețea.

Cele patru moduri de comunicare ale MacVLAN, cel mai comun fiind Bridge.

Gândește-te puțin:

Asemănări și diferențe între Podul Macvlan și Podul
Există o tehnologie similară în care mai multe plăci virtuale de rețea împart aceeași adresă MAC, dar au adrese IP independente.


Adresa originală:Autentificarea cu hyperlink este vizibilă.




Precedent:Funcționare practică: Folosiți BundleTransformer pentru a înlocui System.Web.Optimization
Următor:Docker folosește Macvlan pentru a seta o adresă IP independentă pentru containere
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com