Apresentação de Wireguard
WireGuard é uma VPN leve, integrada ao kernel Linux, que se baseia em chaves públicas e numa configuração de poucas linhas. O código é curto, por isso mais fácil de auditar do que o das VPNs tradicionais, e o túnel sobe quase de imediato. É usado tanto por programadores como por pequenas equipas que querem controlar o seu próprio ponto de saída.
Quando o VPS é entregue, o pacote wireguard está instalado e a interface wg0 está configurada e iniciada por wg-quick@wg0. O servidor escuta em UDP na porta 51820, com a rede privada 10.8.0.0/24 (o servidor é o 10.8.0.1). O encaminhamento IPv4 e o NAT (masquerade) estão ativos, para que o tráfego dos seus clientes saia pelo IP público do servidor.
Já existe um primeiro cliente criado, com uma chave pré-partilhada além das chaves habituais. A configuração está em /root/wg-client.conf e o QR code para a aplicação móvel em /root/wg-client-qr.txt. Basta importá-la.
O que pode fazer com Wireguard
Túnel completo pré-configurado
O cliente gerado usa AllowedIPs = 0.0.0.0/0: todo o tráfego IPv4 passa pelo VPS. O DNS do cliente está definido como 1.1.1.1.
Configuração de cliente e QR code
O ficheiro /root/wg-client.conf importa-se tal como está nos clientes WireGuard. O QR code de /root/wg-client-qr.txt mostra-se no terminal, para a aplicação móvel.
Chave pré-partilhada por par
Uma chave gerada com wg genpsk soma-se à troca de chaves públicas e reforça a proteção da ligação. Os ficheiros sensíveis são criados com permissões 600.
Arranque automático no boot
O serviço wg-quick@wg0 fica ativo no systemd. O túnel volta sozinho após um reinício do servidor.
NAT e forwarding já ativos
O forwarding IPv4 é ativado em /etc/sysctl.d/99-wireguard.conf. As regras iptables de FORWARD e de masquerade são aplicadas quando o wg0 arranca e removidas quando pára.
Começar com Wireguard
Da encomenda à produção em poucos minutos.
- 1
Encomende o VPS com WireGuard
Escolha um VPS Linux em Paris ou Frankfurt (Debian 12, Debian 13, Ubuntu 20.04, 22.04 ou 24.04). No separador «Applications» do formulário de encomenda, assinale WireGuard.
- 2
Ligue-se e obtenha o cliente
Depois de o servidor ser entregue, abra uma sessão SSH com as credenciais recebidas. Confirme que o túnel está ativo e mostre o QR code ou copie o ficheiro de configuração para o seu computador.
Bashssh root@SERVER_IP systemctl status wg-quick@wg0 cat /root/wg-client-qr.txt # a partir do seu computador: scp root@SERVER_IP:/root/wg-client.conf . - 3
Importe a configuração e teste
Leia o QR code com a aplicação WireGuard no telemóvel ou importe o wg-client.conf na aplicação de desktop. No Linux, basta um comando; depois confirme que houve um handshake.
Bashsudo wg-quick up ./wg-client.conf sudo wg show - 4
Proteja o servidor para produção
Confirme que a porta UDP 51820 está aberta e limite as restantes portas expostas. Se preferir um nome a um IP, substitua a linha Endpoint do cliente por YOUR_DOMAIN:51820 depois de criar o registo DNS. Guarde uma cópia de /etc/wireguard fora do servidor.
Bashtar czf wg-backup.tgz /etc/wireguard /root/wg-client.conf
Casos de uso de Wireguard
Proteger o Wi-Fi público
Num hotel, num comboio ou num café, o seu tráfego IPv4 segue por um túnel cifrado até ao VPS antes de chegar à Internet.
Ter um IP de saída fixo
O seu IP de saída passa a ser o do VPS, o que permite autorizar um único endereço numa firewall, numa base de dados ou numa API de administração.
Ligar os seus dispositivos entre si
Computador, telemóvel e máquinas remotas entram na rede 10.8.0.0/24 e comunicam pelos endereços privados, com o servidor como ponto central.
Escolher Paris ou Frankfurt
Define a região de saída ao escolher a localização do VPS na encomenda, por exemplo para testar um serviço a partir de França ou da Alemanha.
Perguntas frequentes sobre Wireguard
Ligue-se por SSH e leia /root/wg-client.conf, ou mostre o QR code com cat /root/wg-client-qr.txt. Também pode copiar o ficheiro para o seu computador com scp root@SERVER_IP:/root/wg-client.conf .
Mais sobre Wireguard
Ficheiros e serviços instalados
/etc/wireguard/wg0.conf: configuração do servidor (chave privada, par client1, regras PostUp e PostDown)./root/wg-client.conf: configuração do primeiro cliente./root/wg-client-qr.txt: QR code dessa configuração, que se mostra comcat./etc/sysctl.d/99-wireguard.conf: ativanet.ipv4.ip_forward./opt/install-wireguard.sh: o script de instalação executado na entrega.
O cliente recebe o endereço 10.8.0.2/32. O endereço público indicado em Endpoint é o que foi detetado no momento da instalação.
Adicionar outro dispositivo
Cada dispositivo deve ter o seu próprio par de chaves e o seu próprio endereço (10.8.0.3, 10.8.0.4, etc.). Gere as chaves no servidor e depois acrescente um bloco [Peer] ao wg0.conf.
Bashcd /etc/wireguard umask 077 wg genkey | tee client2.key | wg pubkey > client2.pub wg genpsk > client2.psk
Em seguida, adicione a /etc/wireguard/wg0.conf o conteúdo de client2.pub e client2.psk com AllowedIPs = 10.8.0.3/32 e recarregue sem interromper os túneis existentes:
Bashwg syncconf wg0 <(wg-quick strip wg0)
Crie o ficheiro do cliente a partir de /root/wg-client.conf: altere PrivateKey e Address e mantenha a PublicKey do servidor e o Endpoint.
Pontos de atenção
O cliente gerado encaminha apenas IPv4 (0.0.0.0/0). Se o seu computador tiver IPv6, esse tráfego não passa pelo túnel: desative o IPv6 no cliente se isso for relevante para si.
O DNS do cliente é 1.1.1.1. Para usar outro resolvedor, altere a linha DNS do ficheiro do cliente. Trate /root/wg-client.conf como uma palavra-passe: contém a chave privada do cliente. Depois de importado, apague as cópias desnecessárias.
Para mais guias sobre administração de servidores Linux, consulte os nossos tutoriais ou a página de VPS Linux.