VPN · Guia

Como usar um arquivo de configuração do WireGuard

Atualizado September 23, 2026 17 min de leitura

Nesta página
  1. O que tem dentro de um arquivo .conf, linha por linha
  2. Windows: importar o túnel
  3. Android e iPhone: escaneie o QR code ou importe o arquivo
  4. macOS e Linux
  5. No roteador, para cobrir a casa inteira
  6. Conecta mas não carrega nada, e outros problemas reais
  7. De onde vem o arquivo de configuração
  8. FAQ

Uma conexão WireGuard é um arquivo de texto. É sério, não passa disso: algumas poucas linhas com as suas chaves, o endereço do servidor e as regras sobre o que vai pelo túnel. Com esse arquivo em mãos, conectar a um servidor VPN WireGuard é só questão de entregá-lo ao app do WireGuard no dispositivo que você estiver usando.

Este guia faz duas coisas. Primeiro, lê um arquivo de configuração real linha por linha, para você saber o que cada configuração faz e qual mudar quando algo dá errado. Depois, mostra como importar esse arquivo e se conectar no Windows, Android, iPhone, macOS, Linux e em um roteador, e fecha com os poucos problemas que respondem por quase todas as reclamações sobre o WireGuard: o handshake que nunca se completa e o túnel que conecta mas não carrega nenhuma página.

O que tem dentro de um arquivo .conf, linha por linha

Toda configuração do WireGuard tem a mesma estrutura em duas partes. [Interface] descreve a sua ponta do túnel; [Peer] descreve a máquina à qual você se conecta. Veja uma configuração de cliente completa, com os segredos trocados por marcadores:

[Interface]
PrivateKey = YOUR_PRIVATE_KEY_KEEP_THIS_SECRET
Address    = 10.7.0.4/32
DNS        = 10.7.0.1

[Peer]
PublicKey           = THE_SERVER_PUBLIC_KEY_FROM_YOUR_PROVIDER
Endpoint            = 198.51.100.10:51820
AllowedIPs          = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
As duas chaves acima são marcadores, e o endereço 198.51.100.10 é um endereço de documentação reservado pela RFC 5737: nada disso se conecta a lugar nenhum. Use os valores do seu próprio arquivo.

O bloco [Interface]: o seu lado

  • PrivateKey: esta é a sua identidade na VPN. Quem tiver essa chave pode se passar por você. São 44 caracteres base64 terminados em =; se a sua tiver outro tamanho, o arquivo foi cortado em algum momento da cópia.
  • Address: o IP que o seu dispositivo usa dentro do túnel, não o seu IP público. O /32 quer dizer "só este endereço", o que é normal para um cliente.
  • DNS: o resolvedor usado enquanto o túnel está ativo. Sem ele, o dispositivo continua consultando o resolvedor antigo, o que vaza o que você está acessando e muitas vezes impede de resolver qualquer coisa do outro lado.
  • MTU: opcional, e a linha mais útil de conhecer. Ela não aparece na maioria dos arquivos porque o valor padrão é o certo; veja a seção de solução de problemas para o caso em que não é.

O bloco [Peer]: o lado do servidor

  • PublicKey: a chave pública do servidor. A sua nunca aparece no seu próprio arquivo; quem guarda ela é o servidor.
  • Endpoint: para onde enviar os pacotes, no formato host:port. O WireGuard funciona só em UDP, e 51820 é a porta convencional, não uma porta obrigatória.
  • AllowedIPs: quais destinos passam pelo túnel. 0.0.0.0/0, ::/0 significa tudo, que é justamente para o que serve uma VPN de privacidade. Uma lista mais restrita (por exemplo, só a faixa interna da sua empresa) manda apenas isso pelo túnel e deixa o resto na sua conexão normal. Esse arranjo se chama split tunnel (túnel dividido), e é uma escolha deliberada, não um túnel completo quebrado.
  • PersistentKeepalive: envia um pacote pequeno a cada 25 segundos para que o dispositivo de NAT entre você e o servidor mantenha aberto o caminho de volta. É necessário sempre que você está atrás de NAT, e no celular ou numa conexão residencial você sempre está.
Um detalhe que explica uma confusão comum. Address e DNS não são configurações do WireGuard: são instruções para o utilitário wg-quick, que configura a sua interface de rede. O WireGuard em si nunca vê essas linhas. Dá para comprovar: wg-quick strip wg0 mostra a configuração que o kernel realmente recebe, e as duas linhas simplesmente somem. Isso faz diferença se um dia você configurar um túnel com wg setconf em vez de wg-quick, porque aí nada atribui o seu endereço nem o seu resolvedor, e o túnel sobe conectado a nada.

Precisa de um arquivo de configuração para importar? Um serviço HytHost VPN te entrega uma configuração do WireGuard pronta para usar a partir de €0.99/mês.

Ver planos de VPN

Windows: importar o túnel

O Windows tem um app oficial do WireGuard, e importar um arquivo nele é todo o trabalho.

  1. Instale o WireGuard a partir de wireguard.com/install.
  2. Clique em Adicionar túnel no canto inferior esquerdo, o que abre um seletor de arquivos filtrado para Arquivos de configuração (*.zip, *.conf). Escolha o seu .conf e ele aparece na lista de túneis, com o nome do arquivo.
  3. Ou cole o conteúdo. A seta ao lado de Adicionar túnel oferece Adicionar túnel vazio…, que abre uma caixa de texto: útil quando a configuração chegou numa mensagem e não como arquivo. Ela já vem com uma chave privada nova preenchida, então apague essa linha e cole a sua configuração por cima.
  4. Clique em Ativar. O status muda para Ativo e o painel começa a contar os bytes transferidos. Esse contador é a checagem mais rápida que você tem: se ele mostra dados saindo e nada voltando, o seu handshake não está se completando.
Duas opções desse app valem a pena conhecer. Bloquear tráfego fora do túnel (kill-switch), na tela de edição do túnel, impede que qualquer coisa saia por fora do túnel se ele cair: a configuração certa se o objetivo da VPN é que nada escape. E Exportar registro para arquivo é onde o app explica, em linguagem simples, por que um túnel se recusou a iniciar.

Android e iPhone: escaneie o QR code ou importe o arquivo

No celular você tem dois caminhos, e o QR code existe justamente porque digitar uma chave de 44 caracteres numa tela sensível ao toque é um sofrimento.

Android

  1. Instale o WireGuard pela Play Store e toque no botão +.
  2. A tela Criar túnel WireGuard oferece Ler código QR, Criar a partir de arquivo e a criação de um túnel do zero. Escolha a opção que corresponde ao que você recebeu.
  3. Dê um nome ao túnel se for pedido e ligue a chave dele. O Android pede uma vez permissão para adicionar uma configuração de VPN: esse aviso é do sistema operacional, não do app.

iPhone e iPad

  1. Instale o WireGuard pela App Store e toque em Add a tunnel.
  2. Em Add a new WireGuard tunnel, escolha Create from QR code ou Create from file or archive. A tela do leitor se chama Scan QR code; depois de uma leitura bem-sucedida, ele pede que você dê um nome ao túnel.
  3. Ative o túnel e permita a configuração de VPN quando o iOS pedir.

Como gerar um QR code a partir de um arquivo de configuração que você já tem

O QR code não é algo que o provedor precisa te dar: é só o seu arquivo de configuração desenhado como imagem, e você mesmo pode gerá-lo com um comando. O próprio app do WireGuard sugere isso:

# prints the code straight into the terminal, ready to scan off the screen
qrencode -t ansiutf8 < wg0.conf

# or write it to an image file
qrencode -o wg0.png < wg0.conf

No Debian ou Ubuntu, o qrencode é instalado com apt install qrencode; no macOS, com brew install qrencode.

Um QR code do WireGuard contém a sua chave privada. Não é um link nem um identificador: é a configuração inteira, chaves incluídas, num formato que qualquer câmera consegue ler. Nunca poste um num servidor do Discord, num tópico de fórum ou num ticket de suporte, e tome cuidado com prints. Se você escanear um código na tela, feche-o depois. Trate a imagem exatamente como trataria o arquivo.

macOS e Linux

macOS

Instale o WireGuard pela Mac App Store. O app do Mac não é o app do iPhone numa tela maior: ele fica na barra de menus, e a janela dele abre em Manage Tunnels. Clique em Import tunnel(s) from file (a barra de menus tem a mesma opção como Import Tunnel(s) from File…), escolha o seu .conf, selecione o túnel e clique em Activate. O Mac não tem leitor de QR code (QR code é coisa de celular), então use o próprio arquivo, ou escolha Add Empty Tunnel… e cole a configuração.

Se você prefere trabalhar no terminal, brew install wireguard-tools te dá os mesmos comandos wg-quick do Linux, descritos a seguir.

Linux

  1. Instale as ferramentas. No Debian ou Ubuntu: sudo apt install wireguard. A maioria das distribuições tem um pacote com o mesmo nome.
  2. Coloque o arquivo onde o wg-quick procura. Este é o passo em que o pessoal erra, porque o nome do arquivo vira o nome da interface:
    sudo install -m 600 -o root -g root wg0.conf /etc/wireguard/wg0.conf
    O 600 importa: o arquivo contém a sua chave privada e não deve ser legível por outros usuários da máquina. Use um nome curto e simples; ele precisa ser um nome de interface de rede válido.
  3. Suba o túnel:
    sudo wg-quick up wg0
    sudo wg show
    wg show é o comando que vale a pena guardar. Ele mostra o peer, o endpoint, uma linha latest handshake e os contadores de transferência. Um horário de handshake que nunca aparece é a marca registrada do problema da próxima seção.
  4. Iniciar junto com o sistema: sudo systemctl enable --now wg-quick@wg0. Para derrubar o túnel manualmente, sudo wg-quick down wg0.
Dois erros que vale a pena reconhecer de cara. wg-quick: `/etc/wireguard/wg0.conf' does not exist significa que o nome que você passou não bate com nenhum arquivo daquela pasta: você pediu wg0 e o arquivo tem outro nome. E se o túnel se recusa a subir reclamando do resolvconf, o culpado é a linha DNS: o wg-quick precisa do resolvconf ou do systemd-resolved para aplicá-la. Instale um dos dois, ou remova a linha DNS e configure o resolvedor você mesmo.

No roteador, para cobrir a casa inteira

Colocar o túnel no roteador cobre todos os dispositivos conectados a ele, inclusive os que não rodam nenhum app de VPN: um videogame, uma TV, uma caixa de som inteligente. Se dá para fazer ou não depende totalmente do firmware.

FirmwareSuporte a WireGuardOnde procurar
OpenWrtSim, com um pacoteInstale luci-proto-wireguard, adicione uma interface com o protocolo WireGuard VPN e preencha os campos com os dados do seu arquivo
Asus (firmware original recente)Sim, em muitos modelosA seção VPN tem um cliente WireGuard que importa um .conf diretamente
Asuswrt-MerlinSimMesma ideia, com mais controle sobre o roteamento
Mikrotik RouterOS 7SimO WireGuard vem embutido; o RouterOS 6 não tem de jeito nenhum
Roteador comum da operadoraGeralmente nãoSem WireGuard e sem como adicionar: veja abaixo

Se o seu roteador é o aparelho que a operadora de internet te entregou, as opções realistas são colocar atrás dele um roteador que você controla, ou continuar usando configurações por dispositivo. Nenhuma das duas é um fracasso; a configuração por dispositivo muitas vezes é até melhor, porque você pode deixar o túnel desligado nos dispositivos que não precisam dele.

Não reaproveite uma configuração que já está em outro dispositivo. Um arquivo de configuração é um peer, e um peer é um dispositivo. Carregar a configuração do celular no roteador faz os dois brigarem pela mesma identidade, e as duas conexões ficam instáveis. Contrate uma segunda configuração, ou adicione um segundo peer no seu próprio servidor.

Uma coisa para decidir antes de passar a casa inteira por um túnel: a partir daí, tudo passa por ele. Sites de banco que não gostam de endereços estrangeiros, streaming que verifica a sua região e qualquer coisa que converse com dispositivos da sua própria rede podem se comportar de outro jeito. É aqui que um AllowedIPs mais restrito mostra o seu valor: mande só o que precisa ir e deixe o resto como está.

Conecta mas não carrega nada, e outros problemas reais

O WireGuard é incomumente silencioso quando falha, e isso é uma decisão de projeto proposital: um pacote não autenticado não recebe resposta nenhuma, então um scanner não consegue saber se tem algo escutando. O efeito colateral é que uma chave errada, uma porta errada e uma rede bloqueada parecem idênticas do seu lado: silêncio. Comece pelo sintoma.

O que você vêO que costuma serOnde olhar
Nunca há handshake; os bytes enviados sobem e os recebidos ficam em zeroNada está respondendo, ou a resposta não consegue voltarEndpoint, a PublicKey do servidor, UDP bloqueado
Handshake ok, coisas pequenas funcionam, páginas web travam no meio do carregamentoMTUAdicione uma linha MTU em [Interface]
Conectado, mas nada resolveDNSA linha DNS, e o resolvconf no Linux
Conectado, resolve nomes, mas nenhum tráfego passa pelo túnelAllowedIPs restrito demaisAllowedIPs em [Peer]
Funciona e para depois de um ou dois minutos paradoO mapeamento de NAT expirouPersistentKeepalive = 25

"Handshake did not complete"

O seu dispositivo enviou um pacote de iniciação e não recebeu nada de volta. Verifique, nesta ordem:

  • O endpoint. Host certo, porta certa, e a porta precisa ser UDP. Um erro de digitação aqui produz exatamente esse sintoma e nenhum outro.
  • Se o UDP chega mesmo ao lado de fora. Wi-Fi de visitantes, redes de hotel, algumas redes corporativas e algumas operadoras móveis liberam só TCP nas portas comuns. Se a mesma configuração funciona na sua internet de casa e falha numa rede específica, a configuração está certa e o problema é a rede.
  • Se as chaves estão no lugar certo. A PublicKey em [Peer] é a chave pública do servidor, e o servidor precisa ter, do lado dele, a chave pública que corresponde à sua PrivateKey. Uma configuração copiada de outro dispositivo falha aqui.
  • O seu relógio. O handshake do WireGuard inclui um carimbo de tempo e rejeita os que estão muito fora. É raro, mas acontece em dispositivos que perderam a hora.

Se o túnel funciona em casa mas nunca nos dados móveis, a causa pode estar do lado da sua operadora, e não do seu: o CGNAT e esquemas parecidos mudam o que consegue chegar até você. O guia de redirecionamento de portas explica como identificar isso pelo seu próprio roteador em poucos minutos.

O problema de MTU, que vale a pena entender de uma vez

Este é o caso clássico de "conectado, mas a internet não funciona", e o padrão é inconfundível: o ping funciona, o DNS funciona, páginas pequenas carregam e qualquer coisa mais pesada fica travada para sempre.

A causa é o tamanho. Encapsular o tráfego para o túnel adiciona cabeçalhos, então um pacote que cabia certinho na sua conexão normal deixa de caber quando está dentro do WireGuard. Pacotes pequenos passam sem problema; os grandes são descartados. Normalmente a rede avisa o remetente para usar pacotes menores, mas a mensagem que faz isso é filtrada com frequência, então, em vez de um erro, você simplesmente fica esperando.

A solução é dizer ao WireGuard para usar pacotes menores desde o início. O wg-quick já tenta: ele pega o MTU da sua rota normal e subtrai 80 bytes para a sobrecarga do túnel, então numa conexão comum de 1500 bytes você fica com 1420. Quando isso ainda é demais (algumas redes móveis, a maioria das conexões que já passam por outro túnel), defina o valor explicitamente e vá descendo:

[Interface]
MTU = 1420      # what wg-quick would have picked
# still stalling? try 1380, then 1280

1280 é o piso que vale a pena testar, porque é o menor tamanho de pacote que o IPv6 exige que tudo transporte, então ele sobrevive a praticamente qualquer caminho. Custa um pouco de eficiência e é muito melhor do que um túnel que trava.

O túnel está ativo, mas nada passa por ele

Confira primeiro o AllowedIPs. Ele não é um firewall nem uma lista de permissões: ele decide quais destinos são roteados para dentro do túnel. Se não incluir 0.0.0.0/0, o tráfego para o resto da internet nunca foi feito para passar por ali, e a sua conexão está se comportando exatamente como foi configurada. No Linux, ip route show table all | grep wg0 mostra o que foi realmente roteado.

Se o roteamento está certo e os nomes simplesmente não resolvem, é a linha DNS: ou está faltando, ou existe mas não é aplicada porque o resolvconf não está instalado.

De onde vem o arquivo de configuração

Tudo o que vimos até aqui parte do princípio de que você tem um arquivo. Existem exatamente duas formas de conseguir um.

Rodar o servidor você mesmo

Você gera um par de chaves, instala o WireGuard numa máquina com endereço público, adiciona o seu dispositivo como peer e escreve a configuração do cliente à mão. Não é difícil, e é algo que vale muito a pena aprender. O custo é contínuo: um servidor para pagar e manter atualizado, e uma edição manual nas duas pontas toda vez que você adiciona um dispositivo, porque, lembre-se, um peer é um dispositivo.

Conseguir com um provedor

A alternativa é o arquivo ser gerado para você, e você só baixar. Com a HytHost VPN, a partir de €0.99/mês, ele fica aqui:

  1. Contrate o serviço e faça login na área do cliente, depois abra o seu serviço de VPN na lista.
  2. Encontre a seção WireGuard Configuration. Ela tem dois botões: Copy to Clipboard, que copia o texto da configuração para a área de transferência, e Download Configuration, que te entrega o arquivo pronto.
  3. Se você copiou, cole num editor de texto simples e salve com a extensão .conf; wg0.conf é um bom nome. Confira se o editor não acrescentou .txt no final.
  4. Importe seguindo a seção acima referente ao seu dispositivo. No celular, transforme antes em QR code com o qrencode.

A mesma página mostra se o túnel está conectado ao servidor naquele momento, o que resolve a dúvida "o problema é comigo ou com eles?" antes de você sair mudando configurações. Não existe botão de QR code: gere você mesmo a partir do arquivo, o que também significa que o código nunca vai parar em lugar nenhum onde não precisava estar.

Precisa de um arquivo de configuração para importar? Um serviço HytHost VPN te entrega uma configuração do WireGuard pronta para usar a partir de €0.99/mês.

Ver planos de VPN
FAQ

Perguntas frequentes

Instale o app oficial do WireGuard, importe o arquivo de configuração que o seu servidor ou provedor forneceu e ligue o túnel. No Windows, é Adicionar túnel e depois Ativar; no Android e no iPhone você pode escanear o arquivo como QR code em vez de importá-lo; no Linux, coloque o arquivo em /etc/wireguard/ e rode wg-quick up com o nome dele. Um horário de handshake e dados recebidos no app confirmam que a conexão está ativa.

Um arquivo de texto simples, normalmente com extensão .conf, com dois blocos. [Interface] descreve o seu dispositivo: a chave privada, o endereço que ele usa dentro do túnel e o resolvedor a ser usado. [Peer] descreve o servidor: a chave pública, o host e a porta UDP, e quais destinos devem ser roteados pelo túnel. Esse arquivo é a conexão inteira: nada mais fica guardado em nenhum outro lugar do seu dispositivo.

Não de forma confiável, e vale a pena entender o motivo. Uma configuração é um peer, identificado por um par de chaves, e o servidor registra uma única localização atual para cada peer. Se você conectar um celular e um notebook com o mesmo arquivo, o servidor manda o tráfego de volta para quem fez o handshake mais recente, e as duas conexões ficam caindo e voltando. Cada dispositivo precisa da sua própria configuração, com o seu próprio par de chaves.

Você gera a partir do arquivo de configuração que já tem: um QR code do WireGuard é simplesmente esse arquivo codificado como imagem. Rode qrencode -t ansiutf8 < wg0.conf para exibi-lo no terminal e escanear direto da tela, ou qrencode -o wg0.png < wg0.conf para salvar uma imagem. Como o código contém a chave privada, ele deve ser tratado como o próprio arquivo: nunca postado em lugar público.

Não. A chave privada é o que identifica o seu dispositivo na VPN, então qualquer pessoa com o arquivo pode se conectar como se fosse você. Ela nunca deve ser postada num chat, num fórum, num issue tracker ou num ticket de suporte, e o mesmo vale para um QR code ou um print do arquivo. Se uma configuração foi exposta, a solução é gerar um novo par de chaves e substituir o peer, e não torcer para que ninguém tenha lido.

Essa mensagem significa que o pacote de iniciação saiu e nada voltou, e o WireGuard não consegue dizer o motivo porque nunca recebeu resposta. Confira o host e a porta do Endpoint, confirme que a rede em que você está permite UDP de saída e verifique se a PublicKey em [Peer] é a chave do servidor, enquanto o servidor tem a chave pública que corresponde à sua chave privada. Se o mesmo arquivo funciona em outra rede, o arquivo está certo e a rede está filtrando UDP.

Esse padrão (handshake ok, ping ok, páginas web travando) quase sempre é MTU. Depois que o tráfego é encapsulado para o túnel, cada pacote fica maior, então pacotes que antes cabiam são descartados, e a mensagem que normalmente avisaria disso costuma ser filtrada. Adicione uma linha MTU em [Interface]: 1420 é o que o wg-quick calcularia numa conexão comum, e 1380 ou 1280 funcionam quando isso ainda é demais.

Não para usar um arquivo de configuração. O cliente faz uma conexão UDP de saída para o servidor, e a resposta volta pelo mapeamento que essa conexão cria, que é justamente o que o PersistentKeepalive mantém aberto. Só é preciso abrir uma porta no lado que roda o servidor WireGuard e precisa aceitar conexões de entrada.

Com um provedor que gera a configuração para você. Um serviço HytHost VPN, a partir de €0.99/mês, mostra na área do cliente uma seção WireGuard Configuration com um botão para copiar o texto da configuração e outro para baixar o arquivo pronto. A partir daí, é só importar no app do WireGuard em qualquer dispositivo, e a mesma página informa se o túnel está conectado no momento.

Um arquivo de configuração que é seu

A HytHost VPN te dá uma configuração do WireGuard que você baixa uma vez e importa em qualquer dispositivo: Windows, Android, iPhone, macOS, Linux ou o seu roteador. A partir de €0.99/mês.

Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours

Este guia foi útil?