Configuração do servidor WireGuard no Linux (wg0, NAT, pares)

12 min de leitura - 22 de junho de 2026

hero section cover
Índice
  • Quando utilizar um servidor WireGuard
  • Configuração do servidor
  • Adicionar e remover pares
  • Resolução de problemas
  • Rotação de chaves e chaves pré-partilhadas
Partilhar

Configuração prática do servidor WireGuard para Linux: chaves, wg0.conf, NAT, gestão de pares com syncconf e os comandos de resolução de problemas que os administradores de sistemas utilizam na prática.

Execute um servidor WireGuard quando pretender acesso privado à infraestrutura alojada sem expor as portas de administração à Internet pública. Este utiliza autenticação por chave pública, funciona no kernel do Linux desde a versão 5.6 e, uma vez em funcionamento, passa a funcionar de forma discreta. Este artigo aborda quando utilizar um servidor WireGuard, como o configurar wg0e como manter os pares a funcionar no dia a dia.

Quando utilizar um servidor WireGuard

Três padrões abrangem a maioria das configurações: acesso remoto, ligações servidor a servidor e encaminhamento site a site.

Para acesso remoto, execute o servidor num VPS ou num servidor dedicado e encaminhe o tráfego de administração através do túnel. Defina AllowedIPs em cada par para a sub-rede privada de gestão (algo como 10.0.0.0/24) para que apenas o tráfego destinado aos sistemas internos utilize o túnel. Todo o resto permanece na ligação local do utilizador. Se os utilizadores se ligarem a partir de casa ou de redes móveis, adicione PersistentKeepalive = 25 no lado do cliente para evitar que as sessões NAT sejam encerradas.

Para ligações servidor-a-servidor, mantenha AllowedIPs restrito. Normalmente, basta uma única /32 ou uma pequena sub-rede de backend. Isso evita que tráfego não relacionado seja puxado para o túnel e mantém o encaminhamento previsível.

A ligação de site a site é diferente. O anfitrião WireGuard atua como um gateway entre sub-redes, pelo que o reencaminhamento de IP tem de estar ativado e as regras NAT têm de enviar o tráfego de retorno pela interface correta.

PadrãoAllowedIPs de alcanceMelhor adequaçãoComplexidade da configuração
Acesso remotoSub-redes privadas, por exemplo 10.0.0.0/24Acesso de administradores e programadoresBaixa
Servidor para servidorIPs específicos ou sub-rede de backendLigações ponto a ponto entre anfitriõesBaixo a médio
Site a siteLAN remota completa, por exemplo /24Roteamento de gateway a gatewayMédio a elevado
Acesso a serviços privadosApenas sub-rede interna (túnel dividido)Isolamento do serviço de backendMédio

Configuração do servidor

O servidor armazena a chave privada, escuta no UDP 51820 por predefinição e encerra o túnel. A mesma configuração de base funciona para os três padrões acima referidos.

Chaves e wg0.conf

Gerar o par de chaves do servidor:

wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

Proteja a chave privada:

sudo chmod 600 /etc/wireguard/server_private.key

A chave privada permanece no servidor. A chave pública é a que se fornece aos pares.

Criar /etc/wireguard/wg0.conf:

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o <PUBLIC_IFACE> -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o <PUBLIC_IFACE> -j MASQUERADE
 
[Peer]
PublicKey = <CLIENT_PUBLIC_KEY>
AllowedIPs = 10.8.0.2/32

Identifique a interface de saída na qual deve inserir <PUBLIC_IFACE> com:

ip -o -4 route show to default | awk '{print $5}'

Reencaminhamento, firewall e NAT

Abra a porta de escuta:

sudo ufw allow 51820/udp

Ative o reencaminhamento de IP adicionando esta linha ao ficheiro /etc/sysctl.conf:

net.ipv4.ip_forward = 1

Aplicar sem reiniciar:

sudo sysctl -p

O PostUp e PostDown linhas em wg0.conf adicionam e removem a regra de mascaramento NAT quando a interface é ativada ou desativada. Sem elas, o tráfego de retorno da LAN nunca chega ao par.

Ao ativar o túnel

wg-quick controla a interface, o encaminhamento e os PostUp/PostDown ganchos num único comando:

sudo wg-quick up wg0

Para o arranque automático após o reinício, ative a unidade do systemd:

sudo systemctl enable --now wg-quick@wg0

Verifique o estado com:

sudo wg show

Uma linha recente latest handshake linha confirma que o túnel está a funcionar. Se parecer desatualizada ou vazia, verifique a firewall, as chaves em ambos os lados e o AllowedIPs.

Adicionar e remover pares

Cada par necessita do seu próprio par de chaves. Gere-o no cliente e, em seguida, adicione a chave pública do par wg0.conf num novo [Peer] bloco com uma AllowedIPs entrada que atribua o seu IP de túnel.

Utilize /32 para um único dispositivo:

AllowedIPs = 10.8.0.3/32

Isso impede que um par reivindique endereços atribuídos a outro. Para acesso com túnel dividido, indique apenas as sub-redes privadas que devem passar pelo túnel, por exemplo AllowedIPs = 10.8.0.0/24.

Aplique as alterações de configuração sem interromper as sessões ativas:

sudo wg syncconf wg0 <(wg-quick strip wg0)

A remoção de um par funciona da mesma forma. Elimine o seu [Peer] bloco de wg0.conf e execute syncconf novamente.

Resolução de problemas

Se um par se ligar, mas não conseguir aceder a nada do outro lado, a causa é normalmente uma das quatro seguintes:

  • O encaminhamento de IP está desativado
  • Falta a regra de mascaramento NAT
  • A interface de saída na regra NAT está errada
  • AllowedIPs não inclui o destino

Verifique o encaminhamento:

cat /proc/sys/net/ipv4/ip_forward

Deve devolver 1. Se devolver 0, a alteração no sysctl não foi aplicada ou não foi guardada.

Verifique a regra NAT e a interface de saída:

sudo iptables -t nat -L POSTROUTING
ip route get 1.1.1.1

O segundo comando mostra o nome real da interface de saída, como ens3, enp1s0, ou eth0. Este tem de corresponder à interface na regra MASQUERADE.

Se o próprio handshake estiver em falta, verifique se a porta UDP 51820 esteja aberto no firewall e em qualquer fornecedor a montante, e que ambos os lados tenham a chave pública correta do outro.

Para pares atrás de NAT residencial ou móvel que encerra sessões UDP inativas, defina PersistentKeepalive = 25 no cliente.

Rotação de chaves e chaves pré-partilhadas

Para túneis que permanecem ativos durante meses, rode as chaves uma vez por ano, aproximadamente. Gere um novo par de chaves, atualize ambas as extremidades e aplique com wg syncconf. Não reutilize uma chave privada entre dois pares. Isso cria conflitos de encaminhamento e interrompe a entrega entre eles.

Para uma camada adicional à autenticação por chave pública, adicione uma chave pré-partilhada por par:

wg genpsk

Adicione o resultado como PresharedKey = <PSK> no [Peer] bloco em ambos os lados. O WireGuard integra a PSK no handshake, pelo que um atacante que, de alguma forma, comprometa uma das chaves assimétricas continuará a não conseguir descodificar o tráfego sem ela.

Comandos úteis no dia-a-dia:

ComandoFinalidade
wg showParceiros, handshakes, contadores de tráfego
wg show wg0 transferContadores de bytes para wg0
wg show all dumpSaída analisável por computador para scripts de monitorização
wg syncconf wg0 <(wg-quick strip wg0)Aplicar alterações de configuração sem interromper as sessões
wg genpskGerar uma chave pré-partilhada

Se precisar de um host estável e acessível ao público para terminar túneis WireGuard e encaminhar tráfego privado para a sua infraestrutura, consulte os planos de VPS sem limites de tráfego da FDC.

Blogue

Em destaque esta semana

Mais artigos
Fadiga ocular digital: Como proteger a sua visão num mundo dominado pelos ecrãs

Fadiga ocular digital: Como proteger a sua visão num mundo dominado pelos ecrãs

Passa o dia inteiro a olhar para ecrãs? Saiba como reduzir a fadiga ocular digital com técnicas e ferramentas comprovadas. Este guia é essencial para trabalhadores remotos, programadores e qualquer pessoa que trabalhe na área da tecnologia.

4 min de leitura - 21 de maio de 2025

Por que é importante ter um VPS potente e sem limites de tráfego

8 min de leitura - 9 de maio de 2025

Mais artigos