Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 4273|Svare: 0

[Kilde] Kan nettverkskortet også virtualiseres? Detaljert forklaring av nettverkskortvirtualiseringsteknologi Macvlan

[Kopier lenke]
Publisert på 19.11.2022 11:01:57 | | | |
01 Introduksjon til Macvlan

Den forrige artikkelen omhandlet flere typer Linux-virtuelle nettverksenheter: tap/tun, veth-pair, bridge, de er i bunn og grunn nettverksvirtualiseringsløsninger levert av Linux-systemer, og macvlan er også en av dem, for å være presis, dette er en nettverkskortvirtualiseringsløsning. Fordi MacVlan-teknologi kanEt fysisk nettverkskort blir virtuelt omgjort til flere virtuelle nettverkskort, som tilsvarer det fysiske nettverkskortet som utfører teknikken med flere skyggekloner, fra én til mange.

02 Hvordan MacVLAN fungerer

macvlan er en ny funksjon støttet av Linux-kjernen, støttede versjoner inkluderer v3.9-3.19 og 4.0+, og 4.0+ anbefales for den mer stabile versjonen. Den eksisterer vanligvis i form av kjernemoduler, og vi kan vurdere om det nåværende systemet støtter den på følgende måter:

Hvis den første kommandoen gir en feil, eller den andre kommandoen ikke returneres, betyr det at det nåværende systemet ikke støtter MacVLAN og kjernen må oppgraderes.

MacVlan-teknologi høres litt ut som VLAN, men implementeringsmekanismen deres er helt annerledes. MacVLAN-subgrensesnittet er helt uavhengig av det opprinnelige hovedgrensesnittet og kan konfigureres separat med MAC-adresse og IP-adresse, mens VLAN-subgrensesnittet og hovedgrensesnittet deler samme MAC-adresse. VLAN-er brukes til å dele kringkastingsdomener, mens macvlaner deler samme kringkastingsdomene.

Gjennom ulike undergrensesnitt kan MacVLAN også oppnå trafikkisolasjon. MacVLAN vil avgjøre hvilket virtuelt nettverkskort pakken må overleveres til basert på MAC-adressen til pakkens destinasjon, og deretter vil det virtuelle nettverkskortet overlevere pakken til protokollstakken på det øvre laget for behandling.


03 Fire moduser

Avhengig av kommunikasjonsmodus mellom MacVLAN-subgrensesnitt, finnes det fire nettverksmoduser for MACVLAN:

  • Privat modus
  • VEPA (Virtual Ethernet Port Aggregator) modus
  • Bromodus
  • Passthru-modus


Som standard brukes VEPA-modus.

3.1 Privat

I denne modusen er undergrensesnittene under samme primære grensesnitt isolert fra hverandre og kan ikke kommunisere. Selv om den blir omdirigert fra en ekstern fysisk bryter, vil den bli nådeløst forkastet.




3.2 vepa

I denne modusen må trafikken mellom undergrensesnitt dirigeres til en ekstern svitsj som støtter 802.1Qbg/VPEA (enten fysisk eller virtuell), videresendes gjennom den eksterne svitsjen og deretter tilbake.

Merk: 802.1Qbg/VPEA-funksjonen betyr ganske enkelt at bryteren må støtte hårnålsfunksjonen, det vil si at datapakken kan mottas fra et grensesnitt og deretter kastes tilbake.



3.3 Bro

I denne modusen simuleres funksjonaliteten til Linux-broen, men det beste med broen er at MAC-adressen til hvert grensesnitt er kjent og ikke trenger å læres. Derfor kan undergrensesnittene kommunisere direkte i denne modusen.



3.4 passthru

Denne modusen tillater kun ett undergrensesnitt å koble seg til hovedgrensesnittet, og må settes til promiskuøs modus, som vanligvis brukes til å bygge broer mellom undergrensesnitt og opprette VLAN-undergrensesnitt.



3.5 Mactap

En annen teknologi som ligner på MacVLAN er MacTap. I motsetning til macvlan mottar mactap pakken og overleverer den til protokollstakken, men til en tapX-fil, gjennom hvilken den fullfører direkte kommunikasjon med brukeren.



04 Praksis

På Linux er kommandoen for å opprette en macvlan som følger:

Generelt er det meningsløst å bruke macVLAN alene, og det er som regel en kombinasjon av VM-er og containere for å bygge et nettverk. La oss bruke namespace for å se hvordan Linux bruker macvlan.

Den eksperimentelle topologien er som følger:




I mitt system, med interface enp0s8 som eksempel, opprettet jeg to macvlan-subgrensesnitt (ved bruk av bridge mode), konfigurerte IP-adressen og hengte den opp i to navnerom for å teste tilkoblingen.

Merk: IP-adressen til enp0s8 er 192.168.56.110/24, og IP-adressen til det konfigurerte subgrensesnittet må også være fra samme CIDR-segment.

Etter to undergrensesnitt, ping den:


Du kan se at det kan pinges, men hvis du endrer modusen ovenfor til en annen modus, vil det ikke fungere, så jeg overlater dette til alle å eksperimentere (standard er vepa-modus).

I tillegg er MacVLAN i Docker en viktigere cross-host nettverksmodell, som vil bli diskutert i neste artikkel.

05 Sammendrag

MACVLAN er en nettverkskortvirtualiseringsteknologi som kan virtualisere et nettverkskort til flere nettverkskort.

De fire kommunikasjonsmodusene i MacVLAN, den vanligste modusen er Bridge.

Tenk på det:

Likheter og forskjeller mellom Macvlan Bridge og Bridge
Det finnes en lignende teknologi hvor flere virtuelle nettverkskort deler samme MAC-adresse, men har uavhengige IP-adresser.


Opprinnelig adresse:Innloggingen med hyperkoblingen er synlig.




Foregående:Praktisk drift: Bruk BundleTransformer for å erstatte System.Web.Optimization
Neste:Docker bruker Macvlan for å sette en uavhengig IP-adresse for containere
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com