Cómo configurar Hailbytes VPN para su entorno de AWS

Introducción

En este artículo, repasaremos cómo configurar HailBytes VPN en su red, una VPN y un firewall simples y seguros para su red. Se pueden encontrar más detalles y especificaciones específicas en nuestra documentación para desarrolladores vinculada esta página.

PREPARACIÓN

   1. Requisitos de recursos:

  • Recomendamos comenzar con 1 vCPU y 1 GB de RAM antes de escalar.
  • Para las implementaciones basadas en Omnibus en servidores con menos de 1 GB de memoria, debe activar el intercambio para evitar que el kernel de Linux elimine inesperadamente los procesos de Firezone.
  • 1 vCPU debería ser suficiente para saturar un enlace de 1 Gbps para la VPN.
 

   2.  Crear registro DNS: Firezone requiere un nombre de dominio adecuado para uso de producción, por ejemplo, firezone.company.com. Será necesario crear un registro DNS apropiado como un registro A, CNAME o AAAA.

   3.  Configure SSL: necesitará un certificado SSL válido para usar Firezone en una capacidad de producción. Firezone es compatible con ACME para el aprovisionamiento automático de certificados SSL para instalaciones basadas en Docker y Omnibus.

   4.  Abrir puertos de firewall: Firezone usa los puertos 51820/udp y 443/tcp para el tráfico HTTPS y WireGuard respectivamente. Puede cambiar estos puertos más adelante en el archivo de configuración.

Implementar en Docker (recomendado)

   1. Requisitos previos:

  • Asegúrese de estar en una plataforma compatible con docker-compose versión 2 o superior instalada.

 

  • Asegúrese de que el reenvío de puertos esté habilitado en el firewall. Los valores predeterminados requieren que los siguientes puertos estén abiertos:

         o 80/tcp (opcional): Emisión automática de certificados SSL

         o 443/tcp: acceder a la interfaz de usuario web

         o 51820/udp: puerto de escucha de tráfico VPN

  2.  Instalar la opción I del servidor: instalación automática (recomendada)

  • Run installation script: bash <(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh) 1889d1a18e090c-0ec2bae288f1e2-26031d51-144000-1889d1a18e11c6c

 

  • Le hará algunas preguntas sobre la configuración inicial antes de descargar un archivo docker-compose.yml de muestra. Querrá configurarlo con sus respuestas e imprimir instrucciones para acceder a la interfaz de usuario web.

 

  • Dirección predeterminada de Firezone: $HOME/.firezone.
 

  2.  Instalar servidor Opción II: Instalación Manual

  • Descargue la plantilla de composición de la ventana acoplable a un directorio de trabajo local

          – Linux: curl -fsSL https://raw.githubusercontent.com/firezone/firezone/master/docker-compose.prod.yml -o docker-compose.yml

          – macOS o Windows: curl -fsSL https://raw.githubusercontent.com/firezone/firezone/master/docker-compose.desktop.yml -o docker-compose.yml

  • Genere los secretos necesarios: docker run –rm firezone/firezone bin/gen-env > .env

 

  • Cambie las variables DEFAULT_ADMIN_EMAIL y EXTERNAL_URL. Modifique otros secretos según sea necesario.

 

  • Migrar la base de datos: docker compose run –rm firezone bin/migrate

 

  • Cree una cuenta de administrador: docker compose run –rm firezone bin/create-or-reset-admin

 

  • Abrir los servicios: docker compone up -d

 

  • Debería poder acceder a la interfaz de usuario de Firezome a través de la variable EXTERNAL_URL definida anteriormente.
 

   3. Habilitar en el arranque (opcional):

  • Asegúrese de que Docker esté habilitado al inicio: sudo systemctl enable docker

 

  • Los servicios de Firezone deben tener la opción reiniciar: siempre o reiniciar: a menos que se detenga especificada en el archivo docker-compose.yml.

   4. Habilite la enrutabilidad pública de IPv6 (opcional):

  • Agregue lo siguiente a /etc/docker/daemon.json para habilitar IPv6 NAT y configurar el reenvío de IPv6 para contenedores Docker.

 

  • Habilite las notificaciones del enrutador en el arranque para su interfaz de salida predeterminada: egress=`ip route show default 0.0.0.0/0 | grep -oP '(?<=desarrollo).*' | cortar -f1 -d' ' | tr -d '\n'` sudo bash -c “echo net.ipv6.conf.${salida}.accept_ra=2 >> /etc/sysctl.conf”

 

  • Reinicie y pruebe haciendo ping a Google desde el contenedor docker: docker run –rm -t busybox ping6 -c 4 google.com

 

  • No es necesario agregar ninguna regla de iptables para habilitar SNAT/enmascaramiento de IPv6 para el tráfico tunelizado. Firezone se encargará de esto.
 

   5. Instalar aplicaciones cliente

        Ahora puede agregar usuarios a su red y configurar las instrucciones para establecer una sesión de VPN.

Configuración de la publicación

¡Felicitaciones, ha completado la configuración! Es posible que desee consultar nuestra documentación para desarrolladores para obtener configuraciones adicionales, consideraciones de seguridad y funciones avanzadas: https://www.firezone.dev/docs/