VPN

Como Configurar VPN WireGuard no MikroTik: Passo a Passo Completo

19 de Maio de 2025 · 10 min de leitura · Equipe Mikrosinc

O WireGuard chegou ao RouterOS na versão 7.1 e rapidamente se tornou o protocolo de VPN preferido para interligar roteadores MikroTik. É mais rápido que OpenVPN, mais simples que IPSec, usa criptografia moderna (ChaCha20, Curve25519, BLAKE2) e funciona mesmo em redes instáveis.

Neste tutorial, você vai configurar um túnel VPN WireGuard site-to-site entre dois roteadores MikroTik — um cenário clássico para interligar matriz com filial ou acesso remoto à rede de um cliente.

Pré-requisitos

Versão do RouterOS: use /system resource print para verificar. Se estiver na versão 6.x, o WireGuard não está disponível — é necessário atualizar para a série 7.x.

Arquitetura do túnel

No exemplo deste tutorial:

Configuração passo a passo

1

Gerar chaves no Roteador A

O WireGuard usa criptografia de chave pública. Cada peer precisa de um par de chaves privada/pública.

# No Roteador A — criar interface WireGuard
# O RouterOS gera automaticamente o par de chaves
/interface wireguard add \
  name=wg-site \
  listen-port=13231

# Visualizar a chave pública gerada
/interface wireguard print
# Anote o valor de "public-key" — você precisará dele no Roteador B
2

Gerar chaves no Roteador B

# No Roteador B — criar interface WireGuard
/interface wireguard add \
  name=wg-site \
  listen-port=13231

# Anote a chave pública do Roteador B também
/interface wireguard print
3

Adicionar endereços IP às interfaces de túnel

# No Roteador A
/ip address add \
  address=10.0.0.1/30 \
  interface=wg-site

# No Roteador B
/ip address add \
  address=10.0.0.2/30 \
  interface=wg-site
4

Configurar os peers (trocar chaves públicas)

Cada roteador precisa conhecer a chave pública do outro para autenticar a conexão.

# No Roteador A — adicionar Roteador B como peer
/interface wireguard peers add \
  interface=wg-site \
  public-key="CHAVE_PUBLICA_DO_ROTEADOR_B" \
  allowed-address=10.0.0.2/32,192.168.2.0/24 \
  persistent-keepalive=25

# No Roteador B — adicionar Roteador A como peer
/interface wireguard peers add \
  interface=wg-site \
  public-key="CHAVE_PUBLICA_DO_ROTEADOR_A" \
  endpoint-address=203.0.113.1 \
  endpoint-port=13231 \
  allowed-address=10.0.0.1/32,192.168.1.0/24 \
  persistent-keepalive=25

O persistent-keepalive=25 é essencial quando o Roteador B está atrás de CGNAT — mantém o mapeamento NAT ativo enviando um pacote a cada 25 segundos.

5

Configurar rotas para as redes remotas

# No Roteador A — rota para a rede do Roteador B
/ip route add \
  dst-address=192.168.2.0/24 \
  gateway=10.0.0.2

# No Roteador B — rota para a rede do Roteador A
/ip route add \
  dst-address=192.168.1.0/24 \
  gateway=10.0.0.1
6

Liberar porta WireGuard no firewall

# No Roteador A (o que recebe conexões)
/ip firewall filter add \
  chain=input \
  protocol=udp \
  dst-port=13231 \
  action=accept \
  comment="WireGuard VPN" \
  place-before=0

Verificar se o túnel está funcionando

# Verificar status do peer — "last-handshake" deve aparecer
/interface wireguard peers print

# Testar conectividade pelo túnel
/ping 10.0.0.2          # IP do túnel do Roteador B
/ping 192.168.2.1       # Gateway da rede do Roteador B

Se o last-handshake mostrar um timestamp recente (menos de 2 minutos) e o ping responder, o túnel está ativo.

Cenário CGNAT: ambos sem IP público

Quando nenhum dos dois roteadores tem IP público (ambos atrás de CGNAT), a conexão direta não é possível. As opções são:

  1. Contratar IP fixo — solução mais simples, custo adicional com a operadora
  2. VPS como relay — um servidor com IP público no meio, fazendo o papel de concentrador
  3. DDNS + port-forwarding no roteador da operadora — funciona em CGNAT leve (CGN sem mapeamento duplo)
  4. Plataforma com relay integrado — como o Mikrosinc, que provisiona automaticamente o túnel mesmo em CGNAT total sem exigir VPS ou IP fixo

Atenção: a grande maioria dos provedores de internet regionais no Brasil utiliza CGNAT (Carrier-Grade NAT) para economizar endereços IPv4. Se seus clientes estão nessa situação, o método de configuração manual acima não vai funcionar sem um relay externo.

Erros comuns e como resolver

Handshake não estabelece

Handshake estabelece mas ping não funciona

Túnel cai após alguns minutos

Configure WireGuard em centenas de roteadores em minutos

O Mikrosinc automatiza toda essa configuração — gera as chaves, provisiona os peers, configura as rotas e resolve CGNAT automaticamente. Para frotas de roteadores, o que leva horas manualmente leva segundos na plataforma.

Ver o VPN Orchestrator em ação