VPN

Criando VPN Server com Docker

· 4 minutos de leitura
Criando VPN Server com Docker

DuckDNS é um serviço gratuito que permite criar um nome de domínio personalizado e gratuito para o seu endereço IP dinâmico. Seguem os passos para criar uma conta no DuckDNS:

  1. Acesse o site do DuckDNS em https://www.duckdns.org/
  2. Clique no botão "Sign Up" (Inscreva-se).
  3. Insira um nome de usuário, um endereço de e-mail válido e uma senha segura.
  4. Depois de preencher todos os campos, clique em "Register" (Registrar) para criar a conta.
  5. Você será direcionado para a página "Add Domain" (Adicionar Domínio). Insira um nome de domínio desejado no campo "Domain Name" (Nome do Domínio).
  6. Selecione "IPv4" ou "IPv6" dependendo do seu endereço IP.
  7. Clique em "Add Domain" (Adicionar Domínio) para concluir o processo.
  8. O seu novo nome de domínio será exibido na página principal do DuckDNS. Você também receberá um link exclusivo para o seu novo domínio.
  9. Para atualizar o endereço IP associado ao seu domínio, você precisará usar o DuckDNS updater. Há várias opções disponíveis para fazer isso, incluindo clientes de atualização de DNS, scripts Bash, entre outros. Aqui vamos utilizar o Docker para atualizar o endereço domínio.

A configuração do container do DuckDNS no Docker envolve a criação de um contêiner que executa o DuckDNS Updater, um aplicativo que atualiza o registro DNS do seu nome de domínio DuckDNS com o endereço IP da sua rede local.

Para configurar o container do DuckDNS no Docker, siga estes passos:

  1. Certifique-se de que o Docker esteja instalado e em execução na sua máquina.
  2. Crie um arquivo compose.yml no diretório onde você deseja executar o contêiner do DuckDNS. O arquivo compose.yml define como o Docker deve executar o contêiner. Copie e cole o seguinte código no arquivo compose.yml:
services:
  duckdns:
    container_name: duckdns
    image: linuxserver/duckdns
    restart: always
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Sao_Paulo
      - SUBDOMAINS=<seu_subdominio>
      - TOKEN=<seu_token>
    network_mode: "host"
  1. Substitua <seu_subdominio> pelo nome de subdomínio que você criou no DuckDNS e <seu_token> pelo token de autenticação fornecido pelo DuckDNS. Certifique-se de não incluir as chaves "<>" em seu subdomínio e token. Você pode obter o seu token de autenticação no site do DuckDNS, na seção "Install" -> "Token".
  2. Salve e feche o arquivo compose.yml.
  3. Abra um terminal e navegue até o diretório onde você criou o arquivo compose.yml.
  4. Execute o comando docker compose up -d para iniciar o contêiner do DuckDNS em segundo plano.
  5. Agora, o contêiner do DuckDNS estará em execução e atualizando seu registro DNS do DuckDNS com seu endereço IP público. Verifique o log do contêiner para garantir que a atualização esteja ocorrendo corretamente.

Com esses passos, você pode configurar o container do DuckDNS no Docker e manter seu nome de domínio sempre atualizado com o endereço IP da sua rede local.


O WireGuard é uma solução de VPN segura e de código aberto que permite criar uma rede privada virtual para conectar vários dispositivos em diferentes locais. O WireGuard Easy é um aplicativo baseado em Docker que torna a configuração de um servidor WireGuard mais fácil, além de incluir recursos adicionais, como um cliente web para gerenciamento.

Para configurar o WireGuard Easy no Docker com o DDNS do DuckDNS, siga estes passos:

  1. Certifique-se de que o Docker esteja instalado e em execução na sua máquina.
  2. Crie uma conta no DuckDNS e crie um subdomínio para usar como seu endereço DDNS.
  3. Crie um registro A para o seu subdomínio e defina-o como o endereço IP público do seu roteador.
  4. Baixe o arquivo compose.yaml do repositório do WireGuard Easy no GitHub (https://github.com/linuxserver/docker-wireguard-easy).
  5. Abra o arquivo compose.yaml e altere as variáveis de ambiente a seguir para usar o seu subdomínio e token do DuckDNS:
services:
  wg-easy:
    environment:
      # Required:
      # Change this to your host's public address
      - WG_HOST=<seu_subdominio>.duckdns.org
      # Optional:
      - PASSWORD=<senha_forte>
         
    image: weejewel/wg-easy
    container_name: wg-easy
    volumes:
      - ./folder/Wireguard-easy:/etc/wireguard
    ports:
      - 51820:51820/udp
      - 51821:51821/tcp
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
  1. Substitua <seu_subdominio> pelo nome do subdomínio que você criou no DuckDNS e <senha_forte> por uma senha forte para logar no painel do Wireguard. Verifique se o nome do subdomínio e o token estão corretos e não inclua as chaves "<>" em nenhum deles.
  2. Salve e feche o arquivo compose.yaml.
  3. Abra um terminal e navegue até o diretório onde você salvou o arquivo compose.yaml.
  4. Execute o comando docker compose up -d para iniciar o contêiner do WireGuard Easy em segundo plano.
  5. Abra no navegador o painel do Wireguard Easy https://localhost:51821. Faça login com a senha forte configurada e comece a configurar seu servidor WireGuard.
  1. Clique em "New" e escolha um nome para o perfil e clique em "Create".
  2. Uma vez criado o perfil, clique no botão "Show QR Code" para exibir o código QR do perfil.
  3. Escaneie o código QR do perfil usando o aplicativo WireGuard para desktop ou celular. Você pode baixar o aplicativo para desktop em https://www.wireguard.com/install/ e para celular na loja de aplicativos do seu dispositivo.
  4. No aplicativo WireGuard, clique em "Add Tunnel" e escolha "Scan from QR code" para escanear o código QR do perfil.
  5. O perfil VPN será adicionado ao aplicativo WireGuard. Clique em "Activate" para conectar-se à VPN.
  6. Aguarde alguns segundos para que a conexão seja estabelecida e, em seguida, você estará conectado à sua VPN WireGuard.

Com esses passos, você pode criar uma conta no WireGuard Easy, configurar um perfil VPN e se conectar à VPN usando um aplicativo para desktop ou celular. Lembre-se de que é importante manter as suas credenciais de login e o seu perfil VPN seguros e atualizados para garantir a segurança da sua conexão VPN.