Se acompanha as novidades em infraestrutura de redes, sabe que o lançamento do RouterOS v7 da MikroTik trouxe uma das features mais aguardadas pela comunidade: o suporte nativo ao WireGuard.

Adeus às configurações infinitas do IPsec e ao peso do OpenVPN no processamento do roteador. O WireGuard atua diretamente no kernel, o que significa que até mesmo equipamentos de entrada (como uma hEX ou hAP ac2) conseguem fechar túneis VPN com velocidades assustadoras e baixíssima latência.

Neste tutorial, vamos configurar um servidor VPN WireGuard no MikroTik para acesso remoto de utilizadores (Client-to-Site), permitindo que os colaboradores acedam à rede interna da empresa com máxima performance.

Pré-requisitos

  • Um roteador MikroTik rodando o RouterOS v7 ou superior.

  • IP Público válido no MikroTik (para que os clientes o encontrem na internet).

  • Winbox ou acesso via Terminal.

Passo 1: Criar a Interface WireGuard

No WireGuard, tudo gira em torno de chaves públicas e privadas. Ao criar a interface no MikroTik, ele gera este par de chaves automaticamente.

Pelo terminal do MikroTik, execute:

Snippet de código
/interface wireguard
add listen-port=13231 mtu=1420 name=wireguard1
  • listen-port=13231: É a porta UDP que o MikroTik vai escutar. Pode escolher outra, mas anote-a.

  • Dica da Trincheira: Abra a interface gráfica (Winbox), vá a WireGuard, clique na interface criada e anote a Public Key. Precisará dela para configurar os clientes.

Passo 2: Atribuir um Endereço IP à Interface VPN

O WireGuard precisa da sua própria sub-rede. Não use a mesma faixa de IP da sua rede local (LAN). Vamos usar a rede 10.255.255.0/24. O MikroTik será o gateway dessa rede (10.255.255.1).

Snippet de código
/ip address
add address=10.255.255.1/24 interface=wireguard1 network=10.255.255.0

Passo 3: Liberar a Porta no Firewall

De nada adianta o serviço estar a rodar se o firewall do RouterOS estiver a bloquear conexões externas. Precisamos de permitir o tráfego de entrada na porta UDP escolhida (13231).

Snippet de código
/ip firewall filter
add action=accept chain=input dst-port=13231 protocol=udp place-before=1 comment="Permitir WireGuard"

(Certifique-se de que esta regra de accept fica acima da regra geral de drop na chain de input).

Passo 4: Criar o Peer (O Cliente)

Diferente do OpenVPN ou IPsec, no WireGuard não criamos "utilizadores e senhas", criamos Peers (pares). Para criar o Peer no MikroTik, precisa primeiro de instalar o cliente WireGuard no dispositivo remoto (Windows, Linux, iOS, Android) e gerar as chaves lá.

Supondo que o cliente remoto gerou uma Public Key, vamos adicioná-la ao MikroTik e atribuir-lhe o IP 10.255.255.2:

Snippet de código
/interface wireguard peers
add allowed-address=10.255.255.2/32 interface=wireguard1 public-key="CHAVE_PUBLICA_DO_CLIENTE_AQUI=" comment="Notebook do Suporte"
  • allowed-address: É fundamental usar /32 no MikroTik para especificar que apenas este cliente em particular usará este IP.

Passo 5: Permitir Roteamento e Acesso à Rede Local

Para que o cliente (agora conectado) consiga pingar e aceder aos servidores na LAN do MikroTik (ex: 192.168.88.0/24), pode ser necessário ajustar o firewall ou fazer um NAT. A forma mais simples (se não tiver rotas estáticas na sua rede apontando de volta para o IP da VPN) é fazer um Masquerade do tráfego da VPN para a LAN:

Snippet de código
/ip firewall nat
add action=masquerade chain=srcnat src-address=10.255.255.0/24 out-interface-list=LAN comment="NAT WireGuard para LAN"

Passo 6: A Configuração no Lado do Cliente

No software cliente do WireGuard (no computador do utilizador), a configuração será algo como isto:

Ini, TOML
[Interface]
PrivateKey = (chave privada gerada no cliente)
Address = 10.255.255.2/24
DNS = 8.8.8.8, 1.1.1.1

[Peer]
PublicKey = (CHAVE_PUBLICA_DO_MIKROTIK)
Endpoint = IP_PUBLICO_DO_MIKROTIK:13231
AllowedIPs = 10.255.255.0/24, 192.168.88.0/24
PersistentKeepalive = 25
  • AllowedIPs: Define qual tráfego será enviado pelo túnel. No exemplo acima, apenas o tráfego para a própria VPN e para a rede local da empresa. Se quiser que toda a internet do cliente passe pela empresa, use 0.0.0.0/0.

Resumo da Ópera: Com 5 linhas de comando no MikroTik, subimos uma VPN de nível Enterprise, sem as dores de cabeça do IPsec. O handshake do WireGuard é praticamente instantâneo e a conexão é extremamente estável.

Já atualizou os seus roteadores de borda para o RouterOS v7 apenas para usar o WireGuard ou ainda está preso no legado? Partilhe a sua experiência!