WireGuard na VPS: como criar a sua própria VPN passo a passo

Tempo de leitura: 3 minutos

Ter a sua própria VPN dá mais controle que um serviço de terceiros: você sabe quem usa, onde ficam os logs e quanto paga. O WireGuard na VPS é hoje a forma mais simples e rápida de montar isso, com configuração curta e boa velocidade.

Uma VPN exige banda e estabilidade, e uma VPS com tráfego ilimitado resolve bem essa parte. Se você ainda não tem onde rodar isso, a Cloud VPS Brasil já entrega o servidor pronto.

O que você vai montar

Um servidor WireGuard na VPS, que recebe conexões dos seus aparelhos (celular, notebook) e encaminha o tráfego para a internet. Para a rede, você aparece com o IP da VPS.

Passo 1: instalar o WireGuard

No Ubuntu ou Debian:

sudo apt update
sudo apt install wireguard -y

Passo 2: gerar as chaves do servidor

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

Cada ponta (servidor e cada cliente) tem um par de chaves. A chave privada nunca sai da máquina dona dela.

Passo 3: descobrir a interface de rede

ip route show default

Anote o nome que aparece depois de dev (por exemplo eth0 ou ens3). Você vai usá-lo no próximo passo.

Passo 4: criar o arquivo do servidor

Crie /etc/wireguard/wg0.conf (troque a interface e a chave privada):

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = CONTEUDO_DE_server_private.key
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

Passo 5: ativar o encaminhamento de pacotes e o firewall

echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo ufw allow 51820/udp

Passo 6: iniciar o serviço

sudo systemctl enable --now wg-quick@wg0
sudo wg show

Passo 7: criar um cliente

Em outra pasta, gere as chaves do cliente (pode ser no próprio servidor) e adicione o cliente ao wg0.conf:

[Peer]
PublicKey = CHAVE_PUBLICA_DO_CLIENTE
AllowedIPs = 10.8.0.2/32

Reinicie com sudo systemctl restart wg-quick@wg0. No aparelho, o arquivo de configuração do cliente fica assim:

[Interface]
PrivateKey = CHAVE_PRIVADA_DO_CLIENTE
Address = 10.8.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = CHAVE_PUBLICA_DO_SERVIDOR
Endpoint = IP_DA_VPS:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

No celular, instale o aplicativo oficial do WireGuard e importe o arquivo ou leia o QR code. No computador, use o cliente para o seu sistema.

Como testar

Conecte o cliente e acesse um site que mostra o seu IP. Ele deve exibir o IP da VPS. No servidor, sudo wg show mostra o último contato de cada cliente.

Cuidados

  1. Cada aparelho precisa do seu próprio par de chaves e do seu próprio IP interno (10.8.0.2, 10.8.0.3 e assim por diante).
  2. Se o servidor não encaminhar o tráfego, revise o ip_forward e o nome da interface no PostUp.
  3. Mantenha o SSH protegido, com chave SSH e login por senha desativado.

Uma VPN própria numa VPS sem limite de tráfego

Para uma VPN confortável, vale ter banda e estabilidade. Na Cloud VPS Brasil você conta com Intel Xeon Gold, SSD NVMe, baixa latência, tráfego ilimitado, preço fixo em reais e suporte humano via WhatsApp e ticket. Fale com a equipe pelo WhatsApp e escolha o plano ideal para o seu projeto.