Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 5217|Respuesta: 3

Docker utiliza Macvlan para establecer una dirección IP independiente para los contenedores

[Copiar enlace]
Publicado en 19/11/2022 12:01:56 | | | |
Requisitos: Quiero asignar una dirección IP LAN independiente al contenedor Docker a través del servicio DHCP del router, para que la aplicación desarrollada ASP.NET Core pueda desplegarse en varios servidores (la aplicación debe desplegarse en varios servidores para lograr alta disponibilidad), y luego puedan transferirse entre sí.
Algunas aplicaciones, especialmente las antiguas o aquellas que monitorizan el tráfico de red, esperan conectarse directamente a la red física. En este caso, puedes usar el controlador de red macvlan para asignar una dirección MAC a la interfaz virtual de red de cada contenedor, haciendo que parezca una interfaz de red física que se conecta directamente a la red física. En este caso, necesitas especificar una interfaz física en tu host Docker para macvlan. Y. subredes y puertas de Macvlan. Incluso puedes aislar tu red con una interfaz física diferente.


¿Se puede virtualizar también la tarjeta de red? Explicación detallada de la tecnología de virtualización de tarjetas de red Macvlan
https://www.itsvse.com/thread-10388-1-1.html
Primero, necesitas configurar la tarjeta de red física de la máquina anfitrionaPermite el modo "modo promiscuo"Por ejemplo, usando ESXI como ejemplo, configura un conmutador virtual de la siguiente manera:



El entorno del sistema es el siguiente:

CentOS Linux versión 7.9.2009 (Core)
Docker versión 20.10.20, compilación 9fdeb9c


Instala el servicio Docker en el host CentOS 7. (omitido)



Construirnet.ipv4.ip_forward = 1, puedes ver la configuración actual a través de sysctl -a, si no es 1, por favor modifícala a 1, el tutorial está omitido. El propósito principal es determinar si la información recibida por una tarjeta de red puede ser transmitida a otras tarjetas de red cuando el host Linux tiene varias tarjetas de red, y si está configurada en 1, se puede realizar el reenvío de paquetes.

Cuando se instale el servicio Docker, crea una red macvlan con el siguiente comando:

--ip-range: Decidimos asignar el subconjunto a Docker 192.168.50.192/27, que es un rango de 32 direcciones que comienza en 192.168.50.192 y termina en 192.168.50.223.
--gateway: Establece la dirección del gateway, normalmente la IP del router, por favor configúrala según tu situación real
-o padre: La interfaz padre, que es el nombre de la tarjeta física de NIC del host, puede visualizarse a través de IP A según la situación real.


Una vez completada la creación, puedes verla con el siguiente comando:



Prueba a iniciar un contenedor busybox y configurar una red con la macvlan recién creada usando el siguiente comando:

Consejo: Si es necesario, da el recipientePara establecer la dirección IP, utiliza el parámetro --ip, por ejemplo: --ip=192.168.50.210

Puedes ver la dirección IP de un contenedor usando el siguiente comando:



Por supuesto, también puedes entrar dentro del contenedor para verlo, con el siguiente comando:



NosotrosUsando otras máquinas en la LAN, prueba a hacer ping a la dirección IP del contenedor, puedes ver que puedes hacer ping, como se muestra en la figura de abajo:



Al observar la tabla de mapeo IP y MAC del router, puedes ver que la dirección MAC/IP del contenedor docker es la misma que la del router, como se muestra en la figura de abajo:



Prueba a iniciar de nuevo un contenedor Redis y configurar la nueva red MacVLAN con el siguiente comando:

El propio host de CentOS también tiene una aplicación redis en funcionamiento y utiliza el puerto 6379, y creamos una aplicación contenedor redis que también usa el puerto 6379, es decir.El mismo puerto anfitrión, 6379, es escuchado por dos IPs diferentes, intenta ver si funciona.

Todos los resultados de las pruebas funcionan con normalidad, como se muestra en la figura siguiente:





Recursos

El inicio de sesión del hipervínculo es visible.




Anterior:¿Se puede virtualizar también la tarjeta de red? Explicación detallada de la tecnología de virtualización de tarjetas de red Macvlan
Próximo:[Práctica] Utiliza la penetración de intranet FRP para conseguir conexión remota de escritorio
Publicado en 28/11/2022 19:30:39 |
Aprende a aprender...
Publicado en 12/3/2023 9:18:32 |
Aprende a aprender
Publicado en 22/4/2023 15:45:19 |
Gracias por compartir.
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com