VPN Wireguard · 16 min read · Oct 05, 2025
Como Instalar o Wireguard VPN no Debian 11

Wireguard é um protocolo VPN gratuito e de código aberto, alternativa ao IPSec, IKEv2 e OpenVPN. O Wireguard é projetado para sistemas operacionais Linux e Unix. Ele opera no espaço do kernel Linux, o que torna o Wireguard mais rápido e confiável. O Wireguard é usado para criar conexões de túnel seguras entre dois ou mais computadores.
O Wireguard visa substituir protocolos VPN como IPSec, IKEv2 e OpenVPN. O Wireguard é mais leve, mais rápido, fácil de configurar e mais eficiente. E ao mesmo tempo, o Wireguard não sacrificou o aspecto de segurança do protocolo VPN. O Wireguard suporta criptografia moderna de última geração, como o framework de protocolo Noise, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF e construções seguras e confiáveis.
Comparado a outros protocolos VPN, como OpenVPN, IPSec e IKEv2, o Wireguard é um novo protocolo VPN. O Wireguard foi lançado em 2015 por Jason A. Donenfeld como um protocolo VPN alternativo, foi mesclado ao kernel Linux v5.6 por Linus Torvalds em 2020 e, no mesmo ano, também foi portado para o FreeBSD 13.
Neste tutorial, você instalará e configurará um servidor VPN via Wireguard em servidores Debian 11. Você configurará um servidor VPN Wireguard com o servidor Debian 11 e, em seguida, configurará uma máquina cliente para se conectar ao servidor VPN Wireguard.
Quanto à máquina cliente, você pode usar qualquer distribuição Linux, mas este exemplo usa uma máquina Debian.
Pré-requisitos
Para começar este tutorial, você deve ter os seguintes requisitos:
- Um servidor Debian 11 - Este exemplo usa um servidor Debian com o nome do host ‘ wireguard-server ‘ e um endereço IP estático externo ‘ SERVER-IP ‘.
- Uma máquina Linux que será usada como cliente - Você pode usar qualquer distribuição Linux, mas este exemplo usa uma máquina Debian com o nome do host ‘client1’.
- Um usuário não-root com privilégios de administrador sudo/root.
Se todos esses requisitos estiverem prontos, vamos começar.
Instalando o Wireguard
Antes de instalar o Wireguard, execute o comando apt abaixo para atualizar e refrescar seu índice de pacotes Debian.
sudo apt updateUma vez que os repositórios Debian estejam atualizados, execute o comando apt abaixo para instalar o pacote Wireguard em seu servidor Debian. Isso também instalará o pacote wireguard-tools que será usado para gerenciar a instalação do seu servidor Wireguard.
sudo apt install wireguardQuando solicitado para confirmação, digite y para confirmar e pressione ENTER para prosseguir. Agora a instalação deve começar.

Com o Wireguard instalado em seu servidor, você está pronto para gerar o par de chaves pública e privada para o servidor e cliente Wireguard.
Gerando Par de Chaves Pública/Privada
Nesta etapa, você gerará um par de chaves pública e privada para o servidor Wireguard e a máquina cliente. E isso pode ser feito via o comando ‘wg’ fornecido pelo pacote wireguard-tools.
O par de chaves para o servidor será usado pelo servidor Wireguard, e a máquina cliente usará o par de chaves para o cliente. Se você tiver várias máquinas clientes, pode gerar vários pares de chaves para seus clientes.
Gerando Par de Chaves para o Servidor Wireguard
Execute o comando ‘ wg genkey ‘ abaixo para gerar a chave privada para o servidor Wireguard. Em seguida, altere a permissão da chave privada para ‘ 0400 ‘, o que desativará o acesso de leitura e gravação para o grupo e outros.
Neste exemplo, você gerará a chave privada ‘/etc/wireguard/server.key’.
wg genkey | sudo tee /etc/wireguard/server.key
sudo chmod 0400 /etc/wireguard/server.keyVocê receberá uma saída de uma chave base64 aleatória na tela do seu terminal.
Em seguida, execute o comando ‘ wg pubkey ‘ abaixo para gerar a nova chave pública do servidor para ‘ /etc/wireguard/server.pub ‘. A chave pública do servidor é derivada da chave privada do servidor ‘ /etc/wireguard/server.key ‘.
sudo cat /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pubVocê receberá uma saída de uma chave pública base64 aleatória no seu terminal.

Agora que você gerou pares de chaves pública e privada para o servidor Wireguard. A chave privada está localizada em ‘/etc/wireguard/server.key’, e a chave pública está localizada em ‘/etc/wireguard/server.pub ‘.
Execute o comando cat abaixo para mostrar e verificar o par de chaves gerado para o servidor Wireguard.
cat /etc/wireguard/server.key
cat /etc/wireguard/server.pubGerando Par de Chaves para o Cliente
Para o par de chaves do cliente, você pode gerá-lo em qualquer máquina (servidor ou cliente Wireguard) com o wireguard-tools instalado. Nesta etapa, você gerará um par de chaves do cliente a partir do servidor Wireguard.
O processo para gerar um par de chaves para o servidor e cliente é o mesmo, usando o comando ‘ wg genkey ‘ para gerar a chave privada e usando o ‘ wg pubkey ‘ para gerar a chave pública, que é derivada da chave privada.
Agora execute o comando abaixo para criar um novo diretório ‘ /etc/wireguard/clients ‘. Este diretório será usado para armazenar o par de chaves do cliente.
mkdir -p /etc/wireguard/clientsExecute o comando ‘wg genkey’ abaixo para gerar a chave privada do cliente para ‘ /etc/wireguard/clients/client1.key ‘. Em seguida, gere a chave pública do cliente via o comando ‘ wg pubkey ‘ para ‘/etc/wireguard/clients/client1.pub ‘.
wg genkey | tee /etc/wireguard/clients/client1.key
cat /etc/wireguard/clients/client1.key | wg pubkey | tee /etc/wireguard/clients/client1.pub
Agora que o par de chaves do cliente foi gerado, a chave pública está localizada em ‘/etc/wireguard/clients/client1.pub’ e a chave privada está ‘ /etc/wireguard/clients/client1.key ‘. Execute o comando abaixo para mostrar e verificar o par de chaves gerado.
cat /etc/wireguard/clients/client1.key
cat /etc/wireguard/clients/client1.pub
Configurando o Servidor Wireguard
Você criará um novo arquivo de configuração para o Servidor Wireguard nesta etapa. Mas antes disso, você deve decidir quais sub-redes usará para o servidor VPN Wireguard. Você também pode decidir se habilita ou desabilita o IPv6 para o seu Servidor VPN Wireguard.
Neste exemplo, o servidor VPN Wireguard terá endereços IP com a sub-rede ‘10.8.0.2/24’ e desabilitará o IPv6 para o VPN Wireguard.
Crie um novo arquivo de configuração do Wireguard ‘/etc/wireguard/wg0.conf ‘ usando o comando do editor nano abaixo.
sudo nano /etc/wireguard/wg0.confPrimeiro, adicione as seguintes linhas ao arquivo para definir os detalhes do servidor Wireguard. E tenha certeza de alterar a ‘ PrivateKey ‘ pela chave privada do servidor Wireguard ‘ server.key ‘. Com isso, a interface do servidor Wireguard será executada no endereço IP ‘ 10.8.0.1 ‘, abrirá a porta UDP 51820 que estará disponível para os clientes se conectarem, e o parâmetro SaveConfig garantirá que quaisquer alterações sejam salvas no arquivo de configuração, mesmo quando a interface Wireguard estiver desligada.
[Interface]
# Chave privada do servidor Wireguard - server.key
PrivateKey = SIybp8GHtKIPtHPBOQFP1kbQg4UCLCMyNIfCLBQR2EA=
# A interface Wireguard será executada em 10.8.0.1
Address = 10.8.0.1/24
# Os clientes se conectarão à porta UDP 51820
ListenPort = 51820
# Garantir que quaisquer alterações sejam salvas no arquivo de configuração do Wireguard
SaveConfig = trueEm seguida, adicione as linhas abaixo para definir a conexão do cliente peer. Altere o parâmetro ‘ PublicKey ‘ pela chave pública do cliente ‘ client1.pub ‘. E o parâmetro ‘ AllowedIPs ‘ especificará quais clientes Wireguard têm acesso a este peer. Neste exemplo, apenas clientes com IP ‘ 10.8.0.2 ‘ serão permitidos a acessar esta conexão peer. Mas você também pode permitir o intervalo de sub-redes, como ‘ 10.8.0.0/24 ‘.
[Peer]
# Chave pública do cliente Wireguard - client1.pub
PublicKey = ENokvIsS2euXrmM4OVFHPmTdCZ4wfEIR/UHuGCW64lw=
# endereços IP do VPN dos clientes que você permite conectar
# possível especificar sub-rede ⇒ [10.8.0.0/24]
AllowedIPs = 10.8.0.2/24Salve o arquivo e saia do editor quando terminar.
Com o arquivo de configuração do servidor Wireguard criado e a conexão do cliente peer adicionada, você configurará o encaminhamento de porta no servidor Wireguard e configurará o firewall para configurar o roteamento de tráfego.
Habilitar Encaminhamento de Porta via /etc/sysctl.conf
Nesta etapa, você habilitará o encaminhamento de porta no servidor Wireguard via o arquivo /etc/sysctl.conf’. Você pode habilitar o encaminhamento de porta para IPv4 e IPv6 no servidor Wireguard.
Para começar, abra o arquivo de configuração ‘/etc/sysctl.conf ‘ usando o comando do editor nano abaixo.
sudo nano /etc/sysctl.confAdicione as seguintes linhas ao arquivo. Isso habilitará o encaminhamento de porta em seu servidor Wireguard. Você pode usar ambos para IPv4 e IPv6, ou pode usar IPv4 se tiver o IPv6 desabilitado em seu servidor Wireguard.
# Encaminhamento de Porta para IPv4
net.ipv4.ip_forward=1
# Encaminhamento de porta para IPv6
net.ipv6.conf.all.forwarding=1Salve o arquivo e saia do editor quando terminar.
Em seguida, execute o utilitário de comando sysctl abaixo para aplicar as alterações.
sudo sysctl -pVocê receberá uma saída como esta - O encaminhamento de porta deve ser habilitado imediatamente.

Com o Encaminhamento de Porta habilitado no servidor Wireguard, você configurará o firewall que roteará o tráfego dos clientes Wireguard para a interface de rede específica.
Configurando o Firewall para o Servidor Wireguard
Nesta etapa, você configurará o firewall que será usado para o servidor Wireguard para roteamento das conexões dos clientes para a interface de rede apropriada que será usada para acessar a internet. Isso também permitirá que os clientes Wireguard acessem a internet através da interface específica no servidor Wireguard.
Primeiro, execute o comando apt abaixo para instalar o pacote de firewall ufw em seu servidor Debian.
sudo apt install ufwDigite y quando solicitado e pressione ENTER para prosseguir.

Após a instalação do ufw, execute o comando abaixo para abrir o serviço SSH e habilitar o firewall ufw.
sudo ufw allow OpenSSH
sudo ufw enableQuando solicitado para confirmação para habilitar o firewall ufw, digite y e pressione ENTER. O firewall ufw agora deve estar em execução em seu sistema e também está habilitado.

Agora verifique o status do firewall ufw via o comando abaixo. Você deve receber uma saída como ‘ Status: active ‘, o que significa que o status do firewall ufw está em execução.
sudo ufw statusCom o firewall ufw em execução, você configurará o firewall para roteamento das conexões dos clientes Wireguard para a interface de rede específica.
Agora execute o comando abaixo para verificar a tabela de roteamento padrão na interface do servidor Wireguard. Na maioria das vezes, isso detectará uma interface que é usada para acessar a internet ou onde o endereço IP público está disponível em cima dela.
ip route list defaultVocê receberá uma saída como esta - Este exemplo é a interface eth0 que é a tabela de roteamento padrão para o servidor Wireguard. E esta é a interface que é usada para acessar a Internet. Você pode ter um nome de interface diferente.
Em seguida, abra o arquivo de configuração do servidor Wireguard ‘ /etc/wireguard/wg0.conf ‘ usando o comando do editor nano abaixo.
sudo nano /etc/wireguard/wg0.confAdicione as seguintes linhas à seção ‘ [Interface] ‘.
[Interface]
...
....
PostUp = ufw route allow in on wg0 out on eth0
PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PostUp = ip6tables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PreDown = ufw route delete allow in on wg0 out on eth0
PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PreDown = ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADESalve o arquivo e saia do editor quando terminar.
- O parâmetro ‘ PostUp ‘ será executado sempre que o servidor Wireguard iniciar o túnel VPN.
- O parâmetro ‘ PreDown ‘ será executado sempre que o servidor Wireguard parar o túnel VPN.
- O comando ‘ ufw route allow in on wg0 out on eth0 ‘ permite o encaminhamento de tráfego que chega na interface wg0 para a interface de internet eth0.
- O comando ‘iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE’ habilitará o masquerading e reescreve o tráfego IPv4 da interface wg0 para fazê-lo parecer como a conexão direta do servidor Wireguard.
- O comando ‘ ip6tables -t nat -I POSTROUTING -o eth0 -j MASQUERADE ‘ habilitará o masquerading e reescreve o tráfego IPv46 da interface wg0 para fazê-lo parecer como a conexão direta do servidor Wireguard.
Agora execute o comando ufw abaixo para abrir a porta UDP 51820 onde os clientes se conectarão.
sudo ufw allow 51820/udpPor último, execute o comando abaixo para recarregar o firewall ufw e aplicar as alterações. Em seguida, verifique a lista de regras do ufw via o comando abaixo.
sudo ufw reload
sudo ufw statusVocê receberá uma saída como esta captura de tela - A porta UDP 51820 que o servidor Wireguard usará para conexões de clientes foi adicionada ao firewall ufw.

Agora, você habilitou o Encaminhamento de Porta e configurou o firewall no servidor Wireguard. Você está agora pronto para iniciar o servidor Wireguard.
Iniciando o Servidor Wireguard
Nesta etapa, você iniciará e habilitará o servidor Wireguard. Você também verificará o servidor Wireguard e a interface wg0 que será criada pelo serviço Wireguard.
Execute o utilitário de comando systemctl abaixo para iniciar e habilitar o serviço Wireguard. O serviço ‘ [email protected] ‘ criará e habilitará a interface Wireguard ‘ wg0 ‘ em seu servidor Wireguard.
sudo systemctl start [email protected]
sudo systemctl enable [email protected]Agora verifique o serviço Wireguard via o comando abaixo.
sudo systemctl status [email protected]Você receberá uma saída semelhante à captura de tela a seguir - O serviço Wireguard ‘ [email protected] ‘ está em execução e está habilitado. Isso também significa que a interface ‘ wg0 ‘ foi criada e está em execução.

Execute o comando abaixo para verificar a interface ‘wg0’ em seu servidor Wireguard.
ip a show wg0Você deve receber uma saída como esta - A interface Wireguard wg0 recebe um endereço IP ‘ 10.8.0.1 ‘, conforme descrito no arquivo de configuração do Wireguard ‘ /etc/wireguard/wg0.conf ‘.

Além disso, você também pode iniciar e parar o Wireguard via o comando ‘ wg-quick k’ abaixo. O comando ‘ wg-quick up ‘ iniciará o servidor Wireguard, e o ‘wg-quick down ‘ parará o servidor Wireguard.
sudo wg-quick up /etc/wireguard/wg0.conf
sudo wg-quick down /etc/wireguard/wg0.confCom o servidor Wireguard em execução, você configurará a máquina cliente e a conectará ao servidor Wireguard.
Configurando a Máquina Cliente e Conectando ao Servidor Wireguard
Nesta etapa, você configurará a máquina cliente instalando o wireguard-tools, criando uma nova configuração Wireguard para o cliente, conectando-se ao servidor VPN Wireguard e, por último, verificando a conexão e garantindo que a máquina cliente possa acessar a internet e a rede local VPN.
Instale o pacote ‘ wireguard-tools ‘ na máquina cliente. Isso usa um Debian como cliente, então o comando APT será usado.
sudo apt install wireguard-toolsA instalação deve começar automaticamente.

Após a instalação do wireguard-tools, crie um novo arquivo de configuração ‘ /etc/wireguard/wg-client1.conf ‘ usando o comando do editor nano abaixo.
sudo nano /etc/wireguard/wg-client1.confAdicione as seguintes linhas ao arquivo.
[Interface]
# Defina o endereço IP para o cliente - deve corresponder ao wg0 no Servidor Wireguard
Address = 10.8.0.2/24
# servidor DNS específico
DNS = 1.1.1.1
# Chave privada para o cliente - client1.key
PrivateKey = KPI59QH0jwc9wkUsW5Byci9ojXhz1322QXK52fQCE3E=
[Peer]
# Chave pública do servidor Wireguard - server.pub
PublicKey = Qt6oRLtlfAR490lTNb2K8TlbpwADV1j8NX7D5HY38EM=
# Permitir todo o tráfego a ser roteado via VPN Wireguard
AllowedIPs = 0.0.0.0/0
# Endereço IP público do Servidor Wireguard
Endpoint = SERVER-IP:51820
# Enviando Keepalive a cada 25 seg
PersistentKeepalive = 25Salve e feche o arquivo quando terminar.
Na seção ‘ [Interface] ‘, você deve definir o seguinte:
- O endereço IP do cliente deve corresponder à sub-rede do servidor Wireguard. O cliente Wireguard receberá o endereço IP ‘10.8.0.2’ neste exemplo.
- Especifique o servidor DNS para o cliente.
- Altere o parâmetro ‘ PrivateKey ‘ pela chave privada do cliente que você gerou, ‘ client1.key ‘.
Na seção ‘ [Peer]’ , você deve adicionar o seguinte:
- Chave pública do servidor Wireguard ‘ server.pub ‘ ao parâmetro PublicKey.
- Especifique ‘ AllowedIPs ‘ para restringir o acesso no peer VPN, você pode especificar sub-redes de redes ou apenas colocar 0.0.0.0/0 para encaminhar todo o tráfego pela VPN.
- Especifique o parâmetro Endpoint com o endereço IP público do servidor Wireguard ou use um nome de domínio.
Após a configuração do cliente ser criada, execute o comando abaixo para iniciar o Wireguard na máquina cliente.
wg-quick up wg-client1Você deve receber uma saída semelhante a esta captura de tela - A nova interface Wireguard ‘ wg-client1 ‘ será criada e a máquina cliente deve estar conectada ao servidor Wireguard que está em execução em ‘ SERVER-IP:51820 ‘.

Execute o comando abaixo para verificar a interface Wireguard ‘ wg-client1 ‘.
ip a show wg-client1Você deve receber uma saída como esta - A interface wg-client1 está ativa com um endereço IP ‘ 10.8.0.2 ‘, que faz parte da sub-rede do servidor Wireguard ‘ 10.8.0.0/24’.

Você também pode verificar a conexão Wireguard via o comando ‘ wg show ‘.
Execute o comando ‘ wg show’ na máquina cliente e você deve receber uma saída como esta.
wg showSe você estiver conectado ao servidor Wireguard correto, deverá ver o endereço IP do servidor Wireguard na seção ‘ endpoint ‘ e ver a chave pública do servidor Wireguard ‘ server.pub ‘.

Agora vá para o servidor Wireguard e execute o comando ‘ wg show ‘.
wg showVocê deve receber uma saída semelhante a esta - Na seção endpoint, você verá o endereço IP público do cliente, e na seção peer, você verá a chave pública do cliente ‘client1.pub ‘.

Por último, execute o comando abaixo para garantir que a máquina cliente possa acessar a internet ou acessar a rede interna da sub-rede do VPN Wireguard.
ping -c5 10.8.0.1
ping -c5 1.1.1.1
ping -c5 duckduckgo.comAbaixo está a saída que você deve receber:
A máquina cliente pode se conectar ao servidor Wireguard com um endereço IP ‘10.8.0.1 ‘.

A máquina cliente pode acessar a internet. Todo o tráfego é roteado pelo endereço IP público do servidor Wireguard.

Agora, se você quiser parar o Wireguard na máquina cliente, pode executar o comando ‘ wg-quick down ‘ abaixo.
wg-quick down wg-client1Você receberá a saída como esta. Além disso, a interface wg-client1 desaparecerá da máquina cliente.

Agora você configurou o Wireguard VPN na máquina cliente. Você também verificou a conexão entre a máquina cliente e o servidor Wireguard.
Conclusão
Neste tutorial, você instalou e configurou o Wireguard VPN em um servidor Debian 11. Você também configurou uma máquina Debian e se conectou com sucesso ao Servidor VPN Wireguard.
Em detalhes, você instalou o pacote Wireguard VPN, gerou pares de chaves pública e privada para o servidor e cliente, configurou o firewall UFW para roteamento do tráfego VPN para a interface de rede específica e habilitou o encaminhamento de porta via o arquivo /etc/sysctl.conf.
Com isso em mente, você pode agora adicionar mais clientes ao seu Servidor Wireguard VPN gerando outro par de chaves para o cliente, definindo a conexão peer no servidor Wireguard e, em seguida, criando um novo arquivo de configuração Wireguard que a máquina cliente usará. Para saber mais sobre o Wireguard, visite a documentação oficial do Wireguard.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.