Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1

Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
Continuando con la historia de ZeroTier, a partir de la teoría esbozada en el artículo "Conmutador Ethernet inteligente para el planeta Tierra”, me dirijo a la práctica en la que:

  • Crear y configurar un controlador de red privada
  • Vamos a crear una red virtual
  • Configurar y conectar nodos a él
  • Comprobemos la conectividad de red entre ellos.
  • Cerremos el acceso a la GUI del controlador de red desde el exterior

Controlador de red

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

Opciones de GUI de ZeroTier

  • Uno del desarrollador ZeroTier, disponible como una solución de nube pública SaaS con cuatro planes de suscripción, incluido el gratuito, pero limitado en dispositivos administrados y nivel de soporte
  • El segundo es de un desarrollador independiente, algo simplificado en términos de funcionalidad, pero disponible como una solución privada de código abierto, para uso local o en recursos en la nube.

En mi práctica, usé ambos y, como resultado, me decidí por el segundo. La razón de esto fueron las advertencias del desarrollador.

“Los controladores de red sirven como autoridades de certificación para las redes virtuales ZeroTier. Los archivos que contienen las claves secretas del controlador deben protegerse cuidadosamente y archivarse de forma segura. Su compromiso permite a los atacantes no autorizados crear configuraciones de red fraudulentas, y su pérdida conduce a la pérdida de la capacidad de controlar y administrar la red, haciéndola inutilizable de manera efectiva.

Enlace a la documentación

Y también, signos de su propia IS-paranoia 🙂 

  • Incluso si viene Cheburnet, aún debería tener acceso a mi controlador de red;
  • Solo debo usar el controlador de red. De ser necesario, permitir el acceso a sus personas autorizadas;
  • Debería ser posible restringir el acceso al controlador de red desde el exterior.

No veo mucho sentido en insistir por separado en cómo implementar un controlador de red y una GUI en recursos físicos o virtuales en las instalaciones.No veo mucho sentido en este artículo. Y hay 3 razones para esto: 

  • habrá más cartas de las previstas
  • sobre eso ya dijo en el desarrollador de GUI de GitHab
  • tema de un artículo sobre otro

Por lo tanto, eligiendo el camino de menor resistencia, usaré en esta historia un controlador de red con una GUI basada en VDS creada por de la plantilla, amablemente desarrollado por mis colegas en RuVDS.

Configuración inicial

Después de crear un servidor a partir de la plantilla especificada, el usuario obtiene acceso a la Web-GUI del controlador a través del navegador accediendo a https:// :3443

Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
De forma predeterminada, el servidor ya contiene un certificado TLS/SSL autofirmado generado previamente. Para mí, esto es suficiente, ya que cierro el acceso desde el exterior. Para aquellos que deseen utilizar otro tipo de certificados, existe instrucciones de instalación en el GitHab del desarrollador de GUI.

La primera vez que un usuario inicia sesión Acceder con nombre de usuario y contraseña predeterminados Admin и la contraseña:

Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
Sugiere cambiar la contraseña predeterminada por una personalizada.

Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
Actúo un poco diferente: no cambio la contraseña de un usuario existente, sino que creo una nueva. crear usuario.

Establecer el nombre del nuevo usuario - Usuario:
Establecí una nueva contraseña - Introduzca una nueva contraseña
Confirmar nueva contraseña - Escriba la contraseña otra vez:

Los caracteres introducidos distinguen entre mayúsculas y minúsculas. ¡Tenga cuidado!

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: yo no marco. 

Para confirmar los datos ingresados, presione Fijar contraseña:

Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
Entonces: vuelvo a iniciar sesión - Cerrar Sesión / Acceder, ya bajo las credenciales del nuevo usuario:

Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
A continuación, vaya a la pestaña de usuarios - Usuarios y eliminar el usuario Adminhaciendo clic en el ícono de la papelera a la izquierda de su nombre.

Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
En el futuro, puede cambiar la contraseña del usuario haciendo clic en su nombre o en establecer contraseña.

Crear una red virtual

Para crear una red virtual, el usuario debe ir a la pestaña Agregar red. Del párrafo Usuario esto se puede hacer a traves de la pagina Inicio - la página principal de Web-GUI, que muestra la dirección ZeroTier del controlador de red dado y contiene un enlace a la página de lista de redes creadas a través de él.

Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
Página Agregar red el usuario asigna el nombre de la red recién creada.

Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
Al aplicar datos de entrada - Crear Red el usuario es llevado a una página con una lista de redes, que muestra: 

Nombre de red - el nombre de la red en forma de enlace, al hacer clic en el que puede cambiarlo 
ID de red - Identificación de red
detalle — enlace a la página con parámetros de red detallados
configuración fácil - enlace a la página para una fácil configuración
miembros - enlace a la página de gestión de nodos

Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
Para más ajustes siga el enlace configuración fácil. En la página que se abre, el usuario establece el rango de direcciones IPv4 para la red que se está creando. Esto se puede hacer automáticamente presionando el botón Generar dirección de red o manualmente ingresando la máscara de red de la red en el campo apropiado CIDR.

Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
Tras la confirmación de la entrada de datos exitosa, debe regresar a la página con la lista de redes usando el botón Atrás. Esto completa la configuración básica de la red.

Conexión de hosts

  1. Para empezar, en el nodo que el usuario desea conectar a la red, debe instalar el servicio ZeroTier One.

    ¿Qué es el Nivel Uno Cero?cero de nivel uno es un servicio que se ejecuta en equipos portátiles, 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. 

    Una vez que el servicio está instalado y en ejecución, puede conectarse a redes virtuales utilizando sus direcciones de 16 caracteres. Cada red aparece como un puerto de red virtual en el sistema que se comporta como un puerto Ethernet normal.
    Se pueden encontrar enlaces a distribuciones, así como comandos de instalación. en la pagina del fabricante.

    Puede administrar el servicio instalado a través de la terminal de línea de comandos (CLI) con derechos de administrador/raíz. En Windows/MacOS todavía usando la interfaz gráfica. En Android/iOS solo a través de GUI.

  2. Comprobando si la instalación del servicio fue exitosa:

    CLI:

    zerotier-cli status

    Resultado: 

    200 info ebf416fac1 1.4.6 ONLINE
    GUI:

    El hecho mismo de su funcionamiento de la aplicación y la presencia en ella de una línea con ID de nodo con la dirección del nodo.

  3. Conexión del nodo a la red:

    CLI:

    zerotier-cli join <Network ID>

    Resultado: 

    200 join OK

    GUI:

    ventanas: clic derecho en el icono cero de nivel uno en la bandeja del sistema y seleccionando el elemento - Únete a la red.

    Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
    Mac OS: Ejecutar aplicación cero de nivel uno en el menú de la barra, si aún no se está ejecutando. Haga clic en el icono ⏁ y seleccione Únete a la red.

    Android/iOS: + (más imagen) en la aplicación

    Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
    En el campo que aparece, ingrese el controlador de red especificado en la GUI ID de redy presione Unirse / Agregar red.

  4. Asignación de una dirección IP a un host
    Ahora volvemos al controlador de red y en la página con la lista de redes siga el enlace miembros. Si vio una imagen similar a esta en la pantalla, significa que su controlador de red recibió una solicitud para confirmar la conexión a la red desde el nodo conectado.

    Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
    En esta página, dejamos todo como está por ahora y seguimos el enlace Asignación de IP vaya a la página para asignar una dirección IP a un nodo:

    Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
    Después de asignar la dirección, haciendo clic en el botón Atrás volvemos a la página de la lista de nodos conectados y establecemos el nombre - Nombre de miembro y marque la casilla de verificación para autorizar el nodo en la red - Autorizado. Por cierto, esta casilla de verificación es muy útil para desconectarse/conectarse de la red del nodo en el futuro.

    Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
    Guardar cambios con un botón Refrescar.

  5. Comprobación del estado de conexión de red de un nodo:
    Para comprobar el estado de la conexión en el propio nodo, ejecute:
    CLI:

    zerotier-cli listnetworks

    Resultado:

    200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
    200 listnetworks 2da06088d9f863be My_1st_VLAN be:88:0c:cf:72:a1 OK PRIVATE ethernet_32774 10.10.10.2/24

    GUI:

    El estado de la red debería estar bien

    Para conectar los nodos restantes, repita las operaciones 1-5 para cada uno de ellos.

Comprobación de la conectividad de red de los nodos

lo hago con el comando silbido en el dispositivo en red que estoy administrando actualmente.

Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1
En la captura de pantalla del controlador Web-GUI, puede ver tres nodos conectados a la red:

  1. ZTNCUI-10.10.10.1 - mi controlador de red con una GUI - VDS en uno de los RuVDS DC. Para el trabajo normal, no es necesario agregarlo a la red, pero lo hice porque quiero bloquear el acceso a la interfaz web desde el exterior. Más sobre esto más adelante. 
  2. MiComp-10.10.10.2 - mi computadora de trabajo es una PC física
  3. Copia de seguridad - 10.10.10.3 - VDS en otro DC.

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

ping 10.10.10.1

Pinging 10.10.10.1 with 32 bytes of data:
Reply from 10.10.10.1: bytes=32 time=14ms TTL=64
Reply from 10.10.10.1: bytes=32 time=4ms TTL=64
Reply from 10.10.10.1: bytes=32 time=7ms TTL=64
Reply from 10.10.10.1: bytes=32 time=2ms TTL=64

Ping statistics for 10.10.10.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 2ms, Maximum = 14ms, Average = 6ms

ping 10.10.10.3

Pinging 10.10.10.3 with 32 bytes of data:
Reply from 10.10.10.3: bytes=32 time=15ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64
Reply from 10.10.10.3: bytes=32 time=8ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64

Ping statistics for 10.10.10.3:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 4ms, Maximum = 15ms, Average = 7ms

El usuario tiene derecho a utilizar otras herramientas para comprobar la disponibilidad de los nodos de la red, tanto integradas en el SO, como NMAP, Advanced IP Scanner, etc.

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

En general, puedo reducir la probabilidad de acceso no autorizado al VDS en el que se encuentra mi controlador de red usando el firewall en mi cuenta de RuVDS. Este tema es más para un artículo aparte. 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 hacer esto, conéctese a través de SSH al VDS en el que se encuentra el controlador, abra el archivo de configuración con el comando:

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

En el archivo que se abre, después de la línea "HTTPS_PORT=3443" que contiene la dirección del puerto en el que se abre la GUI, debe agregar una línea adicional con la dirección en la que se abrirá la GUI; en mi caso, es HTTPS_HOST=10.10.10.1 .XNUMX. 

A continuación, guarde el archivo

Сtrl+C
Y
Enter 

y ejecuta el comando:

systemctl restart ztncui

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

En lugar de una conclusión 

Con esto quiero terminar la primera parte de una guía práctica para crear redes virtuales basadas en ZeroTier. Espero tus comentarios. 

Mientras tanto, para pasar el tiempo hasta la publicación de la siguiente parte, en la que les contaré cómo combinar una red virtual con una física, cómo organizar un modo "road warrior" y algo más, les sugiero que prueben organizar su propia red virtual utilizando un controlador de red privado con GUI basado en VDS del mercado en sitio web RUVDS. Además, para todos los nuevos clientes hay un período de prueba gratuito: ¡3 días!

PS ¡Sí! ¡Casi lo olvido! Puede eliminar un nodo de la red con un comando en la CLI de este nodo.

zerotier-cli leave <Network ID>

200 leave OK

o el comando Eliminar en la GUI del cliente en el nodo.

-> Introducción. Parte teórica. Conmutador Ethernet inteligente para el planeta Tierra
-> Una guía práctica para construir redes virtuales. Parte 1
-> Una guía práctica para construir redes virtuales. Parte 2

Desarrollado por ZeroTier. Una guía práctica para construir redes virtuales. Parte 1

Fuente: habr.com

Añadir un comentario