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

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
Continuando la historia sobre ZeroTier, de la teoría expuesta en el artículo 'Conmutador Ethernet inteligente para el planeta Tierra', paso a la práctica, en la que:

  • Crearemos y configuraremos un controlador de red privado
  • Crearemos una red virtual
  • Configuraremos y conectaremos nodos a ella
  • Verificaremos la conectividad de red entre ellos
  • Cerraremos el acceso a la interfaz gráfica del controlador de red desde el exterior

Controlador de red

Como se mencionó anteriormente, para crear redes virtuales, gestionarlas y conectar nodos, el usuario necesita un controlador de red, cuya interfaz gráfica (GUI) existe en dos formas:

Opciones de ZeroTier GUI

  • Una del desarrollador de ZeroTier, disponible como una solución pública en la nube, ofrecida bajo el modelo SaaS, con cuatro planes de suscripción, incluyendo uno gratuito pero limitado en cuanto a la cantidad de dispositivos gestionados y el nivel de soporte
  • La segunda, de un desarrollador independiente, algo simplificada en funcionalidad, pero disponible como una solución privada de código abierto, para usar en recursos on-premise o en la nube.

En mi práctica, he utilizado ambas y al final me decidí por la segunda. La razón fue la advertencia del desarrollador.

"Los controladores de red sirven como centros de certificación para las redes virtuales de ZeroTier. Los archivos que contienen las claves secretas del controlador deben ser protegidos cuidadosamente y archivar de manera segura. Su compromiso permite que intrusos no autorizados creen configuraciones de red fraudulentas, y su pérdida resulta en la incapacidad de controlar y gestionar la red, haciéndola, de hecho, inutilizable"

→ Enlace a la documentación

Así como, señales de mi propia paranoia sobre la ciberseguridad 🙂

  • Incluso si llega Cheburnet, debo mantener el acceso a mi controlador de red;
  • El controlador de red debe ser utilizado solo por mí, proporcionando acceso a mis personas de confianza cuando sea necesario;
  • Debe haber una opción para restringir el acceso al controlador de red desde el exterior.

No veo mucho sentido en detenerme en cómo desplegar un controlador de red y su GUI en recursos físicos o virtuales on-premise, en este artículo hay tres razones para eso:

  • las letras serán más de lo que planeaba
  • ya se ha hablado de esto se ha informado en GitHab del desarrollador GUI
  • el tema del artículo es diferente

Por lo tanto, al elegir el camino de menor resistencia, utilizaré en esta narrativa un controlador de red con GUI basado en VDS, creado a partir de una plantilla, amablemente desarrollada por mis colegas de ProHoster.

Configuración inicial

Después de crear servidores de la plantilla mencionada, el acceso al Web-GUI del controlador se obtiene a través del navegador, dirigiéndose a httрs://:3443

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
funciona hasta que se finalice manualmente. Por lo tanto, puede ser útil la opción servidor ya contiene un certificado TLS/SSL autofirmado previamente creado. Para mí, esto es suficiente, ya que cierro el acceso desde el exterior. Para aquellos que desean utilizar otros tipos de certificados, hay de instalación en GitHab del desarrollador GUI.

Al primer inicio de sesión del usuario en el sistema Iniciar sesión con las credenciales de inicio de sesión y contraseña predeterminadas — admin y password:

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
Se ofrece cambiar la contraseña predeterminada por una personalizada

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
Yo hago un poco diferente: no cambio la contraseña del usuario existente, sino que creo uno nuevo — Crear usuario.

Establezco el nombre del nuevo usuario — Nombre de usuario:
Establezco la nueva contraseña — Ingresa nueva contraseña:
Confirmo la nueva contraseña — Reingresa la contraseña:

Los caracteres introducidos son sensibles a mayúsculas y minúsculas — ¡ten cuidado!

La casilla de verificación para confirmar el cambio de contraseña en el próximo inicio de sesión — Cambiar contraseña en el próximo inicio de sesión: no la marco.

Para confirmar los datos ingresados, presiono Establecer contraseña:

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
Luego: vuelvo a iniciar sesión — Cerrar sesión / Iniciar sesión, ya con las credenciales del nuevo usuario:

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
Luego, voy a la pestaña de usuarios — Usuarios y elimino al usuario admin, haciendo clic en el ícono de la papelera a la izquierda de su nombre.

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
Más adelante, se puede cambiar la contraseña del usuario haciendo clic en su nombre o en establecer contraseña.

Creación de una red virtual

Para crear una red virtual, el usuario debe ir a la pestaña Agregar red. Desde el punto User esto se puede hacer a través de la página Inicio — la página principal de Web-GUI, donde se muestra la dirección ZeroTier de este controlador de red y hay un enlace a la página de la lista de redes creadas a través de él.

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
En la página Agregar red el usuario asigna un nombre a la nueva red que está creando.

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
Al aplicar los datos ingresados — Crear red el usuario llega a la página con la lista de redes, donde se indican:

Nombre de la red — nombre de la red en forma de un enlace, al que se puede acceder para modificarlo
ID de red — identificador de la red
detalle — enlace a la página con los parámetros detallados de la red
configuración fácil — enlace a la página para una configuración sencilla
miembros — enlace a la página de gestión de nodos

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
Para continuar con la configuración, vamos al enlace configuración fácil. En la página que se abre, el usuario debe establecer el rango de direcciones IPv4 para la red que se está creando. Esto se puede hacer automáticamente pulsando el botón Generar dirección de red o manualmente, introduciendo la máscara de red en el campo correspondiente CIDR.

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
Al confirmar la entrada exitosa de datos, es necesario regresar a la página con la lista de redes utilizando el botón Atrás. En este punto, la configuración principal de la red puede considerarse finalizada.

Conexión de nodos de red

  1. Para empezar, en el nodo que el usuario desea conectar a la red, es necesario instalar el servicio ZeroTier One.¿Qué es ZeroTier One?ZeroTier One es un servicio que funciona en portátiles, ordenadores de escritorio, servidores, máquinas virtuales y contenedores, que proporciona conexiones a una red virtual a través de un puerto de red virtual, similar a un cliente VPN. Tras la instalación y el inicio del servicio, se puede conectar a las redes virtuales utilizando sus direcciones de 16 caracteres. Cada red se comporta como un puerto de red virtual en el sistema, que funciona como un puerto Ethernet convencional.
    Los enlaces a los distribuibles y los comandos de instalación se pueden encontrar en la página del fabricante. Se puede gestionar el servicio instalado a través de la terminal de línea de comandos (CLI) con derechos de admin/root. En Windows/MacOS también mediante la interfaz gráfica. En Android/iOS solo a través de la GUI.
  2. Verificación del éxito de la instalación del servicio:CLI:
    zerotier-cli status

    Resultado:

    200 info ebf416fac1 1.4.6 ONLINE
    GUI:

    El hecho de que la aplicación esté funcionando y que haya una línea con Node ID con la dirección del nodo.

  3. Conectar el nodo a la red:CLI:
    zerotier-cli join

    Resultado:

    200 join OK

    GUI:

    Windows: haciendo clic con el botón derecho del ratón en el icono ZeroTier One en la bandeja del sistema y seleccionando la opción — Unirse a la red.

    Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
    MacOS: Iniciar la aplicación ZeroTier One en el menú bar, si no se ha iniciado aún. Hacer clic en el icono ⏁ y seleccionar Unirse a la red.

    Android/iOS: + (imagen de suma) en la aplicación

    Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
    En el campo que aparece, introduce el que se indica en la GUI del controlador de red ID de red, y pulsas Unir / Añadir red.

  4. Asignación de una dirección IP al nodo
    Ahora regresamos al controlador de red y en la página de la lista de redes hacemos clic en el enlace miembros. Si en la pantalla ves una imagen similar a esta, significa que tu controlador de red ha recibido una solicitud de confirmación de conexión a la red del nodo que se está conectando.Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
    En esta página dejamos todo como está y mediante el enlace Asignación de IP vamos a la página de asignación de una dirección IP al nodo:Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
    Después de asignar la dirección, hacemos clic en el botón Atrás regresamos a la página de lista de nodos conectados y damos un nombre — Nombre del miembro y marcamos la casilla para autorizar el nodo en la red — Authorized. Por cierto, esta casilla es muy útil para desconectar/conectar el nodo de la red más adelante.Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
    Guardamos los cambios con el botón Actualizar.
  5. Verificación del estado de conexión del nodo a la red:
    Para verificar el estado de conexión en el propio nodo, ejecutamos:
    CLI:
    zerotier-cli listnetworks

    Resultado:

    200 listas de redes
    200 listas de redes 2da06088d9f863be Mi_1er_VLAN be:88:0c:cf:72:a1 OK PRIVADO ethernet_32774 10.10.10.2/24

    GUI:

    El estado de la red debe ser OK

    Para conectar los otros nodos, repetimos las operaciones del 1 al 5 para cada uno de ellos.

 

Verificación de la conectividad de la red de nodos

Hago esto ejecutando el comando ping en el dispositivo conectado a la red, que estoy gestionando en este momento.

Impulsado por ZeroTier. Guía práctica para construir redes virtuales. Parte 1
En la captura de pantalla del Web-GUI del controlador se pueden ver tres nodos conectados a la red:

  1. ZTNCUI — 10.10.10.1 — mi controlador de red con GUI — VDS en uno de los centros de datos de ProHoster. Para el funcionamiento normal no es necesario agregarlo a la red, pero lo hice ya que quiero cerrar el acceso a la interfaz web desde afuera. Hablaremos de esto más adelante.
  2. MyComp — 10.10.10.2 — mi ordenador de trabajo — un PC físico
  3. Backup — 10.10.10.3 — VDS en otro centro de datos.

Por lo tanto, desde mi ordenador de trabajo verifico la disponibilidad de otros nodos con los comandos:

ping 10.10.10.1

Haciendo ping a 10.10.10.1 con 32 bytes de datos:
Respuesta de 10.10.10.1: bytes=32 tiempo=14ms TTL=64
Respuesta de 10.10.10.1: bytes=32 tiempo=4ms TTL=64
Respuesta de 10.10.10.1: bytes=32 tiempo=7ms TTL=64
Respuesta de 10.10.10.1: bytes=32 tiempo=2ms TTL=64

Estadísticas de ping para 10.10.10.1:
Paquetes: Enviados = 4, Recibidos = 4, Perdidos = 0 (0% pérdida),
Tiempos de ida y vuelta aproximados en milisegundos:
Mínimo = 2ms, Máximo = 14ms, Promedio = 6ms

ping 10.10.10.3

Haciendo ping a 10.10.10.3 con 32 bytes de datos:
Respuesta de 10.10.10.3: bytes=32 tiempo=15ms TTL=64
Respuesta de 10.10.10.3: bytes=32 tiempo=4ms TTL=64
Respuesta de 10.10.10.3: bytes=32 tiempo=8ms TTL=64
Respuesta de 10.10.10.3: bytes=32 tiempo=4ms TTL=64

Estadísticas de ping para 10.10.10.3:
Paquetes: Enviados = 4, Recibidos = 4, Perdidos = 0 (0% pérdida),
Tiempos de ida y vuelta aproximados en milisegundos:
Mínimo = 4ms, Máximo = 15ms, Promedio = 7ms

El usuario puede utilizar otras herramientas para verificar la disponibilidad de nodos en la red, tanto integradas en el S.O. como NMAP, Advanced IP Scanner, etc.

Ocultamos el acceso a la GUI del controlador de red desde fuera.

En general, para reducir la probabilidad de acceso no autorizado al VDS, donde se encuentra mi controlador de red, puedo usar el firewall en el panel de ProHoster. Este es un tema más para un artículo separado. Por lo tanto, aquí mostraré cómo garantizar el acceso a la GUI del controlador solo desde la red que creé en este artículo.

Para ello, es necesario conectarse por SSH al VDS en el que se encuentra el controlador, abrir el archivo de configuración con el comando:

nano /opt/key-networks/ztncui/.env

En el archivo abierto, después de la línea «HTTPS_PORT=3443», que contiene la dirección del puerto donde se abre la GUI, necesitamos agregar una línea adicional con la dirección desde la cual se abrirá la GUI — en mi caso es HTTPS_HOST=10.10.10.1.

Luego guardaré el archivo

Ctrl+C
Y
Enter 

y ejecuto el comando:

systemctl restart ztncui

Y eso es todo, ahora la interfaz gráfica de usuario de mi controlador de red está disponible solo para los nodos de la red 10.10.10.0.24.

En conclusión

Con esto quiero concluir la primera parte de la guía práctica sobre la creación de redes virtuales basadas en ZeroTier. Espero sus comentarios.

Mientras tanto, para pasar el tiempo hasta la publicación de la próxima parte, en la que explicaré cómo combinar una red virtual con una física, cómo organizar un modo "road warrior" y algo más, les propongo intentar organizar su propia red virtual utilizando un controlador de red privado con GUI basado en VDS de la tienda en el sitio web ProHoster. ¡Además, todos los nuevos clientes tienen un período de prueba gratuito de 3 días!

P.D. ¡Sí! Casi lo olvido. Puedes eliminar un nodo de la red con el comando en la CLI de ese nodo.

zerotier-cli leave

200 leave OK

o con el comando Delete en la GUI del cliente en el nodo.

-> 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 1

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