Pular para o conteúdo principal

Configuração do Pritunl VPN Server

Visão Geral

O Pritunl é um servidor VPN enterprise baseado em OpenVPN/WireGuard que oferece interface web moderna, múltiplas organizações, autenticação robusta e facilidade de gerenciamento.

🚀 Acesso Inicial

URL de Acesso

⚠️ Certificado SSL

Como usa certificado auto-assinado, o navegador mostrará aviso de segurança. Clique em "Advanced" > "Proceed" para continuar.

⚙️ Configuração Inicial

1. Primeiro Acesso

  1. Acesse: https://3.208.54.208:9443
  2. Insira o Setup Key: 45270ac66ac440d68e1a6fd72ce5205b
  3. Clique em "Save"

2. Configuração do Administrador

Username: admin
Password: [senha forte - min 8 caracteres]
Confirm Password: [mesma senha]

⚠️ Importante: Anote bem esta senha, será seu acesso principal.

3. Configuração Inicial do MongoDB

O Pritunl usa MongoDB interno. A configuração é automática, mas você pode monitorar:

# Verificar logs do MongoDB (via Docker)
docker exec pritunl tail -f /var/log/pritunl/pritunl.log

🏢 Configuração de Organização

1. Criar Organização

  1. Vá para "Users" na barra lateral
  2. Clique em "Add Organization"
  3. Nome: BITIO
  4. Clique em "Add"

2. Configurar Organização

Name: BITIO
Auth API: Disabled (usar autenticação local)
Client Certificate: Disabled

🌐 Configuração do Servidor VPN

1. Criar Servidor VPN

  1. Vá para "Servers"
  2. Clique em "Add Server"
  3. Configurações básicas:
Name: BITIO-Main
Port: 51820
Protocol: UDP
Network: 10.50.0.0/16 (rede interna VPN)

2. Configurações Avançadas

Network Settings

Virtual Network: 10.50.0.0/16
Port: 51820
Protocol: UDP
Multi Device: Enabled
DNS Server: 8.8.8.8, 8.8.4.4
Search Domain: bitio.local

Security Settings

Cipher: AES-256-CBC
Hash: SHA-256
DH Param Bits: 2048
TLS Auth: Enabled
LZO Compression: Adaptive

Advanced Settings

Max Clients: 50
Ping Interval: 10
Ping Timeout: 60
Link Timeout: 3600
Session Timeout: 86400
Allowed IPs: 0.0.0.0/0 (full tunnel)

👥 Gerenciamento de Usuários

1. Criar Usuários

  1. Selecionar Organização: BITIO
  2. Clique em "Add User"
  3. Configurações do usuário:
Name: nome.sobrenome
Email: usuario@bitio.com.br
Pin: [deixar em branco para não solicitar]
Groups: [opcional - para controle de acesso]

2. Anexar Usuários ao Servidor

  1. Vá para "Servers"
  2. Selecione servidor BITIO-Main
  3. Clique em "Attach Organization"
  4. Selecione: BITIO
  5. Clique em "Attach"

3. Iniciar o Servidor

  1. No servidor BITIO-Main
  2. Clique no botão de "Start" (triângulo verde)
  3. Status deve mudar para "Online"

📱 Configuração de Clientes

1. Download de Perfis

Para cada usuário:

  1. Users > BITIO > [nome-usuario]
  2. Clique no ícone de download 🔗
  3. Escolha o formato:
    • Pritunl Client: Arquivo .tar (recomendado)
    • OpenVPN: Arquivo .ovpn
    • WireGuard: Arquivo .conf

2. Instalação nos Clientes

Windows/Mac/Linux Desktop

  1. Baixar Pritunl Client: https://client.pritunl.com/
  2. Importar perfil: Arrastar arquivo .tar para o cliente
  3. Conectar: Clique em "Connect"

Mobile (Android/iOS)

  1. OpenVPN Connect (App Store/Play Store)
  2. Importar: Arquivo .ovpn

Comando Linux (alternativo)

# Instalar OpenVPN
sudo apt install openvpn

# Conectar com arquivo .ovpn
sudo openvpn --config usuario-bitio-main.ovpn

🔐 Configurações de Segurança

1. Autenticação Two-Factor (2FA)

  1. Settings > Two-Factor Authentication
  2. Enable: Google Authenticator
  3. Configurar para usuários:
    • Users > [usuário] > Enable Two-Factor Auth

2. Políticas de Senha

Minimum Length: 8
Require Numbers: true
Require Symbols: true
Require Uppercase: true
Password History: 5
Max Age: 90 days

3. Controle de Acesso por IP

# Em Advanced Settings do servidor
Allowed IPs:
- 0.0.0.0/0 (acesso completo)
- 10.0.0.0/8 (apenas redes internas)
- 192.168.0.0/16 (apenas redes privadas)

📊 Monitoramento

1. Dashboard Principal

  • Usuários Online: Conexões ativas
  • Bytes Transferidos: Tráfego total
  • Servers Status: Status dos servidores VPN

2. Logs de Conexão

  1. Logs > Connection Logs
  2. Filtros disponíveis:
    • Usuário
    • Servidor
    • Data/Hora
    • IP de origem

3. Logs do Sistema

# No servidor AWS
docker logs pritunl --tail 100 -f

# Logs detalhados
docker exec pritunl tail -f /var/log/pritunl/pritunl.log

🔧 Configurações Avançadas

1. Múltiplos Servidores

Para diferentes propósitos:

BITIO-Developers:
Network: 10.60.0.0/16
Port: 51821
Max Clients: 20

BITIO-DevOps:
Network: 10.70.0.0/16
Port: 51822
Max Clients: 10

2. Routes Personalizadas

Para acessar recursos específicos:

# Acesso à VPC AWS
Routes: 10.0.0.0/16

# Acesso a serviços internos
Routes: 172.16.0.0/12

3. Backup de Configuração

# No servidor
cd /mnt/forgejo_data/pritunl

# Backup das configurações
docker exec pritunl tar -czf /var/lib/pritunl/backup-$(date +%Y%m%d).tar.gz /var/lib/pritunl/

⚡ Operações Comuns

Restart do Servidor VPN

  1. Interface Web: Servers > Stop > Start
  2. Via Docker:
docker restart pritunl

Adicionar Usuário Rapidamente

# Via CLI (no container)
docker exec pritunl pritunl add-user BITIO novo.usuario

Revogar Acesso de Usuário

  1. Users > BITIO > [usuário]
  2. Disable User ou Delete User
  3. Reconectar servidor se necessário

🚨 Troubleshooting

Cliente Não Conecta

  1. Verificar firewall:
# No servidor
sudo ufw status | grep 51820
telnet 3.208.54.208 51820
  1. Verificar logs:
docker logs pritunl --tail 50
  1. Testar conectividade:
# Do cliente
ping 10.50.0.1 # Gateway da VPN
nslookup bitio.local

Performance Issues

# Verificar recursos do servidor
docker stats pritunl

# Verificar conexões
docker exec pritunl netstat -an | grep 51820

Problemas de DNS

# Configurar DNS alternativo no servidor
DNS Servers: 1.1.1.1, 1.0.0.1
Search Domain: bitio.local, ec2.internal

🔄 Backup e Restore

Backup Automático

# Script de backup (cron diário)
#!/bin/bash
DATE=$(date +%Y%m%d)
docker exec pritunl tar -czf /tmp/pritunl-backup-$DATE.tar.gz /var/lib/pritunl/
docker cp pritunl:/tmp/pritunl-backup-$DATE.tar.gz /mnt/forgejo_data/backups/

Restore de Configuração

# Parar serviços
docker compose down

# Restaurar dados
tar -xzf pritunl-backup.tar.gz -C /mnt/forgejo_data/pritunl/

# Reiniciar
docker compose up -d

📈 Métricas e Alertas

Monitoramento de Uso

  • Bandwidth per user
  • Connection duration
  • Failed connections
  • Certificate expiration

Alertas Recomendados

  • Servidor offline > 5min
  • Uso de bandwidth > 80%
  • Tentativas de login falhando > 10/hora
  • Certificados expirando < 30 dias