Tutoriais de VPS
Como configurar uma VPN WireGuard em uma VPS (2026): da escolha do servidor à conexão do celular e do computador com a sua casa
Se você quer montar sua própria VPN leve, o WireGuard é mais simples que o OpenVPN e mais adequado para interligar todos os dispositivos do que muitas ferramentas de proxy. Este guia explica passo a passo a escolha da VPS, a liberação de portas, a configuração do servidor, a importação no cliente e a solução de problemas quando não conecta.

Como configurar uma VPN WireGuard em uma VPS (2026): da escolha do servidor à conexão do celular e do computador com a sua casa
Muita gente, ao ouvir falar de WireGuard pela primeira vez, confunde com V2Ray, Xray e Shadowsocks.
Na verdade, não são a mesma coisa.
- V2Ray / Xray / Shadowsocks são mais parecidos com ferramentas de proxy
- WireGuard é uma VPN: conecta seus dispositivos a uma rede virtual criptografada
Se a sua necessidade é:
- Acessar com segurança serviços de casa ou da empresa pelo celular ou computador quando estiver fora
- Dar ao seu notebook uma saída criptografada estável
- Montar uma pequena rede interna entre várias VPS, NAS e computadores
- Não se complicar com a configuração longa e complexa do OpenVPN
O WireGuard é uma ótima opção.
Este guia explica de um jeito que um usuário comum de VPS consegue colocar em prática: como escolher o servidor, como instalar, como liberar as portas, como gerar a configuração do cliente e onde olhar primeiro quando não conecta.
O WireGuard em si é muito leve.
Uma VPS comum de 1 núcleo e 1 GB roda sem problema, e até 512 MB de RAM aguentam um uso leve. O que realmente afeta a experiência não é a CPU, mas:
| Item | Por que importa |
|---|---|
| Localização do data center | Determina a latência base |
| Qualidade da rota | Determina se vai oscilar no horário de pico |
| Cota de tráfego | É fácil esgotar o tráfego de saída quando todos os dispositivos passam pela VPN |
| Se UDP está disponível | O WireGuard usa UDP por padrão |
| Firewall/grupo de segurança | Se a porta não estiver liberada, com certeza não conecta |
Se você está na China continental e quer baixa latência, normalmente vale olhar primeiro locais como Hong Kong, Japão, Singapura e a costa oeste dos EUA. Não olhe só para "1 Gbps de banda": a rota no horário de pico é o que importa.
Se for só para acessar remotamente serviços da rede interna, o servidor pode ficar mais perto de você; se for para isolar ambientes de negócios transfronteiriços, primeiro verifique os requisitos da plataforma de destino quanto a IP, região e estabilidade.
Sistemas recomendados:
- Ubuntu 22.04 / 24.04
- Debian 12
Os comandos abaixo usam Ubuntu / Debian como exemplo.
Primeiro atualize o sistema:
apt update
apt upgrade -y
Instale o WireGuard:
apt install wireguard -y
Confirme que o comando está disponível:
wg --version
Se aparecer um número de versão, está instalado.
Primeiro entre no diretório de configuração do WireGuard:
cd /etc/wireguard
umask 077
Gere a chave do servidor:
wg genkey | tee server_private.key | wg pubkey > server_public.key
Gere uma chave de cliente:
wg genkey | tee client_private.key | wg pubkey > client_public.key
Veja as chaves:
cat server_private.key
cat server_public.key
cat client_private.key
cat client_public.key
Atenção:
- Não compartilhe a chave privada com ninguém
- A chave pública pode ir na configuração do par
- O ideal é gerar um par de chaves separado para cada cliente
Não faça todos os celulares e computadores compartilharem a mesma configuração de cliente. Se um dispositivo for perdido depois, vai ser muito difícil revogá-lo individualmente.
Primeiro confirme o nome da sua interface de rede:
ip route get 8.8.8.8
Normalmente você verá algo como:
dev eth0
Também pode ser ens3, ens5 ou enp1s0. O exemplo abaixo usa eth0; troque pelo nome real da sua interface.
Crie a configuração:
nano /etc/wireguard/wg0.conf
Escreva:
[Interface]
Address = 10.66.66.1/24
ListenPort = 51820
PrivateKey = 服务端私钥
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = 客户端公钥
AllowedIPs = 10.66.66.2/32
Substitua estes dois pontos:
服务端私钥: a saída decat server_private.key客户端公钥: a saída decat client_public.key
Se a sua interface de rede pública não for eth0, troque também eth0 em PostUp / PostDown pelo nome real da interface.
O WireGuard só cria o túnel. Para os clientes saírem pela VPS, também é preciso ativar o encaminhamento IPv4.
Edite:
nano /etc/sysctl.conf
Adicione ou descomente:
net.ipv4.ip_forward=1
Faça valer:
sysctl -p
Confirme:
sysctl net.ipv4.ip_forward
Se aparecer:
net.ipv4.ip_forward = 1
Está certo.
A porta padrão do WireGuard é 51820/udp.
Se você usa UFW:
ufw allow 51820/udp
ufw status
Se você usa o grupo de segurança do provedor de nuvem, libere também no painel:
UDP 51820
来源:你的 IP 或 0.0.0.0/0
É aqui que os iniciantes mais erram:
- O firewall dentro da VPS está liberado
- O grupo de segurança da plataforma de nuvem não está
O resultado é que o cliente pode escanear o quanto quiser e não conecta.
Se você não tem certeza se é problema de porta, primeiro verifique se o servidor está escutando:
ss -lunp | grep 51820
Inicie:
systemctl start wg-quick@wg0
Configure para iniciar com o sistema:
systemctl enable wg-quick@wg0
Veja o status:
systemctl status wg-quick@wg0
wg show
Se a configuração estiver correta, wg show mostrará a interface e as informações do Peer.
Se falhar ao iniciar, veja primeiro os logs:
journalctl -u wg-quick@wg0 -b --no-pager
Erros comuns:
- Chave privada copiada errado
- Nome da interface errado em
PostUp - Permissões do arquivo de configuração muito abertas
Addressem conflito com a sub-rede do cliente
A configuração do cliente pode se chamar client.conf:
[Interface]
PrivateKey = 客户端私钥
Address = 10.66.66.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = 服务端公钥
Endpoint = 你的VPS公网IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Substitua:
客户端私钥:cat client_private.key服务端公钥:cat server_public.key你的VPS公网IP: o IP público da VPS
O ponto mais importante aqui é AllowedIPs.
Se você quer que todo o tráfego passe pela VPS:
AllowedIPs = 0.0.0.0/0
Se você só quer acessar a rede interna do WireGuard, por exemplo só 10.66.66.0/24:
AllowedIPs = 10.66.66.0/24
Se você é iniciante e só quer "tudo pela VPN", use 0.0.0.0/0.
O cliente oficial do WireGuard é compatível com:
- Windows
- macOS
- Linux
- iOS
- Android
No computador você pode importar client.conf diretamente.
No celular, o mais prático é o QR code.
Instale a ferramenta de QR code na VPS:
apt install qrencode -y
Gere o QR code:
qrencode -t ansiutf8 < client.conf
Depois abra o app do WireGuard no celular e escolha escanear para importar.
Atenção: o QR code contém a chave privada do cliente. Não tire print e mande em grupo, nem coloque em documentos públicos.
O problema mais comum do WireGuard não é não conseguir instalar, mas "mostra conectado, mas as páginas não abrem".
Verifique nesta ordem.
wg show
Veja latest handshake.
Se nunca houver handshake, normalmente é por:
- IP da VPS errado
- UDP 51820 não liberado
- A rede do cliente bloqueia UDP
- O servidor não está iniciado
sysctl net.ipv4.ip_forward
Precisa ser:
net.ipv4.ip_forward = 1
iptables -t nat -S | grep MASQUERADE
Se não houver MASQUERADE, o cliente pode até conectar ao WireGuard, mas não consegue sair pela VPS.
ip route get 8.8.8.8
Se a interface real for ens3 mas na configuração estiver eth0, o NAT não vai usar a saída correta.
Se o cliente consegue pingar IPs mas não abre nomes de domínio, tente primeiro:
ping 1.1.1.1
ping google.com
Se o primeiro funciona e o segundo não, é problema de DNS. Na configuração do cliente você pode começar com:
DNS = 1.1.1.1
Não copie o mesmo client.conf para todos os dispositivos.
Cada dispositivo deve ter o seu próprio:
- private key
- public key
- IP interno
Por exemplo, um segundo dispositivo:
10.66.66.3/32
Adicione no wg0.conf do servidor:
[Peer]
PublicKey = 第二台客户端公钥
AllowedIPs = 10.66.66.3/32
Depois de editar, recarregue:
systemctl restart wg-quick@wg0
Se depois você quiser remover um dispositivo, basta apagar o [Peer] correspondente a ele.
O WireGuard é ótimo, mas não é solução para tudo.
Pense bem nestas situações:
- Sua rede bloqueia UDP com frequência
- Você precisa de camuflagem complexa e capacidade antibloqueio
- Você não faz ideia de como manter um firewall Linux
- A VPS tem pouco tráfego, mas você pretende passar todos os dispositivos da casa por ela
- O negócio de destino é muito sensível ao controle de risco por IP e não pode compartilhar saídas de qualquer jeito
Principalmente o último ponto: se você usa o WireGuard para compartilhar um mesmo IP de saída entre várias contas e vários negócios, é fácil misturar os ambientes. Ao trabalhar com contas transfronteiriças, e-commerce, TikTok e negócios do tipo, não compartilhe de qualquer jeito só para economizar esforço.
Se depois de configurar não conectar, siga esta ordem:
systemctl status wg-quick@wg0: o serviço está iniciadowg show: há handshakess -lunp | grep 51820: a porta está escutando- Grupo de segurança da plataforma de nuvem: UDP 51820 está liberado
sysctl net.ipv4.ip_forward: o encaminhamento está ativadoiptables -t nat -S | grep MASQUERADE: o NAT entrou em vigorip route get 8.8.8.8: o nome da interface pública está correto- Cliente
Endpoint: o IP e a porta estão errados - Cliente
AllowedIPs: é proxy global ou só rede interna - DNS: se consegue pingar IPs mas não abre nomes de domínio, verifique o DNS primeiro
A vantagem do WireGuard é que o arquivo de configuração é curto e os problemas são bem concentrados. O realmente difícil não é a instalação, mas ter clareza sobre as camadas: grupo de segurança da VPS, firewall do sistema, NAT e roteamento do cliente.
Se você só quer uma VPN estável, leve e sob seu controle, vale muito a pena dedicar um tempo ao WireGuard.