WireGuard entre Arch Linux e MikroTik
🔍 Visão Geral
Estabelecer uma VPN persistente, segura e performável entre:
- lab.local: Notebook com Arch Linux (cliente)
- CHR MikroTik: Roteador virtualizado em um data center (servidor)
🎯 Objetivo: permitir acesso remoto ao `lab.local` por meio da infraestrutura da CHR, sem necessidade de redirecionamento de portas no roteador residencial.
🌐 Diagrama de Topologia
[ Notebook lab.local ] <====== VPN ======> [ CHR MikroTik no DC ]
10.10.121.2 (WireGuard) 10.10.121.1
Arch Linux MikroTik CHR🐧 Preparar o Arch Linux
Instalar o necessário
sudo pacman -S wireguard-tools networkmanager-openconnect openresolv --need --noconfirmGerar chaves no cliente (Arch Linux)
mkdir -p ~/lab-local/vpn
cd ~/lab-local/vpn
wg genkey | tee privatekey | wg pubkey > publickeyResultado:
privatekey→ chave privada do lab.localpublickey→ deve ser copiada para a CHR
No MikroTik CHR (CLI ou WinBox Terminal):
/interface wireguard
add name=wg-lab listen-port=51820
/ip address
add address=10.10.121.1/24 interface=wg-lab
Lembre-se de copiar a sua chave pública e colar o lugar de "CHAVE_PUBLICA_DO_LAB", mantendo as aspas.
/interface wireguard peers
add interface=wg-lab public-key="CHAVE_PUBLICA_DO_LAB" allowed-address=10.10.121.2/32No Arch Linux crie o arquivo de configuração da sua conexão do WireGuard
sudo nano /etc/wireguard/wg0.confCole as configurações abaixo no arquivo:
[Interface]
PrivateKey = CHAVE_PRIVADA_LAB
Address = 10.10.121.2/24
DNS = 1.1.1.1
[Peer]
PublicKey = CHAVE_PUBLICA_CHR
Endpoint = IP_PUBLICO_CHR:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25Substitua `CHAVE_PRIVADA_LAB` e `CHAVE_PUBLICA_CHR` pelos valores reais gerados no passo anterior.
Agora que tudo está configurado é hora de subir o túnel e validar as configurações.
wg-quick up wg0Para desativar use:
wg-quick down wg0Quando você subir o túnel você não conseguirá navegar na internet. O motivo é que você precisará criar uma regra de NAT na CHR para o IP 10.10.121.2 ou para a rede 10.10.121.0/24
Um exemplo que funciona comigo no Mikrotik para esses casos.
/ip firewall nat
add chain=srcnat src-address=10.10.121.0/24 out-interface=ether1 action=masqueradeCom as regras de NAT no Mikrotik já temos navegação na internet.
👩💻 Configurações para o lab.local
No Mikrotik cria a rota para a rede interna do Laboratório/Rede Local
/ip route add dst-address=192.168.56.0/24 gateway=10.10.121.2🌟 Resultado Esperado
- O
lab.localestá acessível remotamente via IP da CHR (10.10.121.2) - O Mikrotik (CHR) consegue acessar a rede local 192.168.56.0/24
- Conexões são seguras, criptografadas e persistentes
- O lab.local pode acessar internet através do datacenter (opcional)
😎 Dicas
Se desejar importar a conexão criada pelo terminal use:
sudo nmcli connection import type wireguard file /etc/wireguard/wg0.confPara tornar a conexão da vpn permanente use:
sudo systemctl disable wg-quick@wg0Para não sair para a internet modifique o arquivo /etc/wireguard/wg0.conf na linha AllowedIPs = 0.0.0.0/0 por AllowedIPs = 10.10.121.1/32.
[Interface]
PrivateKey = CHAVE_PRIVADA_LAB
Address = 10.10.121.2/24
DNS = 1.1.1.1
[Peer]
PublicKey = CHAVE_PUBLICA_CHR
Endpoint = IP_PUBLICO_CHR:51820
AllowedIPs = 10.10.121.1/32
PersistentKeepalive = 25Isso faz com que somente o tráfego destinado ao MikroTik (10.10.121.1) passe pelo túnel. Todo o resto (inclusive internet) segue pela rota local normal.

No comments to display
No comments to display