Como configurar Hailbytes VPN para seu ambiente AWS

Introdução

Neste artigo, veremos como configurar HailBytes VPN em sua rede, uma VPN simples e segura e firewall para sua rede. Mais detalhes e especificações específicas podem ser encontradas em nossa documentação do desenvolvedor vinculada SUA PARTICIPAÇÃO FAZ A DIFERENÇA.

PREPARAÇÃO

   1. Requisitos de recursos:

  • Recomendamos começar com 1 vCPU e 1 GB de RAM antes de aumentar.
  • Para implantações baseadas em Omnibus em servidores com menos de 1 GB de memória, você deve ativar a troca para evitar que o kernel Linux termine inesperadamente os processos Firezone.
  • 1 vCPU deve ser suficiente para saturar um link de 1 Gbps para a VPN.
 

   2.  Criar registro DNS: Firezone requer um nome de domínio adequado para uso em produção, por exemplo, firezone.company.com. Será necessário criar um registro DNS apropriado como registro A, CNAME ou AAAA.

   3.  Configurar SSL: você precisará de um certificado SSL válido para usar o Firezone em uma capacidade de produção. O Firezone suporta ACME para provisionamento automático de certificados SSL para instalações baseadas em Docker e Omnibus.

   4.  Portas de firewall abertas: Firezone usa as portas 51820/udp e 443/tcp para tráfego HTTPS e WireGuard, respectivamente. Você pode alterar essas portas posteriormente no arquivo de configuração.

Implantar no Docker (recomendado)

   1. Pré-requisitos:

  • Verifique se você está em uma plataforma compatível com a versão 2 ou superior do docker-compose instalada.

 

  • Certifique-se de que o encaminhamento de porta esteja ativado no firewall. Os padrões exigem que as seguintes portas estejam abertas:

         o 80/tcp (opcional): Emissão automática de certificados SSL

         o 443/tcp: Acesse a IU da web

         o 51820/udp: porta de escuta do tráfego VPN

  2.  Instalar opção de servidor I: instalação automática (recomendado)

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

 

  • Ele fará algumas perguntas sobre a configuração inicial antes de baixar um arquivo docker-compose.yml de amostra. Você desejará configurá-lo com suas respostas e imprimir instruções para acessar a interface do usuário da Web.

 

  • Endereço padrão do Firezone: $HOME/.firezone.
 

  2.  Instalar servidor Opção II: Instalação manual

  • Baixe o modelo de composição do docker para um diretório de trabalho local

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

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

  • Gere os segredos necessários: docker run –rm firezone/firezone bin/gen-env > .env

 

  • Altere as variáveis ​​DEFAULT_ADMIN_EMAIL e EXTERNAL_URL. Modifique outros segredos conforme necessário.

 

  • Migre o banco de dados: docker compose run –rm firezone bin/migrate

 

  • Crie uma conta de administrador: docker compose run –rm firezone bin/create-or-reset-admin

 

  • Traga os serviços: docker compose up -d

 

  • Você deve ser capaz de acessar a IU do Firezome através da variável EXTERNAL_URL definida acima.
 

   3. Ative na inicialização (opcional):

  • Verifique se o Docker está ativado na inicialização: sudo systemctl enable docker

 

  • Os serviços Firezone devem ter a opção reiniciar: sempre ou reiniciar: a menos que seja interrompida especificada no arquivo docker-compose.yml.

   4. Habilitar roteamento público IPv6 (opcional):

  • Adicione o seguinte a /etc/docker/daemon.json para habilitar IPv6 NAT e configurar o encaminhamento de IPv6 para contêineres do Docker.

 

  • Ative as notificações do roteador na inicialização para sua interface de saída padrão: egress=`ip route show default 0.0.0.0/0 | grep -oP '(?<=dev ).*' | cortar -f1 -d' ' | tr -d '\n'` sudo bash -c “echo net.ipv6.conf.${egress}.accept_ra=2 >> /etc/sysctl.conf”

 

  • Reinicie e teste fazendo ping no Google a partir do contêiner docker: docker run –rm -t busybox ping6 -c 4 google.com

 

  • Não há necessidade de adicionar nenhuma regra de iptables para habilitar IPv6 SNAT/mascaramento para tráfego encapsulado. Firezone vai lidar com isso.
 

   5. Instale aplicativos cliente

        Agora você pode adicionar usuários à sua rede e configurar instruções para estabelecer uma sessão VPN.

Pós-configuração

Parabéns, você concluiu a configuração! Você pode querer verificar nossa documentação do desenvolvedor para configurações adicionais, considerações de segurança e recursos avançados: https://www.firezone.dev/docs/