Introdução
O WireGuard é considerada uma das soluções mais modernas e eficientes para a criação de VPNs atualmente. Possui um design simplificado, criptografia de ponta e desempenho otimizado. Tornou-se uma alternativa superior aos protocolos tradicionais, como OpenVPN e IPSec.
Aqui, exploro uma configuração avançada do WireGuard, abordando desde a instalação até ajustes de segurança e otimização para ambientes corporativos.

1. Instalando o WireGuard
1.1. Instalação no Ubuntu/Debian
sudo apt update && sudo apt install wireguard
1.2. Instalação no CentOS/RHEL
sudo yum install epel-release
sudo yum install wireguard-tools
1.3. Verificação da Instalação
Após a instalação, verifique se o WireGuard foi instalado corretamente:
wg --version
1.4. Configuração do Kernel para Melhor Desempenho
Para maximizar a performance da VPN, recomendamos ajustar os seguintes parâmetros do kernel:
echo 'net.core.rmem_max=2500000' | sudo tee -a /etc/sysctl.conf
echo 'net.core.wmem_max=2500000' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Esses ajustes aumentam os buffers de memória do kernel, melhorando a transmissão de pacotes na VPN.
2. Configuração do Servidor VPN
2.1. Gerando Chaves Privadas e Públicas
O WireGuard utiliza um sistema de criptografia baseado em chaves públicas e privadas para autenticação. Para gerar um par de chaves faça:
wg genkey | tee privatekey | wg pubkey > publickey
Agora você tem dois arquivos:
- privatekey (chave privada do servidor)
- publickey (chave pública do servidor)
2.2. Configuração do Arquivo de Interface
Crie o arquivo de configuração do WireGuard no servidor:
sudo nano /etc/wireguard/wg0.conf
Adicione a seguinte configuração:
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = <chave_privada_do_servidor>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Ative o roteamento no kernel:
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
3. Configuração do Cliente
3.1. Gerando Chaves do Cliente
No cliente, gere outro par de chaves:
wg genkey | tee privatekey | wg pubkey > publickey
3.2. Configuração do Cliente
Crie o arquivo de configuração:
sudo nano /etc/wireguard/wg0.conf
Adicione o seguinte conteúdo:
[Interface]
PrivateKey = <chave_privada_do_cliente>
Address = 10.0.0.2/24
DNS = 8.8.8.8
[Peer]
PublicKey = <chave_pública_do_servidor>
Endpoint = <IP_do_Servidor>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
4. Adicionando o Cliente ao Servidor
No servidor, edite o arquivo /etc/wireguard/wg0.conf
e adicione a seguinte entrada:
[Peer]
PublicKey = <chave_pública_do_cliente>
AllowedIPs = 10.0.0.2/32
Reinicie o serviço para aplicar as configurações:
sudo systemctl restart wg-quick@wg0
5. Testando a Conexão
Ative a VPN no servidor:
sudo wg-quick up wg0
No cliente:
sudo wg-quick up wg0
ping 10.0.0.1
Se o ping for bem-sucedido, a conexão está funcionando!
6. Hardening e Segurança
6.1. Proteção contra Ataques de Força Bruta
Para impedir tentativas de ataque, configure Fail2Ban:
sudo apt install fail2ban
Adicione uma regra para o WireGuard em /etc/fail2ban/jail.local
:
[wireguard]
enabled = true
port = 51820
maxretry = 3
bantime = 3600
6.2. Configuração de Logs para Monitoramento
Habilite logs detalhados para rastrear conexões e eventos suspeitos:
sudo journalctl -u wg-quick@wg0 -f
7. Configuração de VPN Mesh (Opcional)
Para redes mais complexas, o WireGuard permite configurar conexões peer-to-peer sem um servidor central:
- Cada nó pode se conectar diretamente a outro nó.
- Ideal para comunicação segura entre servidores distribuídos.
- Reduz a latência e melhora a escalabilidade.
Para adicionar outro cliente no modo mesh, basta definir vários peers no mesmo arquivo de configuração do WireGuard.
Conclusão
Você verá que o WireGuard oferece uma solução de VPN moderna, rápida e altamente segura. Implementar as práticas que abordei aqui garante, não apenas a configuração funcional da VPN, mas também medidas de segurança para proteção de dados e acesso seguro. Tendo um bom planejamento e monitoramento contínuo, sua VPN pode ser utilizada com alto nível de confiabilidade e desempenho.