Como Configurar a Sua VPN WireGuard num VPS (Passo a Passo)

Dificuldade: Iniciante 9 min de leitura Atualizado: 18.07.2026 11
Como Configurar a Sua VPN WireGuard num VPS (Passo a Passo)
Alugar um VPS barato e transforma-lo na sua propria VPN WireGuard da-lhe um tunel privado que mais ninguem partilha - sem subscricao mensal, sem nenhuma empresa a registar o seu trafego. Este guia percorre todo o processo num servidor Ubuntu novo, passo a passo, com todos os comandos que precisa de copiar e colar. Nao e necessaria experiencia previa com servidores.

O que precisa antes de comecar

Esta e a lista de compras completa. Nao ha nada de exotico aqui, e o custo total e de alguns dolares por mes:

  • Um VPS barato (servidor virtual). O plano mais pequeno - 1 vCPU e 1 GB de RAM - e mais do que suficiente para uso pessoal. Escolha Ubuntu 22.04 ou 24.04 quando o criar.
  • O endereco IP publico do servidor e acesso SSH como root (ou sudo). O seu fornecedor envia isto por email logo apos o pagamento.
  • Um cliente SSH. No Windows use o ssh integrado no PowerShell ou o PuTTY, no macOS e Linux basta abrir um terminal.
  • Um VPS baseado em KVM. Quase todos os planos sao, mas evite os OpenVZ mais baratos - partilham o kernel do anfitriao e nao conseguem carregar o WireGuard, por isso esta configuracao nao vai funcionar neles. Em caso de duvida, pergunte ao fornecedor ou escolha um plano que diga "KVM".
  • Cerca de 15 minutos.
Porque WireGuard: e o protocolo VPN moderno - algumas centenas de linhas de codigo, muito rapido e simples de configurar. Comparado com o OpenVPN, liga-se mais depressa, gasta menos bateria no telemovel e e muito mais facil de ler e auditar. Essa simplicidade e exatamente a razao pela qual comecamos por aqui.

Passo 1: Ligar e atualizar o servidor

Abra o seu terminal e inicie sessao, substituindo o endereco pelo IP do seu servidor:

ssh root@YOUR_SERVER_IP

A primeira coisa a fazer em qualquer servidor novo e instalar as ultimas atualizacoes de seguranca:

apt update && apt upgrade -y

Passo 2: Instalar o WireGuard

Um unico comando instala o WireGuard e o qrencode, uma pequena ferramenta que usaremos mais tarde para passar a configuracao para o telemovel atraves de um codigo QR:

apt install wireguard qrencode -y

Passo 3: Gerar as chaves do servidor

O WireGuard usa uma chave privada e uma chave publica de cada lado. Crie o par do servidor dentro do seu diretorio de configuracao. O umask 077 garante que a chave privada nao seja legivel por outros utilizadores:

cd /etc/wireguard
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key

Imprima ambas as chaves e mantenha-as a mao para os proximos passos:

cat server_private.key
cat server_public.key

Passo 4: Encontrar a sua interface de rede

Para encaminhar o seu trafego para a internet, o servidor precisa de saber o nome da sua placa de rede publica. Execute:

ip route list default

Olhe para a palavra logo a seguir a dev no resultado - normalmente e eth0 ou ens3. Anote-a; vamos precisar dela no proximo passo.

Passo 5: Criar a configuracao do servidor

Crie o ficheiro /etc/wireguard/wg0.conf (por exemplo com nano /etc/wireguard/wg0.conf) e cole o bloco abaixo. Substitua SERVER_PRIVATE_KEY pela chave privada do Passo 3, e substitua eth0 pelo nome da interface do Passo 4:

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Por palavras simples: o servidor assume o endereco 10.8.0.1 dentro de uma rede VPN privada, escuta na porta UDP 51820, e as duas linhas iptables ativam o masquerading que permite aos seus dispositivos alcancar a internet mais ampla atraves dele.

Passo 6: Ativar o encaminhamento de IP

Por predefinicao, o Linux nao passa trafego de uma interface para outra. Ative-o com o seu proprio pequeno ficheiro de configuracao - uma forma limpa e repetivel que nao entra em conflito com outras definicoes nem se acumula se o executar duas vezes:

echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/99-wireguard.conf
sysctl --system

Passo 7: Criar um cliente e adiciona-lo como peer

Agora gere um par de chaves para o seu primeiro dispositivo (o seu portatil ou telemovel):

wg genkey | tee client_private.key | wg pubkey > client_public.key
cat client_private.key
cat client_public.key

Informe o servidor sobre este cliente adicionando um bloco [Peer] ao fundo de /etc/wireguard/wg0.conf. Use aqui a chave publica do cliente:

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32

Passo 8: Abrir a firewall e iniciar o WireGuard

Permita o SSH (para nao se trancar do lado de fora) e a porta do WireGuard, depois ative a firewall:

ufw allow 22/tcp
ufw allow 51820/udp
ufw enable
Verifique primeiro a sua porta SSH. Se o seu fornecedor colocou o SSH numa porta nao padrao (nao a 22), permita essa porta em vez disso - por exemplo ufw allow 2222/tcp - antes de executar ufw enable, caso contrario a firewall vai tranca-lo do lado de fora do seu proprio servidor.

Inicie o tunel e configure-o para arrancar automaticamente em cada reinicio:

systemctl enable --now wg-quick@wg0

Verifique se esta a funcionar - devera ver a interface e a sua porta de escuta:

wg show

Passo 9: Criar a configuracao do cliente

Cada dispositivo que se liga precisa de um pequeno ficheiro de configuracao. No servidor, crie um ficheiro chamado client.conf e preencha CLIENT_PRIVATE_KEY (do Passo 7), SERVER_PUBLIC_KEY (do Passo 3) e o IP publico do seu servidor:

[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.8.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = YOUR_SERVER_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

A linha AllowedIPs = 0.0.0.0/0, ::/0 e o que envia todo o seu trafego atraves do tunel. Definir DNS = 1.1.1.1 impede que as suas consultas vazem para o seu fornecedor local. Este mesmo client.conf e o que vai carregar em cada dispositivo abaixo.

Passo 10: Instalar a app WireGuard e ligar

O WireGuard tem uma app oficial gratuita para todas as plataformas. Ha duas formas de carregar o seu client.conf: ler um codigo QR (o mais facil nos telemoveis) ou importar o ficheiro (o mais facil nos computadores). Para criar um codigo QR, execute isto no servidor e mantenha a janela do terminal larga para que o codigo nao fique distorcido:

qrencode -t ansiutf8 < client.conf

Android: instale a app WireGuard a partir do Google Play. Abra a app, toque no botao +, escolha Scan from QR code, aponte a camara para o codigo no seu terminal, de um nome ao tunel e depois deslize o interruptor para ligar.

iPhone e iPad: instale a app WireGuard a partir da App Store. Toque em +, escolha Create from QR code, leia o codigo, de um nome ao tunel e ative-o. Permita a configuracao VPN quando o iOS perguntar.

Windows: descarregue a app a partir de wireguard.com/install. Copie o seu client.conf para o PC, abra a app, clique em Import tunnel(s) from file, escolha client.conf, depois clique em Activate.

macOS: instale a app WireGuard a partir da Mac App Store. Clique em Import tunnel(s) from file, selecione o seu client.conf, permita a configuracao VPN, depois clique em Activate.

Linux desktop: instale o pacote com apt install wireguard (ou o equivalente da sua distribuicao; veja wireguard.com/install), copie client.conf para /etc/wireguard/, e ative-o com wg-quick up client. Desligue com wg-quick down client.

Adicionar outro dispositivo? Repita o Passo 7 para cada novo telemovel ou portatil: gere um novo par de chaves, atribua ao dispositivo o proximo endereco livre (10.8.0.3/32, depois 10.8.0.4/32, e assim por diante), adicione o seu proprio bloco [Peer] ao wg0.conf, e aplique a alteracao com systemctl restart wg-quick@wg0. De a cada dispositivo a sua propria chave - nunca carregue uma configuracao em dois dispositivos ao mesmo tempo.

Passo 11: Verificar se o tunel realmente funciona

Ative a ligacao e confirme duas coisas na nossa pagina Ferramentas de rede. Primeiro, que a internet ve o IP do seu servidor e nao o de casa - a pagina mostra o seu IP atual e o pais logo no topo. Segundo, abra o separador DNS Leak Test e execute o teste: cada resolver listado deve pertencer ao seu fornecedor de DNS, nunca ao seu ISP domestico. Se ambos estiverem corretos, tem uma VPN privada a funcionar.

Erros comuns

  • Nome de interface errado. Se eth0 na configuracao nao corresponder ao que o Passo 4 mostrou, o trafego liga-se mas nunca alcanca a internet. Esta e a causa numero um de um tunel "ligado mas sem internet".
  • Esqueceu o encaminhamento de IP. Saltar o Passo 6 produz o mesmo sintoma de beco sem saida. Volte a executar sysctl --system e verifique que cat /proc/sys/net/ipv4/ip_forward devolve 1.
  • Firewall do fornecedor. Alguns fornecedores tem a sua propria firewall num painel de controlo por cima do ufw. Certifique-se de que a porta UDP 51820 tambem esta aberta la.
  • Chaves trocadas. A configuracao do servidor guarda a chave publica do cliente; a configuracao do cliente guarda a chave publica do servidor. As chaves privadas nunca saem da maquina onde foram criadas.
  • IPv6 a escapar. Este guia envia o IPv6 para o tunel (::/0) mas configura o servidor apenas para IPv4, por isso alguns sites so de IPv6 podem carregar devagar ou nao carregar de todo. Se isso acontecer, a solucao mais simples e desativar o IPv6 no dispositivo cliente, ou adicionar suporte de IPv6 no servidor mais tarde.
  • Desvio do relogio. O WireGuard funciona bem, mas se o relogio do servidor estiver muito errado, o TLS para os sites deixa de funcionar. Execute timedatectl e ative o NTP se necessario.

Quando o WireGuard simples nao chega

Um tunel WireGuard auto-hospedado e excelente para a privacidade - o seu trafego e cifrado e ligado a um servidor que so voce usa. Mas em paises com censura agressiva tem uma fraqueza: os sistemas de inspecao profunda de pacotes (DPI) conseguem reconhecer o trafego WireGuard pela sua impressao digital e limita-lo ou descarta-lo, mesmo nao conseguindo ler o que esta la dentro. Os operadores da Russia, por exemplo, passaram a bloquear as VPNs nas caixas TSPU instaladas em cada rede, e os reguladores de la empurraram abertamente para um bloqueio total do trafego VPN. Se o seu objetivo e contornar esse tipo de DPI em vez da privacidade do dia a dia, um protocolo que se disfarca de HTTPS comum - como o VLESS com Reality - e a melhor ferramenta. Vamos abordar essa configuracao num guia separado nesta seccao.

Na maior parte do mundo, alugar um servidor e correr a sua propria VPN nele e completamente legal - e a mesma tecnologia que as empresas usam para o trabalho remoto. No entanto, e responsavel pelo que faz atraves dela: uma VPN muda o local de onde o seu trafego parece vir, nao o coloca acima da lei. Um punhado de paises restringe ou licencia o uso de VPN, por isso verifique as regras do local onde vive de facto. E lembre-se dos limites honestos da auto-hospedagem: o seu trafego e privado em relacao a sua rede local e ao seu ISP, mas a empresa que lhe aluga o VPS continua a poder ver que existe um servidor nesse IP e quantos dados ele movimenta. Para a maioria das pessoas essa troca vale bem a pena - fica com um tunel que mais ninguem partilha, nos seus termos.

Mantenha-o seu: faca uma copia de seguranca de /etc/wireguard/ num local seguro, nunca partilhe uma chave privada, e crie um bloco [Peer] separado com o seu proprio par de chaves para cada novo dispositivo em vez de reutilizar um. Se um dispositivo se perder, pode entao revogar apenas esse peer. Depois de um dispositivo estar configurado, apague os ficheiros de cliente que ficaram no servidor para que a sua chave privada nao ande por la: rm client.conf client_private.key.
Indo mais longe: quer que o seu servidor nao guarde nenhum registo? Veja o nosso guia Como fazer o seu VPS nao guardar logs.
Etiquetas: wireguard vpn vps self-hosted privacy tutorial linux