Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 2

Durante los primeros cinco pasos descritos en el artículo Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1 hemos unido tres nodos geográficamente distantes entre sí mediante una red virtual. Uno de ellos está ubicado en una red física, y los otros dos en dos centros de datos separados.  

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 2
No tomó mucho tiempo, aunque cada uno de estos nodos se añadía a la red uno por uno. Pero, ¿qué hacer si es necesario conectar no uno, sino todos los nodos que se encuentran en la red física a la red virtual de ZeroTier? Esta tarea se me presentó un día, cuando me planteé cómo organizar el acceso desde la red virtual a la impresora de red y al enrutador. 

Intenté usar el método descrito anteriormente; no fue rápido ni sencillo en todas partes. Por ejemplo, no se puede conectar simplemente una impresora de red. Mikrotik — ZeroTier no lo soporta. ¿Qué hacer? Después de investigar y analizar el tema, llegué a la conclusión de que era necesario establecer un puente de red.

Puente de red (también puente del inglés bridge) — dispositivo de red de segunda capa del modelo OSI, diseñado para unir segmentos (subredes) de una red informática en una sola red.

Quiero compartir la historia de cómo lo hice en este artículo. 

Lo que nos cuesta, construir un puente...

Primero, como administrador, debía decidir qué nodo en la red actuaría como puente. Al estudiar las opciones, entendí que cualquier dispositivo informático que tuviera la capacidad de establecer un puente entre interfaces de red podría serlo. Podría ser un enrutador — un dispositivo con OpenWRT o equipo de la serie RUT de Teltonika, así como un servidor o computadora convencional. 

Al principio, consideré la posibilidad de usar un enrutador con OpenWRT instalado. Pero teniendo en cuenta que el Mikrotik existente me satisface por completo, aunque no soporte la integración con ZeroTier, y que no quiero complicar las cosas, decidí utilizar una computadora como puente de red. Específicamente, una Raspberry Pi 3 Model B constantemente conectada a la red física, que funciona con la última versión de Raspbian — un sistema operativo basado en Debian Buster.

Para crear un puente, debe haber al menos una interfaz de red no utilizada por otros servicios en el dispositivo. En mi caso, el Ethernet principal ya estaba en uso, así que organicé un segundo. Utilicé un adaptador USB-Ethernet basado en el chipset RTL8152 de Realtek para esta tarea.

Después de conectar el adaptador a un puerto USB libre, actualizar y reiniciar el sistema:

sudo apt update && sudo apt upgrade -y
sudo reboot

verifiqué si el sistema reconoce el adaptador USB Ethernet:

sudo lsusb

Analizando los datos obtenidos

Bus 001 Device 004: ID 0bda:8152 Realtek Semiconductor Corp. Adaptador Ethernet Rápido RTL8152
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Adaptador Ethernet Rápido SMSC9512/9514
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Hub SMC9514
Bus 001 Device 001: ID 1d6b:0002 Fundación Linux 2.0 hub raíz

observé con satisfacción que el Device 004 es mi adaptador.

Luego verifiqué qué interfaz de red se había asignado a este adaptador:

dmesg | grep 8152

[    2.400424] usb 1-1.3: Nuevo dispositivo USB encontrado, idVendor=0bda, idProduct=8152, bcdDevice=20.00
[    6.363837] usbcore: controlador de interfaz nuevo registrado r8152
[    6.669986] r8152 1-1.3:1.0 eth1: v1.09.9
[    8.808282] r8152 1-1.3:1.0 eth1: carrier on

Resultó que eth1 🙂 Y ya puedo configurarlo y el puente de red. 

Eso es precisamente lo que hice siguiendo el algoritmo a continuación:

  • Instalé los paquetes para administrar el puente de red:
    sudo apt-get install bridge-utils
  • Instalé ZeroTier ONE:
     
    curl -s https://install.zerotier.com | sudo bash
  • Conecté él a la red existente de ZeroTier:
    sudo zerotier-cli join
  • Ejecuté el comando para desconectar la gestión de direcciones IP y rutas de ZeroTier:
    sudo zerotier-cli set  allowManaged=0

Luego, en mi controlador de red:

En Redes hice clic en detalle, encontré y seguí el enlace v4AssignMode y desactivé la asignación automática de direcciones IP, desmarcando la caja de verificación Auto-assign from IP Assignment Pool

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 2
Después de eso, autoricé el nodo conectado, asignándole un nombre y marcando las casillas Authorized y Active Bridge. No asigné dirección IP.

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 2
Luego volví a la configuración del puente de red en el nodo, para lo cual abrí para editar a través del terminal el archivo de configuración de interfaces de red:

sudo nano /etc/network/interfaces

Donde añadí las siguientes líneas

auto eth1
allow-hotplug eth1
iface eth1 inet manual

auto br0
allow-hotplug br0
iface br0 inet static
        address 192.168.0.10
        netmask 255.255.255.0
        gateway 192.168.0.1
        network 192.168.0.0
        broadcast 192.168.0.255
        dns-nameservers 127.0.0.1
        bridge_ports eth1 ztXXXXXXXX
        bridge_fd 0
        bridge_maxage 0

Donde eth1 es el adaptador Ethernet USB conectado, al que no se le asignó dirección IP.
br0 — un puente de red creado con una dirección IP fija asignada del rango de direcciones de mi red física.
ztXXXXXXXX — el nombre de la interfaz virtual de ZeroTier, que obtuve con el comando:

sudo ifconfig

Después de ingresar la información, guardé el archivo de configuración y reinicié los servicios de red con el comando:

sudo /etc/init.d/networking restart

Para verificar el funcionamiento del puente, ejecuté el comando:

sudo brctl show   

Según los datos recibidos, el puente está activo.

nombre del puente	id del puente		STP habilitado	interfaces
br0		8000.00e04c360769	no		eth1
							ztXXXXXXXX

A continuación, fui al controlador de red para establecer la ruta.

Para lo cual, en la lista de nodos de la red, hice clic en el enlace Asignación de IP del puente de red. Luego, en la ventana que se abrió, hice clic en Rutas administradas. Pasé a una nueva página, donde como Objetivo especificé 0.0.0.0/0, y como Puerta de enlace — la dirección IP del puente de red del rango de direcciones de la red de la organización, especificada anteriormente. En mi caso 192.168.0.10

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 2
Confirmé los datos ingresados y comencé a comprobar la conectividad de red de los nodos, haciendo ping desde un nodo de la red física a un nodo de la red virtual y viceversa.

¡Y eso es todo!

Sin embargo, a diferencia del prototipo, del cual se hicieron las capturas de pantalla, las direcciones IP de los nodos de la red virtual pertenecen al mismo rango que las direcciones IP de los nodos en la física. Conectando redes a través del puente, este modelo es posible, siempre que no se crucen con las direcciones asignadas por el servidor DHCP.

No entraré en detalles sobre la configuración del puente de red en nodos que usan MS Windows y otras distribuciones de Linux, ya que hay muchos materiales en internet sobre este tema. En cuanto a la configuración del lado del controlador de red, es idéntica a la descrita anteriormente.

Solo quiero señalar que Raspberry PI es una herramienta económica y conveniente para unir redes con ZeroTier, y no solo como una solución de escritorio. Por ejemplo, los trabajadores subcontratados pueden usar un puente de red preconfigurado basado en Raspberry PI para unir rápidamente la red física del cliente atendido con las virtuales basadas en ZeroTier.

Permítanme concluir esta parte de la narración. Espero preguntas, comentarios y respuestas, ya que me basaré en ellos para construir el contenido del próximo artículo. Mientras tanto, les propongo intentar organizar su propia red virtual utilizando un controlador de red privado con GUI basado en VDS del mercado en el sitio web RUVDS. Además, todos los nuevos clientes pueden beneficiarse de un período de prueba gratuito de 3 días.

-> Introducción. Parte teórica. Interruptor Ethernet inteligente para el planeta Tierra
-> Guía práctica para la construcción de redes virtuales. Parte 1
-> Guía práctica para la construcción de redes virtuales. Parte 2

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 2

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster