OffshoreVps
Segurança17 set. 202610 min de leituraPor a equipe da OffshoreVps

Configure a sua própria VPN WireGuard em um VPS

Passo a passo: instale o WireGuard no Ubuntu ou Debian, crie as chaves, escreva as configurações do servidor e do cliente, abra o firewall e teste o túnel.

O WireGuard é um protocolo de VPN moderno, rápido, pequeno e fácil de configurar. Executar o seu próprio em um VPS dá a você um túnel criptografado até um servidor no país de sua escolha, sem nenhuma empresa de VPN de terceiros no meio. Este guia usa Ubuntu 24.04 ou Debian 12/13 e presume que você já protegeu o servidor.

Janela de terminal em um VPS mostrando os comandos usados para configurar o WireGuard, começando com “sudo apt update”
O tipo de comandos que você executará no servidor neste guia.

1. Instale o WireGuard

sudo apt update
sudo apt install -y wireguard

2. Gere as chaves do servidor

cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub

O umask 077 garante que os arquivos de chave só possam ser lidos pelo root. Mantenha o server.key privado.

3. Crie as chaves do cliente

Gere um par de chaves para o seu laptop ou celular no servidor e copie a configuração do cliente depois:

wg genkey | tee client1.key | wg pubkey > client1.pub

4. Escreva a configuração do servidor

Primeiro descubra o nome da sua interface de rede pública:

ip route get 1.1.1.1 | awk '{print $5; exit}'

Geralmente é eth0 ou ens3. Crie /etc/wireguard/wg0.conf e substitua os valores em maiúsculas pelos seus:

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp   = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ETH_IF -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ETH_IF -j MASQUERADE

[Peer]
# client1
PublicKey = CLIENT1_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32

Cole o conteúdo de server.key e client1.pub nos locais indicados e substitua ETH_IF pelo nome da sua interface.

5. Ative o encaminhamento de IP

echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
Os passos deste guia em ordem: 1. 1. Instale o WireGuard; 2. 3. Crie as chaves do cliente; 3. 5. Ative o encaminhamento de IP; 4. 7. Inicie o túnel; 5. 9. Teste; 6. Escolhendo um local
Os passos deste guia, em ordem.

6. Abra o firewall

sudo ufw allow 51820/udp
sudo ufw route allow in on wg0
sudo ufw reload

7. Inicie o túnel

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

Você deve ver a interface e, quando um cliente se conectar, seu último handshake.

8. Configure o cliente

No seu dispositivo, crie uma configuração como esta (os aplicativos oficiais do WireGuard para Windows, macOS, Linux, iOS e Android podem importá-la de um arquivo ou de um QR code):

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

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

Usar AllowedIPs = 0.0.0.0/0, ::/0 envia todo o tráfego pelo túnel. Para alcançar apenas a sua rede privada, use 10.8.0.0/24 no lugar.

9. Teste

  1. Ative o túnel no cliente.
  2. Execute sudo wg show no servidor e confirme que há um handshake recente.
  3. Visite uma página de "qual é o meu IP" a partir do cliente. Ela deve mostrar o endereço do seu servidor.
  4. Verifique vazamentos de DNS se a privacidade for o objetivo e adicione regras IPv6 se o seu servidor tiver IPv6.

Adicionando mais dispositivos

Para cada novo dispositivo, gere um par de chaves, adicione outro bloco [Peer] com um novo endereço como 10.8.0.3/32 e execute sudo wg syncconf wg0 <(wg-quick strip wg0) para aplicá-lo sem derrubar as conexões existentes.

Escolhendo um local

Um servidor WireGuard funciona em qualquer uma das nossas localizações. Escolha uma perto de você para ter velocidade, ou no país cujo endereço IP você quer que seu tráfego use. Veja como escolher uma localização de VPS. Um VPS pequeno é mais que suficiente para um túnel pessoal.