01 Introduzione al Macvlan
L'articolo precedente ha parlato di diversi tipi di dispositivi di rete virtuali Linux: tap/tun, veth-pair, bridge, che sono essenzialmente soluzioni di virtualizzazione di rete fornite dai sistemi Linux, e macvlan è anche una di queste, per essere precisi, si tratta di una soluzione di virtualizzazione di schede di rete. Perché la tecnologia MacVlan puòUna scheda fisica viene virtualmente trasformata in più schede virtuali, che equivale alla scheda di rete fisica che esegue la tecnica di più cloni d'ombra, da uno a molti.
02 Come funziona la MacVLAN
macvlan è una nuova funzionalità supportata dal kernel Linux; le versioni supportate includono v3.9-3.19 e 4.0+, e la 4.0+ è raccomandata per la versione più stabile. Generalmente esiste sotto forma di moduli kernel, e possiamo giudicare se il sistema attuale lo supporta nei seguenti modi:
Se il primo comando dà un errore, o il secondo comando non ritorna, significa che il sistema attuale non supporta MacVLAN e il kernel deve essere aggiornato.
La tecnologia macvlan sembra un po' simile a una VLAN, ma il loro meccanismo di implementazione è completamente diverso. La sottointerfaccia macVLAN è completamente indipendente dall'interfaccia principale originale e può essere configurata separatamente con indirizzo MAC e indirizzo IP, mentre la sottointerfaccia VLAN e l'interfaccia principale condividono lo stesso indirizzo MAC. Le VLAN sono utilizzate per dividere i domini broadcast, mentre le macvlan condividono lo stesso dominio broadcast.
Attraverso diverse sottointerfacce, MacVLAN può anche ottenere isolamento del traffico. MacVLAN determinerà a quale scheda virtuale il pacchetto deve essere consegnato in base all'indirizzo MAC della destinazione del pacchetto, e poi la scheda virtuale consegnerà il pacchetto allo stack di protocolli del livello superiore per l'elaborazione.
03 Quattro modalità
A seconda della modalità di comunicazione tra le sottofacce MacVLAN, ci sono quattro modalità di rete per MACVLAN:
- modalità privata
- Modalità VEPA (Virtual Ethernet Port Aggregator)
- Modalità bridge
- Modalità passthru
Per impostazione predefinita, viene utilizzata la modalità VEPA.
3.1 Privato
In questa modalità, le sotto-interfacce sotto la stessa interfaccia primaria sono isolate tra loro e non possono comunicare. Anche se viene deviato da un interruttore fisico esterno, verrà scartato senza pietà.
3.2 Vepa
In questa modalità, il traffico tra le sotto-interfacce deve essere indirizzato a uno switch esterno che supporti 802.1Qbg/VPEA (fisico o virtuale), inoltrato attraverso lo switch esterno e poi indietro.
Nota: La funzione 802.1Qbg/VPEA significa semplicemente che lo switch deve supportare la funzione a forno, cioè il pacchetto dati può essere ricevuto da un'interfaccia e poi restituito.
3.3 Ponte
In questa modalità, la funzionalità del bridge Linux viene simulata, ma la cosa migliore del bridge è che l'indirizzo MAC di ogni interfaccia è noto e non ha bisogno di essere imparato. Pertanto, in questa modalità, le sotto-interfacce possono comunicare direttamente.
3.4 Passthru
Questa modalità consente di connettersi solo a una singola sottointerfaccia all'interfaccia principale e deve essere impostata su modalità promiscua, generalmente utilizzata per collegare le sotto-interfacce e creare sotto-interfacce VLAN.
3.5 MacTap
Un'altra tecnologia simile a MacVLAN è MacTap. A differenza di macvlan, mactap riceve il pacchetto e lo consegna allo stack protocollo, ma a un file tapX, attraverso il quale completa la comunicazione diretta con l'utente.
04 Allenamento
Su Linux, il comando per creare una macvlan è il seguente:
In generale, usare solo macVLAN è inutile, ed è generalmente una combinazione di VM e container per costruire una rete. Usiamo lo spazio dei nomi per vedere come Linux usa macvlan.
La topologia sperimentale è la seguente:
Nel mio sistema, usando l'interfaccia enp0s8 come esempio, ho creato due sottointerfacce macvlan (usando la modalità bridge), configurato l'IP e l'ho collegato in due namespace per testare la connettività.
Nota: L'indirizzo IP di enp0s8 è 192.168.56.110/24, e l'indirizzo IP della sottointerfaccia configurata deve provenire anch'esso dallo stesso segmento CIDR.
Dopo due sotto-interfacce, si fa ping a questo:
Puoi vedere che può essere segnalato, ma se cambi la modalità sopra in un'altra, non funzionerà, quindi lascio a tutti il compito di sperimentare (la modalità predefinita è la modalità vepa).
Inoltre, in Docker, MacVLAN è un modello di rete cross-host più importante, che sarà discusso nel prossimo articolo.
05 Sommario
MACVLAN è una tecnologia di virtualizzazione di schede di rete che può virtualizzare una scheda di rete in più schede di rete.
Le quattro modalità di comunicazione di MacVLAN, la più comune è Bridge.
Pensaci:
Somiglianze e differenze tra Macvlan Bridge e Bridge Esiste una tecnologia simile in cui più schede di rete virtuali condividono lo stesso indirizzo MAC ma hanno indirizzi IP indipendenti.
Indirizzo originale:Il login del link ipertestuale è visibile.
|