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
- Admin Interface: https://3.208.54.208:9443
- Setup Key:
45270ac66ac440d68e1a6fd72ce5205b
⚠️ 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
- Acesse: https://3.208.54.208:9443
- Insira o Setup Key:
45270ac66ac440d68e1a6fd72ce5205b - 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
- Vá para "Users" na barra lateral
- Clique em "Add Organization"
- Nome: BITIO
- 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
- Vá para "Servers"
- Clique em "Add Server"
- 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
- Selecionar Organização: BITIO
- Clique em "Add User"
- 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
- Vá para "Servers"
- Selecione servidor BITIO-Main
- Clique em "Attach Organization"
- Selecione: BITIO
- Clique em "Attach"
3. Iniciar o Servidor
- No servidor BITIO-Main
- Clique no botão de "Start" (triângulo verde)
- Status deve mudar para "Online"
📱 Configuração de Clientes
1. Download de Perfis
Para cada usuário:
- Users > BITIO > [nome-usuario]
- Clique no ícone de download 🔗
- Escolha o formato:
- Pritunl Client: Arquivo
.tar(recomendado) - OpenVPN: Arquivo
.ovpn - WireGuard: Arquivo
.conf
- Pritunl Client: Arquivo
2. Instalação nos Clientes
Windows/Mac/Linux Desktop
- Baixar Pritunl Client: https://client.pritunl.com/
- Importar perfil: Arrastar arquivo
.tarpara o cliente - Conectar: Clique em "Connect"
Mobile (Android/iOS)
- OpenVPN Connect (App Store/Play Store)
- 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)
- Settings > Two-Factor Authentication
- Enable: Google Authenticator
- 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
- Logs > Connection Logs
- 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
- Interface Web: Servers > Stop > Start
- 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
- Users > BITIO > [usuário]
- Disable User ou Delete User
- Reconectar servidor se necessário
🚨 Troubleshooting
Cliente Não Conecta
- Verificar firewall:
# No servidor
sudo ufw status | grep 51820
telnet 3.208.54.208 51820
- Verificar logs:
docker logs pritunl --tail 50
- 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