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