VPNSmith
VPS Contabo
self-host-vpnINFO

WireGuard: remover um peer sem reiniciar, e de forma definitiva (2026)

O wg set peer remove tem efeito imediato e desaparece no próximo wg-quick down/up. A diferença entre o estado em execução e o ficheiro de configuração, porque é que o peer volta e a ordem de operações que revoga mesmo o acesso.

Por Eric Gerard · Fundador · VPNSmith - Especialista em VPN auto-hospedada e VPS RGPD5 min de leituraPhoto via Pexels

Removeste o peer. O wg show confirma que desapareceu. Uma semana depois, o portátil que revogaste volta a ligar-se e nada nos teus logs o explica.

Nada correu mal. O WireGuard tem simplesmente dois estados, e o comando que usaste só alterou um deles.

Os dois estados

o que éo que o altera
estado em execuçãoo que o kernel aceita neste momentowg set, wg syncconf
ficheiro de configuraçãoo que é carregado no próximo arranqueo teu editor, wg-quick save

wg set wg0 peer PUBLIC_KEY remove atua sobre o primeiro. É imediato, deixa todos os outros peers ligados e nunca toca em /etc/wireguard/wg0.conf. A chave pública que passas é a chave Curve25519 de 32 bytes apresentada como 44 caracteres base64, e é por isso que um peer é identificado por essa cadeia e não por um nome: o WireGuard não guarda nenhum nome para ele.

Assim, o próximo wg-quick down wg0 && wg-quick up wg0 (um reboot, uma atualização de pacotes, um restart do systemd em que não pensaste) lê um ficheiro que ainda contém o peer e volta a pô-lo. Ninguém é avisado. O acesso simplesmente retoma.

Removê-lo de vez

Duas ordens de operação, e a segunda é a preferível.

A rápida, quando o ficheiro não tem nada que te interesse:

sudo wg set wg0 peer PUBLIC_KEY remove
sudo wg-quick save wg0

O wg-quick save escreve o estado em execução de volta no ficheiro. Funciona, e reescreve o ficheiro do ponto de vista do kernel. Os teus comentários desaparecem. Num servidor com uma dúzia de peers, esses comentários são normalmente o único registo de que peer corresponde a que portátil. Perdê-los transforma uma configuração legível numa lista de chaves públicas anónimas.

A preferível, que mantém o ficheiro como referência:

sudo nano /etc/wireguard/wg0.conf        # delete the whole [Peer] block
sudo wg syncconf wg0 <(wg-quick strip wg0)

O wg syncconf aplica o ficheiro à interface em execução sem a deitar abaixo: só o que mudou é afetado e os outros túneis mantêm as suas sessões. O wg-quick strip remove as diretivas que o kernel não entende (Address, DNS, PostUp) e imprime o resto.

A distinção importa num servidor com vários clientes: wg-quick down && up desliga toda a gente durante uns segundos para revogar um único peer. A implementação no kernel aceita até 1 048 576 peers por dispositivo, por isso o limite que atinges primeiro é a tua própria capacidade de os distinguir, não o do protocolo.

Duas chaves planas numa argola penduradas numa placa de metal clara fixada numa porta de madeira clara, a chave de cima gravada com as iniciais R.M.I.
Duas chaves planas numa argola penduradas numa placa de metal clara fixada numa porta de madeira clara, a chave de cima gravada com as iniciais R.M.I.

Duas chaves planas numa única argola, penduradas numa placa de metal clara aparafusada a uma porta de madeira clara. A chave de cima tem gravadas as iniciais « R.M.I. ». Tons quentes, veio da madeira visível.

Verificar nos dois sítios, não num só

sudo wg show wg0 peers                        # what the kernel accepts now
grep PublicKey /etc/wireguard/wg0.conf        # what loads next time

Uma chave ausente do primeiro e presente no segundo é uma revogação com prazo de validade. É exatamente a situação para a qual este artigo existe, e é invisível até ao dia em que a interface reinicia.

Os comandos em direto usados aqui (wg set wg0 peer <pubkey> remove, wg show wg0 latest-handshakes, wg show wg0 endpoints) cabem numa página A4 imprimível na nossa WireGuard Cheat Sheet gratuita, ao lado das chaves [Peer] e do comando que volta a adicionar um peer em direto. Download direto, sem registo. Descarregar a cheat sheet.

O que a revogação não faz

Remover o peer significa que o servidor recusa o handshake. O material de chaves no dispositivo perdido torna-se inútil contra este servidor. Isso é real, e é aí que o efeito acaba.

A revogação não é bem instantânea, e o atraso é limitado pelos próprios temporizadores do protocolo. Uma chave de sessão é rejeitada ao fim de 180 segundos (REJECT_AFTER_TIME) e um novo handshake é normalmente iniciado ao fim de 120 segundos (REKEY_AFTER_TIME). Portanto, uma sessão já estabelecida quando removeste o peer pode continuar a transportar tráfego durante até três minutos antes de o kernel a descartar. Se essa janela importa, deita a interface abaixo em vez de esperar.

O ficheiro de configuração continua nesse dispositivo. A sua chave privada também, e tudo o mais que o dispositivo tinha: uma sessão ainda aberta, um gestor de palavras-passe deixado desbloqueado, a caixa de correio que permite repor as tuas outras contas. Revogar o túnel é o primeiro passo certo. Não é a resposta completa, e tratá-lo como tal é a forma como as pessoas acabam perfeitamente confiantes e ainda expostas.

Situa a tua própria superfície de ataque, 10 perguntas, cerca de três minutos, sem conta, sem email, nada guardado. O resultado indica a alteração que mais reduz a tua exposição, e para quem faz self-hosting raramente é mais uma regra de firewall.

Em resumo

O que fizesteO que mudou realmente
wg set … peer … removesó o estado em execução, reverte no reinício
wg-quick saveo ficheiro também, à custa dos teus comentários
editar o ficheiro, depois wg syncconfambos, sem desligar os outros peers
revogado depois de perder um dispositivoo túnel, não o que o dispositivo ainda guarda

Uma frase a reter: um peer removido da memória e deixado no ficheiro não está removido, está adiado.

Quando o dispositivo revogado precisar de substituto, gera um novo par de chaves em vez de reutilizar o antigo: o nosso gerador de configuração WireGuard escreve o novo ficheiro de cliente e o respetivo código QR, e um ficheiro de servidor cujo bloco [Peer] copias para o teu antes do wg syncconf. O gerador é gratuito até 10 dispositivos; acima disso, o WireGuard Pro (produto nosso, 9 EUR uma única vez, sem subscrição) sobe o limite para 250 e acrescenta um ZIP com todos os .conf de cliente e o respetivo código QR em PNG, prático para configurar um escritório inteiro ou uma família de uma só vez.

★ Datacenter GDPR em Nuremberg · ✓ IPv4 dedicado incluído · porta de 200 Mbit/s

Aloje a sua VPN no seu próprio VPS → ContaboAcesso root completo · IPv4 público · escolha a sua região→

Perguntas frequentes

Como se remove um peer WireGuard sem reiniciar o túnel?
Usa wg set wg0 peer PUBLIC_KEY remove. Tem efeito imediato, os outros peers não são afetados e nenhuma interface vai abaixo. O que não faz é editar o ficheiro de configuração: o peer desaparece apenas do estado em execução e volta na próxima vez que a interface for levantada a partir desse ficheiro.
Porque é que o peer que removi volta?
Porque o removeste da memória, não do disco. O WireGuard tem dois estados separados: o que o kernel tem atualmente, que o wg set altera, e o que contém /etc/wireguard/wg0.conf, que o wg-quick lê no arranque. Remove o peer de um e não do outro e o próximo wg-quick down e up repõe-no, sem aviso. É a forma mais comum de se julgar um acesso revogado quando continua a funcionar.
O que faz realmente o wg-quick save?
Escreve o estado em execução de volta no ficheiro de configuração, o que torna a remoção permanente. O custo é que reescreve o ficheiro do ponto de vista do kernel: os comentários desaparecem, a ordem muda e tudo o que o wg-quick não modela (as tuas próprias anotações a indicar a que dispositivo pertence cada peer) perde-se. Num servidor com uma dúzia de peers, esses comentários são normalmente a única coisa que te diz quem é quem.
Como verifico que um peer desapareceu mesmo?
Dois comandos, porque há dois estados. wg show wg0 peers lista o que o kernel aceita neste momento. grep PublicKey /etc/wireguard/wg0.conf mostra o que será carregado da próxima vez. Um peer ausente do primeiro e presente no segundo é uma revogação que expira no próximo reinício.
Remover um peer chega depois de perder um dispositivo?
Para o túnel, sim: sem uma entrada de peer correspondente, o servidor recusa o handshake e o material de chaves no dispositivo perdido torna-se inútil contra ele. Não faz nada quanto ao dispositivo em si. O ficheiro de configuração, a sua chave privada e tudo o mais que esse dispositivo tinha continuam lá, nas mãos de outra pessoa. Revogar é o primeiro passo certo; não é a resposta completa.