01 Introduction au Macvlan
L’article précédent parlait de plusieurs types d’appareils réseau virtuels Linux : tap/tun, veth-pair, bridge, ce sont essentiellement des solutions de virtualisation réseau fournies par les systèmes Linux, et macvlan en fait aussi partie, pour être précis, il s’agit d’une solution de virtualisation par carte réseau. Parce que la technologie MacVlan le peutUne carte réseau physique est virtuellement transformée en plusieurs cartes réseau virtuelles, ce qui équivaut à la carte réseau physique effectuant la technique de plusieurs clones d’ombre, de l’un à plusieurs.
02 Comment fonctionne le MacVLAN
MacVLAN est une nouvelle fonctionnalité prise en charge par le noyau Linux, les versions prises en charge incluent les v3.9-3.19 et 4.0+, et la 4.0+ est recommandée pour la version plus stable. Il existe généralement sous forme de modules noyau, et nous pouvons juger si le système actuel le supporte des manières suivantes :
Si la première commande donne une erreur, ou si la seconde commande ne revient pas, cela signifie que le système actuel ne supporte pas MacVLAN et que le noyau doit être mis à jour.
La technologie MacVLAN ressemble un peu au VLAN, mais leur mécanisme d’implémentation est complètement différent. La sous-interface macVLAN est totalement indépendante de l’interface principale d’origine et peut être configurée séparément avec l’adresse MAC et l’adresse IP, tandis que la sous-interface VLAN et l’interface principale partagent la même adresse MAC. Les VLANs sont utilisés pour diviser les domaines de diffusion, tandis que les macvlans partagent le même domaine de diffusion.
Grâce à différentes sous-interfaces, MacVLAN peut également obtenir une isolation du trafic. MacVLAN déterminera à quelle carte réseau virtuelle le paquet doit être transféré en fonction de l’adresse MAC de la destination du paquet, puis la carte virtuelle transmettra le paquet à la pile de protocoles de couche supérieure pour traitement.
03 Quatre modes
Selon le mode de communication entre les sous-interfaces MacVLAN, il existe quatre modes réseau pour MACVLAN :
- Mode privé
- Mode VEPA (Virtual Ethernet Port Aggregator)
- Mode pont
- Mode passthru
Par défaut, le mode VEPA est utilisé.
3.1 Privé
Dans ce mode, les sous-interfaces sous la même interface primaire sont isolées les unes des autres et ne peuvent pas communiquer. Même s’il est détourné d’un interrupteur physique externe, il sera impitoyablement jeté.
3.2 Vepa
Dans ce mode, le trafic entre sous-interfaces doit être dirigé vers un commutateur externe qui supporte 802.1Qbg/VPEA (physique ou virtuel), transféré via le commutateur externe, puis inversé.
Note : La fonction 802.1Qbg/VPEA signifie simplement que le commutateur doit supporter la fonction en épingle, c’est-à-dire que le paquet de données peut être reçu d’une interface puis renvoyé.
3.3 Pont
Dans ce mode, la fonctionnalité du pont Linux est simulée, mais l’avantage du pont est que l’adresse MAC de chaque interface est connue et n’a pas besoin d’être apprenne. Ainsi, dans ce mode, les sous-interfaces peuvent communiquer directement.
3.4 Passthru
Ce mode ne permet qu’une seule sous-interface de se connecter à l’interface principale, et doit être réglé en mode promiscue, généralement utilisé pour relier les sous-interfaces et créer des sous-interfaces VLAN.
3.5 MacTap
Une autre technologie similaire au MacVLAN est MacTap. Contrairement à macvlan, mactap reçoit le package et le remet à la pile de protocoles, mais à un fichier tapX, par lequel il complète une communication directe avec l’utilisateur.
04 Entraînement
Sous Linux, la commande pour créer un macvlan est la suivante :
En général, utiliser uniquement le macVLAN est inutile, et c’est généralement une combinaison de machines virtuelles et de conteneurs pour construire un réseau. Utilisons l’espace de noms pour voir comment Linux utilise macvlan.
La topologie expérimentale est la suivante :
Dans mon système, en utilisant l’interface enp0s8 comme exemple, j’ai créé deux sous-interfaces macvlan (en mode pont), configuré l’IP et l’ai suspendue dans deux espaces de noms pour tester la connectivité.
Remarque : L’adresse IP de enp0s8 est 192.168.56.110/24, et l’adresse IP de la sous-interface configurée doit également provenir du même segment CIDR.
Après deux sous-interfaces, on le signale :
Vous pouvez voir qu’il peut être pingé, mais si vous changez le mode ci-dessus pour un autre, cela ne fonctionnera pas, donc je laisse à tout le monde l’expérimentation (par défaut est le mode vepa).
De plus, dans Docker, MacVLAN est un modèle de réseau inter-hôtes plus important, qui sera abordé dans le prochain article.
05 Résumé
MACVLAN est une technologie de virtualisation de cartes réseau capable de virtualiser une carte réseau en plusieurs cartes réseau.
Les quatre modes de communication du MacVLAN, le mode le plus courant est le Bridge.
Pensez-y:
Similarités et différences entre le pont Macvlan et le pont Il existe une technologie similaire où plusieurs cartes réseau virtuelles partagent la même adresse MAC mais ont des adresses IP indépendantes.
Adresse originale :La connexion hyperlientérée est visible.
|