01 Introducción a Macvlan
El artículo anterior habló de varios tipos de dispositivos de red virtual Linux: tap/tun, veth-pair, bridge, que son esencialmente soluciones de virtualización de red proporcionadas por sistemas Linux, y macvlan también es una de ellas, para ser precisos, esta es una solución de virtualización de tarjetas de red. Porque la tecnología MacVlan puedeUna tarjeta de red física se transforma virtualmente en múltiples tarjetas virtuales, que es equivalente a la tarjeta de red física que realiza la técnica de múltiples clones de sombra, de uno a muchos.
02 Cómo funciona MacVLAN
macvlan es una función nueva soportada por el kernel de Linux; las versiones compatibles incluyen v3.9-3.19 y 4.0+, y se recomienda la 4.0+ para la versión más estable. Generalmente existe en forma de módulos núcleo, y podemos juzgar si el sistema actual lo soporta de las siguientes maneras:
Si el primer comando da un error, o el segundo no regresa, significa que el sistema actual no soporta MacVLAN y el kernel necesita ser actualizado.
La tecnología MacVLAN suena un poco a VLAN, pero su mecanismo de implementación es completamente diferente. La subinterfaz macVLAN es completamente independiente de la interfaz principal original y puede configurarse por separado con dirección MAC y dirección IP, mientras que la subinterfaz VLAN y la interfaz principal comparten la misma dirección MAC. Las VLANs se utilizan para dividir dominios de difusión, mientras que las macvlans comparten el mismo dominio de difusión.
A través de diferentes subinterfaces, MacVLAN también puede lograr aislamiento del tráfico. MacVLAN determinará a qué NIC virtual debe entregarse el paquete en función de la dirección MAC del destino del paquete, y luego la NIC virtual entregará el paquete a la pila de protocolos de la capa superior para su procesamiento.
03 Cuatro modos
Dependiendo del modo de comunicación entre las subinterfaces MacVLAN, existen cuatro modos de red para MACVLAN:
- Modo privado
- Modo VEPA (Agregador de Puertos Ethernet Virtuales)
- Modo puente
- Modo Passthru
Por defecto, se utiliza el modo VEPA.
3.1 Privado
En este modo, las subinterfaces bajo la misma interfaz primaria están aisladas entre sí y no pueden comunicarse. Incluso si se desvía desde un interruptor físico externo, será desechado sin piedad.
3.2 Vepa
En este modo, el tráfico entre subinterfaces debe dirigirse a un switch externo que soporte 802.1Qbg/VPEA (ya sea físico o virtual), reenviarse a través del switch externo y luego volver.
Nota: La función 802.1Qbg/VPEA simplemente significa que el switch debe soportar la función horquilla, es decir, el paquete de datos puede recibirse de una interfaz y luego devolverse.
3.3 Puente
En este modo, se simula la funcionalidad del puente de Linux, pero lo mejor del puente es que se conoce la dirección MAC de cada interfaz y no necesita ser aprendida. Por lo tanto, en este modo, las subinterfaces pueden comunicarse directamente.
3.4 Paso
Este modo permite que solo una subinterfaz se conecte a la interfaz principal, y debe configurarse en modo promiscuo, que generalmente se usa para unir subinterfaces y crear subinterfaces VLAN.
3.5 Mactap
Otra tecnología similar a MacVLAN es MacTap. A diferencia de macvlan, mactap recibe el paquete y lo entrega a la pila de protocolos, pero a un archivo tapX, a través del cual completa la comunicación directa con el usuario.
04 Práctica
En Linux, el comando para crear una macvlan es el siguiente:
En general, usar solo macVLAN es inútil, y generalmente es una combinación de máquinas virtuales y contenedores para construir una red. Vamos a usar el espacio de nombres para ver cómo Linux usa macvlan.
La topología experimental es la siguiente:
En mi sistema, usando la interfaz enp0s8 como ejemplo, creé dos subinterfaces macvlan (usando modo puente), configuré la IP y la colgué en dos espacios de nombres para probar la conectividad.
Nota: La dirección IP de enp0s8 es 192.168.56.110/24, y la dirección IP de la subinterfaz configurada también debe pertenecer al mismo segmento CIDR.
Después de dos subinterfaces, haz ping a ella:
Puedes ver que se puede hacer ping, pero si cambias el modo anterior a otro, no funcionará, así que dejaré que todos experimenten (el modo por defecto es el modo vepa).
Además, en Docker, MacVLAN es un modelo de red multihost más importante, que se tratará en el siguiente artículo.
05 Resumen
MACVLAN es una tecnología de virtualización de tarjetas de red que puede virtualizar una tarjeta de red en múltiples tarjetas de red.
Los cuatro modos de comunicación de MacVLAN, el modo más común es el Bridge.
Piénsalo:
Similitudes y diferencias entre el Puente Macvlan y el Puente Existe una tecnología similar en la que varias tarjetas de red virtuales comparten la misma dirección MAC pero tienen direcciones IP independientes.
Dirección original:El inicio de sesión del hipervínculo es visible.
|