🏡Inicio | 🗃️ Secciones | ❓ Soporte | Producto:

IoT Gateway NG


https://youtu.be/DuJ1lwk_wqg

Descripción

Queremos interconectar dos contenedores que estan en dos máquinas diferentes. Además estas dos máquinas no se encuentran en la misma red.

Así pues, lo primero que haremos será crear una red privada virtual con Zerotier. Gracias a este enlace de capa 2 virtual podremos crear interfaces vLAN asociadas a la targeta de red virtual que tenemos en cada máquina.

Hasta aquí tenemos la red sobre la que montaremos la interconexión de conectores definido. Este punto también se podría hacer sin Zerotier. Simplemente configurando las vLAN directamente contra interfaces de red físicas. Eso si, la rutabilidad entre las dos máquinas debería permitir encontrarse.

Seguidamente creamos los elementos de red de Docker, concretamente usamos el módulo de red macvlan que nos va a permitir asociar la interfaces de red virtuales de los contenedores con las interfaces vLAN que se han creado en la máquina.

En el siguiente puedes ver una representación gráfica de la explicación:

Untitled

Configuración de los diferentes elementos

Zerotier

Network ID and routes

Untitled

Untitled

Node1

ip link add link ztks52m2q6 name ztks52m2q6.10 type vlan id 10
ip link set dev ztks52m2q6.10 up

ip link add link ztks52m2q6 name ztks52m2q6.20 type vlan id 20
ip link set dev ztks52m2q6.20 up

docker network create -d macvlan --subnet=10.220.10.0/24 --gateway=10.220.10.1 -o parent=ztks52m2q6.10 macvlan_net10
docker network create -d macvlan --subnet=10.220.20.0/24 --gateway=10.220.20.1 -o parent=ztks52m2q6.20 macvlan_net20

docker run -itd --net=macvlan_net10 --ip=10.220.10.11 --name bbox01 busybox:latest
docker run -itd --net=macvlan_net20 --ip=10.220.20.11 --name bbox02 busybox:latest

Node2

ip link add link ztks52m2q6 name ztks52m2q6.10 type vlan id 10
ip link set dev ztks52m2q6.10 up

ip link add link ztks52m2q6 name ztks52m2q6.20 type vlan id 20
ip link set dev ztks52m2q6.20 up

docker network create -d macvlan --subnet=10.220.10.0/24 --gateway=10.220.10.1 -o parent=ztks52m2q6.10 macvlan_net10
docker network create -d macvlan --subnet=10.220.20.0/24 --gateway=10.220.20.1 -o parent=ztks52m2q6.20 macvlan_net20

docker run -itd --net=macvlan_net10 --ip=10.220.10.22 --name bbox03 busybox:latest
docker run -itd --net=macvlan_net20 --ip=10.220.20.22 --name bbox04 busybox:latest