Com uma VPN na VPS você navega com o IP do servidor, protege sua conexão em redes públicas e acessa serviços da VPS sem abrir portas na internet. O WireGuard é leve e rápido; a instalação inteira cabe em uma tela.

## 1. Instalar (Ubuntu/Debian)

```
sudo apt update && sudo apt install -y wireguard qrencode
```

## 2. Chaves do servidor

```
wg genkey | sudo tee /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub
sudo chmod 600 /etc/wireguard/server.key
```

## 3. Configuração do servidor

`sudo nano /etc/wireguard/wg0.conf` (troque `eth0` se a sua interface tiver outro nome: `ip route | grep default`):

```ini
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = CONTEUDO_DE_server.key
PostUp   = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
```

Ative o roteamento e suba:

```
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wg.conf && sudo sysctl --system
sudo ufw allow 51820/udp
sudo systemctl enable --now wg-quick@wg0
```

## 4. Adicionar um dispositivo (celular, notebook)

Gere as chaves do cliente:

```
wg genkey | tee cel.key | wg pubkey > cel.pub
```

Adicione ao `wg0.conf` do servidor (um bloco por dispositivo, IPs 10.8.0.2, 10.8.0.3...):

```ini
[Peer]
PublicKey = CONTEUDO_DE_cel.pub
AllowedIPs = 10.8.0.2/32
```

`sudo systemctl restart wg-quick@wg0`

Crie o arquivo do cliente `cel.conf`:

```ini
[Interface]
PrivateKey = CONTEUDO_DE_cel.key
Address = 10.8.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = CONTEUDO_DE_server.pub
Endpoint = IP-DA-VPS:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
```

`AllowedIPs = 0.0.0.0/0` manda todo o tráfego pela VPN. Para acessar só a VPS e a rede interna, use `AllowedIPs = 10.8.0.0/24`.

No celular: `qrencode -t ansiutf8 < cel.conf` mostra um QR code; no app WireGuard, "Adicionar túnel → Ler QR". No computador: importe o arquivo `.conf` no app WireGuard.

## 5. Testar

Conecte e abra `https://ifconfig.co`: deve mostrar o IP da VPS. No servidor, `sudo wg` mostra o handshake de cada peer.

## Dicas

- Depois de conectar pela VPN, você pode fechar o SSH para a internet e liberar só `sudo ufw allow from 10.8.0.0/24 to any port 22`.
- Quer algo ainda mais simples, sem abrir porta nenhuma? Veja [Tailscale: acesso privado à VPS](/hc/vps/articles/tailscale-acesso-privado-a-vps).
- A VPN usa a banda da VPS; velocidade limitada pela porta compartilhada do plano.
