Vediamo come configurare una VPN road warrior con Wireguard tra due router Mikrotik e dietro rete CGNAT.
Nello scenario che andremo a vedere la sede che chiameremo SEDE A utilizza una connettività con IP Pubblico dinamico ed il Mikrotik in questa sede farà da “concentratore” VPN
La sede che chiameremo SEDE B utilizza una connessione 4G e quindi si trova dietro CGNAT. Il Mikrotik di questa sede sarà il nostro client road warrior Wireguard
Premessa
- Sul router Mikrotik della SEDE A deve esserci un servizio DDNS configurato e funzionante(scopri come fare by foisfabio.it)
- Entrambi i router Mikrotik devono avere RouterOS versione 7
Contenuti
Dispositivi utilizzati
- Mikrotik CHR – SEDE A
- Mikrotik map 2nD con chiavetta LTE Vodafone K5161 – SEDE B
Diagramma di rete
Sede A – Configurazione Wireguard Mikrotik CHR
Creazione interfaccia Wireguard
- Entriamo nel nostro Mikrotik tramite Winbox e rechiamoci nella sezione Wireguard
- Clicchiamo su +(Add) per aggiungere una nuova interfaccia Wireguard
- Configuriamo l’interfaccia:
- Name – wg-roadwarrior
- Listen Port – 42323
- Clicchiamo su Apply e salviamoci la Public Key che verrà generata, ci servirà nella creazione del peer sul Mikrotik map 2nDdella SEDE B
- Clicchiamo su OK
Assegnazione indirizzo IP interfaccia Wireguard
- Andiamo nel menù IP –> Addresses
- Clicchiamo su +(Add)
- Configuriamo l’indirizzo IP dell’interfaccia:
- Address – 172.16.16.1/30
- Interface – wg-roadwarrior
- Clicchiamo su Apply e poi su OK
Sede B – Configurazione Wireguard Mikrotik map 2nD
Creazione interfaccia Wireguard
- Entriamo nel nostro Mikrotik tramite Winbox e rechiamoci nella sezione Wireguard
- Clicchiamo su +(Add) per aggiungere una nuova interfaccia Wireguard
- Configuriamo l’interfaccia:
- Name – wg-roadwarrior
- Listen Port – 42323
- Clicchiamo su Apply e salviamoci la Public Key che verrà generata, ci servirà nella creazione del peer sul Mikrotik CHR della SEDE A
- Clicchiamo su OK
Assegnazione indirizzo IP interfaccia Wireguard
- Andiamo nel menù IP –> Addresses
- Clicchiamo su +(Add)
- Configuriamo l’indirizzo IP dell’interfaccia:
- Address – 172.16.16.2/30
- Interface – wg-roadwarrior
- Clicchiamo su Apply e poi su OK
Sede A – Aggiunta peer Wireguard Mikrotik CHR
Aggiungiamo ora il peer(client) sul Mikrotik andando nella sezione Wireguard –> Peers
Clicchiamo su +(Add) e procediamo alla configurazione del peer:
- Interface – scegliamo l’interfaccia creata prima wg-roadwarrior
- Public key – inseriamo la public key che abbiamo salvato prima, relativa all’interfaccia Wireguard del Mikrotik map 2nD
- Allowed Address – inseriamo l’IP dell’interfaccia remota del tunnel Wireguard 172.16.16.2 ed inseriamo la network della LAN remota che si trova dietro il Mikrotik map 2nD, 192.168.88.0/24
- Preshared Key – impostiamo su Auto
- Clicchiamo su Apply
- Dopo aver cliccato su Apply, nel campo Preshared Key verrà generata le chiave pre-condivisa. Salviamoci da qualche parte la preshared key perchè ci servirà quando configureremo il peer sul Mikrotik map 2nD della SEDE B
- Clicchiamo su OK
Regole Firewall Mikrotik CHR
Configuriamo ora la regola firewall per accettare le connessioni in ingresso per il tunnel Wireguard.
- Andiamo in IP –> Firewall
- Filter Rules
- Clicchiamo su + (Add)
- Configuriamo una rule nella chain di input che accetti il traffico in ingresso proveniente dall’interfaccia WAN(nell’esempio sotto è la pppoe-out1):
- Chain – input
- Protocol – UDP
- Dst. port – 42323
- In.interface – pppoe-out1
- Action – Accept
- Inseriamo un commento per una più facile identificazione della regola cliccando su Comment ed inseriamo un commento tipo: Accetta connessioni Wireguard
- Cliccare su OK
- Cliccare su Apply e poi su OK
Una volta creata la regola assicuriamoci che non sia preceduta da un eventuale regola di DROP come nell’esempio sotto
Selezioniamo la nostra regola di Accept e trasciniamola sopra a quella di DOP
Aggiunta Rotta statica Mikrotik CHR
Nel Mikrotik andiamo in IP –> Routes e clicchiamo su +(Add)
Configuriamo la rotta statica così:
- Dst. Address – 192.168.88.0/24
- Gateway – 172.16.16.2
- Clicchiamo su Apply e poi su OK
Sede B – Aggiunta peer Wireguard Mikrotik map 2nD
Aggiungiamo ora il peer sul Mikrotik map 2nD della SEDE B andando nella sezione Wireguard –> Peers
Clicchiamo su +(Add) e procediamo alla configurazione del peer:
- Interface – scegliamo l’interfaccia creata prima wg-roadwarrior
- Public key – inseriamo la public key che abbiamo salvato prima, relativa all’interfaccia Wireguard del Mikrotik CHR
- Endpoint – inseriamo il DDNS della SEDE A
- Endpoint port – inseriamo la porta di ascolto che abbiamo impostato sul Mikrotik CHR, 42323
- Allowed Address – inseriamo l’IP dell’interfaccia remota del tunnel Wireguard 172.16.16.1 ed inseriamo la network della LAN remota che si trova dietro il Mikrotik CHR, 192.168.150.0/24
- Preshared Key – inseriamo la preshared key che abbiamo generato precedentemente sul Mikrotik CHR durante la creazione del peer.
- Persistent Keepalive – impostiamo 25sec, 00:00:25
- Clicchiamo su Apply
- Clicchiamo su OK
Aggiunta Rotta statica Mikrotik map 2nD
Nel Mikrotik andiamo in IP –> Routes e clicchiamo su +(Add)
Configuriamo la rotta statica così:
- Dst. Address – 192.168.150.0/24
- Gateway – 172.16.16.1
- Clicchiamo su Apply e poi su OK
CGNAT e Mikrotik Wireguard road-warrior
Test di raggiungibilità tra le due sedi
SEDE A vs SEDE B
Verifichiamo ora la raggiungibilità dal Mikrotik CHR (Sede A) verso il Mikrotik map 2nD (Sede B)
Dal terminale del Mikrotik eseguiamo i comandi come da immagini sotto:
SEDE B vs SEDE A
Verifichiamo ora la raggiungibilità dal Mikrotik map 2nD (Sede B) verso il Mikrotik CHR (Sede A)
Dal terminale del Mikrotik eseguiamo i comandi come da immagini sotto:
Per ultimo verifichiamo la raggiungibilità tra due host delle due sedi:
Se l’articolo CGNAT Mikrotik Wireguard road-warrior è stato di tuo gradimento esprimi il tuo voto
Per non perderti i nuovi post unisciti al canale Telegram e WhatsApp
Se riscontri errori nell’articolo segnalalo tramite il modulo Contatti
grandissimo andrea! ho provato questa mattina e ha funzionato tutto al primo colpo senza intoppi! guida eccellente!