01 Introduktion till Macvlan
Den föregående artikeln handlade om flera typer av virtuella Linux-nätverksenheter: tap/tun, veth-pair, bridge, de är i princip nätverksvirtualiseringslösningar som tillhandahålls av Linux-system, och macvlan är också en av dem, för att vara exakt, detta är en nätverkskortsvirtualiseringslösning. För att MacVlan-teknologin kanEtt fysiskt nätverkskort omvandlas i princip till flera virtuella nätverkskort, vilket motsvarar det fysiska nätverkskortet som utför tekniken med flera skuggkloner, från en till många.
02 Hur MacVLAN fungerar
macvlan är en ny funktion som stöds av Linux-kärnan, stödda versioner inkluderar v3.9-3.19 och 4.0+, och 4.0+ rekommenderas för den mer stabila versionen. Den finns vanligtvis i form av kärnmoduler, och vi kan bedöma om det nuvarande systemet stöder den på följande sätt:
Om det första kommandot ger ett fel, eller det andra kommandot inte returneras, betyder det att det nuvarande systemet inte stöder MacVLAN och kärnan behöver uppgraderas.
Macvlans-teknologin låter lite som VLAN, men deras implementeringsmekanism är helt annorlunda. MacVLAN-subgränssnittet är helt oberoende av det ursprungliga huvudgränssnittet och kan konfigureras separat med MAC-adress och IP-adress, medan VLAN-subgränssnittet och huvudgränssnittet delar samma MAC-adress. VLAN används för att dela upp broadcastdomäner, medan macvlans delar samma broadcastdomän.
Genom olika subgränssnitt kan MacVLAN också uppnå trafikisolering. MacVLAN avgör vilket virtuellt nätverkskort paketet behöver skickas till baserat på MAC-adressen för paketets destination, och sedan överlämnar det virtuella nätverkskortet paketet till protokollstacken i det övre lagret för bearbetning.
03 Fyra moden
Beroende på kommunikationsläget mellan MacVLAN-subgränssnitt finns det fyra nätverkslägen för MACVLAN:
- Privat läge
- VEPA (Virtual Ethernet Port Aggregator) läge
- Bryggläge
- Passthru-läge
Som standard används VEPA-läge.
3.1 Privat
I detta läge är subgränssnitten under samma primära gränssnitt isolerade från varandra och kan inte kommunicera. Även om den omdirigeras från en extern fysisk strömbrytare kommer den skoningslöst att kasseras.
3.2 Vepa
I detta läge måste trafiken mellan subgränssnitt ledas till en extern switch som stödjer 802.1Qbg/VPEA (antingen fysisk eller virtuell), vidarebefordras genom den externa switchen och sedan tillbaka.
Observera: Funktionen 802.1Qbg/VPEA innebär helt enkelt att switchen måste stödja hårnålsfunktionen, det vill säga datapaketet kan tas emot från ett gränssnitt och sedan kastas tillbaka.
3.3-bron
I detta läge simuleras Linux-bryggans funktionalitet, men det bättre med bryggan är att MAC-adressen för varje gränssnitt är känd och inte behöver läras in. Därför kan subgränssnitten i detta läge kommunicera direkt.
3.4 Passthu
Detta läge tillåter endast ett enda subgränssnitt att ansluta till huvudgränssnittet och måste ställas in på promiskuöst läge, vilket vanligtvis används för att brygga subgränssnitt och skapa VLAN-subgränssnitt.
3.5 Mactap
En annan teknik liknande MacVLAN är MacTap. Till skillnad från macvlan tar mactap emot paketet och överlämnar det till protokollstacken, men till en tapX-fil, genom vilken den slutför direkt kommunikation med användaren.
04 Träning
På Linux är kommandot för att skapa en macvlan följande:
Generellt sett är det meningslöst att använda macVLAN ensamt, och det är oftast en kombination av virtuella maskiner och containrar för att bygga ett nätverk. Låt oss använda namnrymden för att se hur Linux använder macvlan.
Den experimentella topologin är följande:
I mitt system, med interface enp0s8 som exempel, skapade jag två macvlan-subgränssnitt (med bridge mode), konfigurerade IP:n och hängde upp den i två namnrymder för att testa anslutningen.
Not: IP-adressen för enp0s8 är 192.168.56.110/24, och IP-adressen till det konfigurerade subgränssnittet måste också komma från samma CIDR-segment.
Efter två subgränssnitt, pinga den:
Du kan se att det kan pingas, men om du ändrar ovanstående läge till ett annat läge fungerar det inte, så jag lämnar detta till alla att experimentera (standardläget är vepa-läge).
Dessutom är MacVLAN i Docker en viktigare nätverksmodell för korsvärdar, vilket kommer att diskuteras i nästa artikel.
05 Sammanfattning
MACVLAN är en nätverkskortsvirtualiseringsteknologi som kan virtualisera ett nätverkskort till flera nätverkskort.
De fyra kommunikationslägena i MacVLAN, det vanligaste är Bridge.
Tänk på det:
Likheter och skillnader mellan Macvlan Bridge och Bridge Det finns en liknande teknik där flera virtuella nätverkskort delar samma MAC-adress men har oberoende IP-adresser.
Ursprunglig adress:Inloggningen med hyperlänken är synlig.
|