Como configurar uma VPN WireGuard ponto a site no Debian 12

Cenário ilustrativo: Maya usa um VPS Debian 12 como ponto de acesso VPN pessoal quando trabalha em um café. Seu laptop deve se conectar ao VPS por meio de um túnel WireGuard criptografado e enviar seu tráfego de internet IPv4 através desse servidor. Este exemplo não é um relatório de um teste em produção; os IPs públicos, chaves e saídas de terminal mostrados abaixo são fictícios ou simulações representativas.

Esta configuração é uma VPN ponto a site: um cliente se conecta a um servidor. Ela utiliza as ferramentas WireGuard do Debian, um único peer, encaminhamento IPv4 e NAT IPv4. Pressupõe-se que o VPS tenha um endereço IPv4 público ou com encaminhamento de porta configurado, que você possa administrá-lo com sudo e que a porta UDP 51820 seja acessível. Este guia não configura IPv6 roteado ou uma rede privada por trás do VPS.

Planeje os endereços e o acesso primeiro.

O exemplo usa 10.8.0.0/24a VPN, com 10.8.0.1um servidor e 10.8.0.2um primeiro cliente de Maya. Use uma sub-rede que não se sobreponha às redes Wi-Fi, de escritório ou em nuvem do cliente. Uma colisão pode enviar o tráfego pela rota errada, mesmo que o handshake seja bem-sucedido.

O WireGuard utiliza autenticação por chave pública. O servidor precisa da chave pública do cliente, e o cliente precisa da chave pública do servidor; cada chave privada permanece no dispositivo que a possui. A documentação do WireGuard no Debian descreve o pacote e a configuração dos pares, enquanto o guia de início rápido do WireGuard documenta a geração de chaves e o comportamento de keepalive. Consulte a documentação do WireGuard no Debian e o guia de início rápido do WireGuard .

Configure o servidor Debian 12

1. Instale as ferramentas

Atualize o índice de pacotes e instale o WireGuard e o nftables, que fornecerá um exemplo de regra de mascaramento IPv4. Execute os seguintes comandos no VPS:

sudo apt update
sudo apt install wireguard nftables

O Debian inclui o WireGuard por meio do wireguardmetapacote e suas ferramentas. Se o servidor já utiliza um gerenciador de firewall como UFW, firewalld ou regras gerenciadas pelo provedor, identifique o conjunto de regras ativo antes de adicionar qualquer coisa. Não substitua uma configuração de firewall existente por este exemplo.

Um terminal Debian exibe o comando `apt update` e a instalação dos pacotes WireGuard e nftables.
Um terminal exibe a etapa de instalação do pacote; a saída do pacote pode variar de acordo com o espelho e o estado do sistema.

2. Localize a interface pública e habilite o encaminhamento.

Consulte a tabela de roteamento para saber qual interface o Debian usa para alcançar um endereço IPv4 externo:

ip route get 1.1.1.1

No exemplo, a rota usa eth0. Seu VPS pode exibir um nome diferente, como ens3ou enp1s0; use o nome da sua própria saída na regra NAT posteriormente. Observe também o endereço IPv4 público ou o nome DNS do servidor. Se o servidor estiver atrás de um roteador, encaminhe a porta UDP 51820 desse roteador para o host Debian.

O encaminhamento IPv4 é necessário para um túnel completo. Habilite-o agora e mantenha-o ativado mesmo após reinicializações.

echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
sysctl net.ipv4.ip_forward

O último comando deve exibir o resultado net.ipv4.ip_forward = 1. Essa configuração permite o encaminhamento de pacotes; ela não abre o firewall nem fornece NAT por si só.

Um terminal Debian mostra a rota através da interface eth0 e o encaminhamento IPv4 ativado.
A consulta de rota identifica a interface usada para IPv4 de saída, enquanto o sysctl confirma se o encaminhamento está ativado.

3. Crie um par de chaves: a chave do servidor e a chave do cliente.

Crie a chave do servidor no host Debian com permissões de arquivo restritivas:

sudo install -d -m 700 /etc/wireguard
sudo sh -c 'umask 077; wg genkey > /etc/wireguard/server.key; wg pubkey < /etc/wireguard/server.key > /etc/wireguard/server.pub'

Gere o par de chaves do cliente no dispositivo do cliente sempre que possível. Em um cliente Linux com wireguard-toolso software instalado:

umask 077
wg genkey | tee client.key | wg pubkey > client.pub

Para um telefone, crie um novo túnel no aplicativo oficial do WireGuard e deixe que ele gere as chaves de perfil. Copie apenas a chave pública do cliente para o servidor. Mantenha-a em client.keysigilo; nunca a cole na configuração do servidor nem a envie em um chat. O manual do Debian Bookwormwg(8) documenta os comandos principais e os campos da interface.

4. Crie a interface do servidor e adicione o par.

Crie /etc/wireguard/wg0.confa seguinte estrutura. Substitua cada marcador em maiúsculas pela chave real correspondente. Leia a chave privada do servidor localmente com sudo cat /etc/wireguard/server.key`<nome_da_chave>`; coloque a chave pública do cliente na seção `<nome_da_chave>`.

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

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32

Proteja o arquivo, pois ele contém uma chave privada:

sudo chown root:root /etc/wireguard/wg0.conf
sudo chmod 600 /etc/wireguard/wg0.conf

AllowedIPs = 10.8.0.2/32Atribui um endereço VPN a este par e impede que outro par o reivindique. Forneça a cada dispositivo adicional seu próprio par de chaves e um endereço distinto, como 10.8.0.3/32. Não reutilize um perfil de cliente em vários dispositivos se precisar de revogação ou identidade separadas.

Um terminal Debian exibe a geração de chaves WireGuard e a interface wg0 com um cliente par.
A interface do servidor lista um par com seu endereço de túnel dedicado; o material da chave exibido é meramente ilustrativo.

5. Adicione NAT IPv4 e permita a porta WireGuard.

Para o exemplo de túnel IPv4 completo, os pacotes de saída 10.8.0.0/24devem passar pela interface voltada para a internet com NAT de origem. Adicione uma regra equivalente à configuração existente do nftables ou ao gerenciador de firewall do servidor. Esta tabela nftables independente ilustra a regra; substitua ` eth0<interface>` pela interface descoberta na etapa 2:

table ip wg_nat {
  chain postrouting {
    type nat hook postrouting priority srcnat; policy accept;
    ip saddr 10.8.0.0/24 oifname "eth0" masquerade
  }
}

Se você usa o nftables do Debian nftables.service, mescle a tabela na configuração que o serviço carrega na inicialização e valide o arquivo completo com ` sudo nft -c -f /etc/nftables.confnftables` antes de recarregá-lo. Verifique se sua configuração atual limpa ou substitui as regras existentes antes de aplicá-la. O NAT por si só não sobrescreve uma política de encaminhamento que descarta tráfego: permita o encaminhamento da wg0interface WAN para a interface de rede e o tráfego de retorno no seu firewall ativo. nft(8)O manual do Debian documenta o carregamento de regras do nftables e as declarações de NAT.

Tanto no firewall do provedor de VPS quanto no firewall do host, permita o tráfego UDP de entrada na porta 51820. Não abra a porta TCP 51820 para este túnel WireGuard. Mantenha sua regra de acesso SSH ativa enquanto altera a política do firewall e utilize o console do provedor ou outro método de recuperação caso uma reinicialização do firewall possa causar a sua desconexão.

Uma visualização da configuração do nftables mostra o mascaramento de IPv4 para a sub-rede VPN 10.8.0.0/24 através da eth0.
A regra identifica o tráfego IPv4 da VPN que sai pela interface WAN selecionada e aplica o mascaramento.

Configure e conecte o cliente

6. Elabore o perfil do cliente.

Crie um novo túnel no aplicativo cliente WireGuard ou salve uma configuração semelhante a esta em um cliente Linux. Substitua a chave privada, a chave pública do servidor e o endpoint por valores reais. O endereço TEST-NET abaixo é apenas um exemplo e não acessará um servidor real.

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

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

AllowedIPs = 0.0.0.0/0O WireGuard encaminha destinos IPv4 através do túnel, sendo, portanto, a opção ideal para um túnel IPv4 completo. Para um túnel dividido estreito que alcance apenas o endereço do servidor WireGuard, utilize o WireGuard 10.8.0.0/24. Para alcançar uma LAN atrás do servidor, inclua a sub-rede real dessa LAN no firewall do cliente AllowedIPs, adicione uma rota de retorno ou um NAT adequado e permita o tráfego através do firewall do servidor; esses passos dependem do roteador da LAN e estão fora do escopo deste exemplo.

PersistentKeepalive = 25Pode ajudar um cliente atrás de um NAT a permanecer acessível após períodos de inatividade. É opcional; a documentação do WireGuard afirma que a maioria dos usuários não precisa dele, mas indica 25 segundos como um intervalo amplamente útil durante o qual um mapeamento NAT deve permanecer aberto. O DNScampo é compatível com alguns clientes e clientes baseados em wg-quick; se o seu aplicativo o ignorar, configure o DNS por meio dos controles do próprio aplicativo.

Um editor de configuração do cliente exibe o endereço WireGuard, o endpoint, a rota IPv4 completa e o campo keepalive.
Um perfil de cliente encaminha IPv4 através do servidor; o endpoint TEST-NET é um espaço reservado, não um endereço funcional.

7. Inicie o túnel e verifique o handshake.

No Debian, ative a interface na inicialização com o seguinte comando:

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

Importe ou ative o perfil do cliente após a porta UDP 51820 estar acessível. wg showVerifique se o peer esperado aparece e se latest handshakeas atualizações são feitas após o cliente enviar tráfego. O wg-quick(8)manual do Debian Bookworm descreve o auxiliar de configuração de interface usado pela unidade systemd.

A ausência de handshake indica, em primeiro lugar, problemas de conectividade ou incompatibilidade de chaves: confirme o endereço e a porta do endpoint, as regras do firewall UDP, a chave pública do servidor no perfil do cliente, a chave pública do cliente wg0.confe a hora correta do sistema. Um handshake sem tráfego geralmente aponta para encaminhamento, NAT, sobreposição de rotas ou uma regra de encaminhamento de firewall.

Um terminal Debian mostra o serviço wg-quick ativado e um handshake entre pares com contadores de tráfego.
O serviço está ativado e a exibição do par inclui campos de handshake e transferência; os valores são ilustrativos.

8. Verifique o tráfego e compreenda o limite do IPv6.

Com o cliente conectado, primeiro teste o endereço do túnel do servidor e, em seguida, verifique o endereço IPv4 público visto por um serviço externo de verificação de endereço IPv4:

ping -c 3 10.8.0.1
curl -4 https://ifconfig.me

O ping deve alcançar o servidor se o ICMP estiver permitido. A verificação de IPv4 externo deve mostrar o endereço de saída público do VPS para esta configuração de túnel completo. Se o endereço público não mudar, inspecione AllowedIPso encaminhamento, o nome da interface NAT e a política de encaminhamento do firewall.

Este exemplo é somente IPv4. AllowedIPs = 0.0.0.0/0Não roteia IPv6, portanto, um cliente com conectividade IPv6 ainda pode enviar tráfego IPv6 para fora do túnel. Não descreva esta configuração como um túnel de privacidade de pilha dupla completo. Para transportar IPv6 através do WireGuard, aloque e roteie endereços IPv6 para o túnel, habilite o encaminhamento de IPv6, configure as regras de firewall e roteamento apropriadas e adicione ::/0o cliente somente depois que o caminho estiver funcionando de ponta a ponta. O suporte do provedor varia. Caso contrário, escolha uma política de túnel dividido conscientemente e verifique o comportamento do IPv6 do cliente.

Uma tela genérica de VPN para celular mostra um perfil de VPN para laptop ativo, com detalhes do servidor e do endereço do túnel.
Um perfil genérico de cliente VPN está ativo e lista um endpoint de servidor e um IP de túnel; os controles variam de acordo com o aplicativo.
Um terminal Debian mostra uma verificação de endereço IPv4 e um ping bem-sucedido para o servidor WireGuard.
O terminal verifica um endereço de saída IPv4 e envia um ping para o endereço WireGuard do servidor; a saída é ilustrativa.

Problemas comuns e uma verificação final rápida

  • Sem handshake: confirme a porta UDP 51820 de entrada nos firewalls do provedor e do host, o endereço IP público ou DNS do endpoint e a chave pública do par de cada lado.
  • O handshake funciona, mas os sites não carregam: confirme net.ipv4.ip_forward=1, a regra NAT usa a interface de saída real e o firewall permite o tráfego encaminhado.
  • Apenas algumas redes falham: verifique se há 10.8.0.0/24sobreposição com uma rede local ou remota. Renumere o túnel, se necessário, atualizando simultaneamente os pares e a regra do firewall.
  • Funciona até a reinicialização: confirme wg-quick@wg0se a opção está ativada e se as configurações do firewall e do sysctl foram mantidas durante a configuração normal do sistema.
  • O IPv6 ainda usa a conexão local: isso é esperado neste exemplo que usa apenas IPv4. Configure e teste uma rota de túnel IPv6 antes de confiar em uma declaração de privacidade de túnel completo.

Antes de considerar a configuração concluída, verifique se o serviço do servidor está ativo, wg showse reportou um handshake recente e se os contadores de transferência estão aumentando, se o cliente consegue se conectar 10.8.0.1e se uma verificação de saída IPv4 reporta o endereço público do servidor. Reinicie somente após as configurações de firewall e encaminhamento estarem configuradas corretamente e, em seguida, repita essas verificações. Para adicionar outros dispositivos, emita pares de chaves separados e IPs de túnel exclusivos e, em seguida, remova um dispositivo excluindo sua entrada de par e recarregando a interface.

Deixar um comentário

Como configurar uma VPN WireGuard ponto a site no Debian 12

Como configurar uma VPN WireGuard ponto a site no Debian 12

Configure um servidor VPN WireGuard em Debian 12 para um cliente remoto. Configure chaves, encaminhamento IPv4, NAT com nftables, acesso ao firewall e verificações de conexão.

Guia passo a passo para reforçar a segurança do Debian 12 em conformidade com o CIS.

Guia passo a passo para reforçar a segurança do Debian 12 em conformidade com o CIS.

Reforce a segurança de uma estação de trabalho Debian 12 com um fluxo de trabalho cuidadoso do CIS Benchmark: selecione o perfil correto, aplique patches com segurança, revise os serviços e o acesso, configure o nftables e documente as evidências.

Debian 12 em um VPS com pouca RAM: como reduzir as falhas de falta de memória (OOM) do MySQL

Debian 12 em um VPS com pouca RAM: como reduzir as falhas de falta de memória (OOM) do MySQL

Diagnosticar erros de falta de memória (OOM) no MySQL no Debian 12, verificar limites de memória do VPS, configurar swap e ajustar memória e concorrência do banco de dados sem prometer uma solução universal.

Como construir um ambiente de desktop Debian como um sistema imutável baseado em OStree

Como construir um ambiente de desktop Debian como um sistema imutável baseado em OStree

Aprenda como criar e testar um ambiente de trabalho OSTree derivado do Debian em uma máquina virtual, incluindo preparação da árvore do sistema, integração de inicialização, verificações de implantação e reversão.

How to Mount a Remote SSHFS Directory Automatically at Boot in Debian

How to Mount a Remote SSHFS Directory Automatically at Boot in Debian

Configure an SSHFS boot mount in Debian with SSH keys, fstab, and systemd automount. Includes reboot checks, permissions, timeouts, and troubleshooting.

Checklist de manutenção da casa em outubro de 2026 em São Paulo: chuvas, mofo e prevenção

Checklist de manutenção da casa em outubro de 2026 em São Paulo: chuvas, mofo e prevenção

Prepare sua casa em São Paulo para as chuvas de primavera: confira drenagem, infiltrações, mofo, Aedes e ar-condicionado com cuidados seguros para inquilinos e proprietários.

O que plantar em São Paulo em outubro de 2026: hortaliças, ervas, flores e checklist semana a semana

O que plantar em São Paulo em outubro de 2026: hortaliças, ervas, flores e checklist semana a semana

Veja o que plantar no estado de São Paulo em outubro de 2026, com semeadura direta, mudas, transplante, calor, chuva, risco de frio e checklist semanal baseado em fontes oficiais.

Tendências de podcasting que você precisa conhecer em 2026: um guia para iniciantes

Tendências de podcasting que você precisa conhecer em 2026: um guia para iniciantes

É novo no mundo dos podcasts? Descubra as tendências de 2026 que moldarão vídeo, descoberta, transcrições, IA, análises, monetização e um plano de lançamento prático.

Masterclass de UGC: Crie conteúdo gerado pelo usuário que conquista confiança e impulsiona a ação.

Masterclass de UGC: Crie conteúdo gerado pelo usuário que conquista confiança e impulsiona a ação.

Um curso prático e completo sobre conteúdo gerado pelo usuário (UGC) para encontrar, autorizar, orientar, publicar e mensurar conteúdo de clientes e criadores sem perder a autenticidade.

Por que a construção de comunidade é o novo marketing — e quando não é.

Por que a construção de comunidade é o novo marketing — e quando não é.

A construção de comunidade pode aprofundar a confiança, a retenção, o feedback e a defesa da marca, mas não substitui todos os canais de marketing. Compare as vantagens e desvantagens e escolha o modelo certo.