Configurazione del client VPN WireGuard su Mikrotik RouterOS
Come configurare MikroTik RouterOS come client VPN WireGuard
In questa guida viene descritto come configurare Mikrotik RouterOS come client per connettersi a un server WireGuard VPN. Prima di tutto, è importante sapere che il supporto alle impostazioni WireGuard in RouterOS è disponibile a partire dalla versione RouterOS 7.0. Puoi verificare la versione attuale del tuo RouterOS tramite l'interfaccia web del router o con il programma WinBox.
- Puoi verificare la versione attuale di RouterOS in System - RouterBOARD - Upgrade Firmware.

Se la versione di RouterOS è inferiore alla 7, è necessario aggiornare il dispositivo alla versione corrente.
Link utili:
- Dopo aver verificato/aggiornato RouterOS alla versione 7, devi scaricare la configurazione WireGuard. Seleziona l'ordine VPN desiderato nell'area clienti e scarica il file di configurazione.

- Il file scaricato avrà un nome simile a fnx-wg-79224.conf e conterrà quanto segue:

- Il passo successivo consiste nel caricare il file di configurazione sul dispositivo.
Seleziona il menu Files - Upload e indica il file di configurazione da caricare.


Il file di configurazione caricato apparirà nell'elenco dei file sul dispositivo.

Passiamo ora all'importazione della configurazione WireGuard e alla configurazione necessaria per un corretto instradamento del traffico attraverso la connessione VPN.
1. Importazione della configurazione WireGuard.
- Vai al menu WireGuard, seleziona WG Import, scegli la tua configurazione WG dall'elenco a discesa e clicca il pulsante WG Import.

- Dopo l'importazione riuscita della configurazione, WireGuard mostrerà Interface e Peer già configurati.


- Verrà inoltre assegnato un indirizzo IP all'interfaccia creata.

2. Creazione della tabella di routing per i pacchetti marcati del traffico VPN WireGuard.
Per impostazione predefinita, RouterOS utilizza la tabella di routing «main» per aggiungere rotte al FIB (Forwarding Information Base, la base informativa di inoltro usata per le decisioni di instradamento dei pacchetti, che contiene una copia delle informazioni di routing necessarie).
Avremo bisogno di una tabella di routing personalizzata, da definire nel menu Routing-Tables per aggiungere le rotte WireGuard al FIB.
Vai al menu Routing-Tables, premi +, compila il campo Name con il valore wg_mark e assicurati di spuntare la casella FIB.

3. Creazione delle liste di indirizzi e delle regole di marcatura dei pacchetti per il routing WireGuard VPN.
Per il routing marcato dell'interfaccia WireGuard è necessario creare delle Address Lists che verranno utilizzate dalla VPN WireGuard e una regola di marcatura dei pacchetti (Mangle). Queste varieranno in base alla modalità di tunneling del traffico VPN desiderata:
- Se vuoi il tunneling completo del traffico VPN — segui il punto 3.1 (tutti i siti si apriranno tramite VPN).
- Se hai bisogno di un tunneling selettivo, ad esempio per aggirare le restrizioni di accesso ad alcuni siti — segui il punto 3.2.
3.1 Tunneling completo del traffico VPN WireGuard su Mikrotik.
Ora prepareremo la lista degli indirizzi che utilizzeranno WireGuard. In caso di tunneling completo, è necessario specificare l'IP della rete locale del router, in modo che tutti i dispositivi connessi ad essa utilizzino WireGuard VPN per accedere ai siti.
Vai in IP-Firewall-Address Lists e premi +, poi compila i campi Name e Address. Nel campo Name inserisci full_wg, nel campo Address inserisci l'indirizzo IP della rete locale del router (192.168.88.0/24 per impostazione predefinita). Clicca OK.

Aggiungi una regola di marcatura dei pacchetti andando in IP-Firewall-Mangle, clicca +, poi compila i campi Chain, Src Address List, Action, New Routing Mark e clicca OK.


3.2 Tunneling selettivo del traffico VPN WireGuard su Mikrotik.
Per il tunneling selettivo, dovrai creare nuove liste di indirizzi in IP-Firewall-Address Lists analogamente al punto 3.1. In questi elenchi dovrai specificare i nomi dei siti o i loro indirizzi IP a cui accederai tramite VPN. Mikrotik riconosce autonomamente gli indirizzi dei siti specificati e aggiunge (aggiornando allo scadere del TTL) i loro IP nelle Address Lists.
Vai in IP-Firewall-Address Lists e premi +, poi compila i campi Name e Address. Nel campo Name inserisci block_wg, nel campo Address inserisci il nome del sito desiderato o il suo indirizzo IP. Clicca OK.
Per gli altri siti nei nuovi elenchi, dovrai specificare lo stesso Name usato per il primo, ma inserire in Address un nome di sito o IP diverso.

Aggiungi una regola di marcatura dei pacchetti andando in IP-Firewall-Mangle, clicca +, poi compila i campi Chain, Dst Address List, Action, New Routing Mark e clicca OK.


Dopo aver seguito la guida fino in fondo, verifica la tua VPN su https://2ip.io/ — mostrerà l'indirizzo IP del tuo server, poiché questa risorsa è stata inclusa nell'elenco sopra menzionato. Se apri https://whoer.net/ru, whoer mostrerà invece il tuo IP reale.
Se il sito bloccato non si apre ancora, aggiungi due voci nella lista degli indirizzi per lo stesso sito: una con www. e una senza www.
4. Creazione di una regola di routing per WireGuard VPN.
Crea una nuova regola di routing per l'interfaccia WireGuard con la tabella di routing creata in precedenza (sezione 2.3).
Per farlo, vai in IP-Routes, premi +, poi compila i campi Gateway, Distance, Routing Table.

È inoltre necessario abbassare la priorità del client DHCP predefinito.
Per farlo, vai in IP-DHCP Client, seleziona la voce del client DHCP esistente, cambia il valore del campo Add Default Route in Special Classless e imposta il valore Default Route Distance = 2 nella scheda Advanced.


Abilitazione della connessione WireGuard VPN in Firewall-NAT.
Per impostazione predefinita, il Firewall non gestisce la connessione dell'interfaccia WireGuard: è necessario aggiungere manualmente una regola di masquerade.
Per farlo, vai in IP-Firewall-Nat, clicca +, poi compila i campi Chain, Out. Interface, Action e clicca OK.


5. Aggiunta dell'interfaccia WireGuard alla lista WAN.
Vai in Interface - Interface list.

La configurazione di WireGuard su RouterOS è completata. Verifica la tua connessione VPN su https://whoer.net/ru o https://2ip.io/
6. Fix MTU per Mikrotik WireGuard (mss clamp to pmtu).
Se il tuo Mikrotik con WireGuard installato apre i siti lentamente o non ne apre alcuni, devi impostare il valore MTU corretto (come determinare la dimensione MTU ottimale?), oppure puoi utilizzare il fix MTU.
Info
Usa questo punto solo in caso di problemi gravi con il caricamento dei siti!
Apri la console Mikrotik cliccando New Terminal.

Esegui il seguente comando:
/ip firewall mangle
add action=change-mss chain=forward new-mss=clamp-to-pmtu out-interface=wg1 protocol=tcp tcp-flags=syn
Riavvia Mikrotik premendo il pulsante Reboot e poi Yes. In alternativa, usa il comando /system reboot nel terminale.
Verrà aggiunta la seguente regola IP-Firewall-Mangle, che risolve il problema di WireGuard lento e instabile su Mikrotik.

Info
Se hai difficoltà nella configurazione o hai domande aggiuntive, puoi sempre contattare il nostro team di supporto tramite il sistema di ticket.