Come configurare Wireguard Server Mikrotik e OpenWrt Client

Nella seguente guida, ti illustrerò come configurare un protocollo VPN WireGuard su un router MikroTik e un client su OpenWrt.

Cos’è Wireguard?

Wireguard è un protocollo VPN in grado di farvi accedere con maggiore velocità di connessione alla rete internet. Wireguard è molto utile se si vuole sostituire il protocollo OPENVPN che a livello di velocità è meno performante. Inoltre come lo configuriamo noi in questa guida riusciamo a utilizzare anche fuori dal nostro appartamento i dispositivi di casa.

Cos’è OpenWrt?

OpenWrt è un firmware completamente OpenSource basato su Linux, questo firmware (sistema operativo per router), è in grado di darci molte funzionalità aggiuntive per i router compatibili.

Preparazione configurazione:

Se avete il router impostato di Default, bisogna accedere alla pagina o dal software winbox, oppure all’indirizzo: 192.168.88.1. Nel mio caso l’ip è stato sostituito con è 192.168.1.116. Per utilizzare questa tecnica fuori dalla rete LAN ovvero in WAN, occorre aprire la porta 13231 sul router principale che nel mio caso è un Router 5G con sim DENAT cioè Sim con IP Pubblico. Potete fare la stessa cosa anche con una rete di casa FFTC o FFTH. Basta entrare nelle impostazioni del router e aprire la porta descritta all’indirizzo LAN del router Wireguard Server Mikrotik che nel mio caso è 192.168.1.116, il vostro potrebbe essere 192.168.88.1 o quello che scegliete. Io ho usato la tecnica via modalità bridge anziché router ma la procedura è la stessa.

<<ATTENZIONE QUESTO SISTEMA WIREGUARD È UTILIZZABILE SUI DIPOSITIVI MIKROTIK A PARTIRE DALLA VERSIONE DEL FIRMWARE 7.1.>>

Configurazione Router Server:

Come primo obbiettivo, abbiamo bisogno di recarci sull’ip di appartenenza del router Mikrotik e accedere a 192.168.1.116 (nel mio caso). Io utilizzo Winbox per la procedura da utilizzare.

Iniziamo come prima regola a creare un interfaccia Wireguard, aprendo il terminale e con il seguente comando importare l’interfaccia:

/interface/wireguard add listen-port=13231 name=wireguard1

Ora abbiamo bisogno di importare il comando per dare l’indirizzo ip all’interfaccia wireguard:

/ip address add address=192.168.100.1/24 interface=wireguard1

Per evitare le scambi di chiavi e rischiando di essere intercettate vi consiglio di usare Wireguard su windows e creare la configurazione per il nostro router openwrt client. Quindi ora apriamo Wireguard su PC (solo per tenerci nota delle configurazioni client), e clicchiamo su <<Aggiungi nuovo tunnel vuoto>>.

Non resta che dare un nome alla nostra configurazione e poi copiare la chiave pubblica in questo comando che vedete:

[Interface] 
PrivateKey = gNnEeXoG8pPGhbkeH9kmyaGEOXBqgKJPMZozBfpiyGE=
Address = 192.168.100.2/32 
ListenPort= 13231 
DNS = 8.8.8.8 
[Peer] 
PublicKey = KPLCJuSADFcaO7ORX5BuPDCFFGECwpWHlChY1KzQNFQ=  (esempio dell'immagine superiore)
AllowedIPs = 0.0.0.0/0 
Endpoint = ip pubblic:13231

Premete su Salva per salvare la modifica apportata.

Copiate il seguente comando per creare un IP client, con la relativa chiave pubblica di Wireguard su PC nel mio caso:

KPLCJuSADFcaO7ORX5BuPDCFFGECwpWHlChY1KzQNFQ=

/interface wireguard peers add allowed-address=192.168.100.2/32 interface=wireguard1 public-key="<paste public key from remote device here>"

Nel mio caso:

/interface wireguard peers add allowed-address=192.168.100.2/32 interface=wireguard1 public-key="KPLCJuSADFcaO7ORX5BuPDCFFGECwpWHlChY1KzQNFQ="

In questi campi dobbiamo inserire nel campo Peer su Wireguard windows, la chiave pubblica generata da Wireguard per vederla occorre andare in Winbox o Browser web, nel campo Wireguard nell’interfaccia facciamo doppio click e copiamo la chiave pubblica come in figura:

Adesso nella sezione Wireguard di Winbox oppure del WebBrowser clicchiamo su <<Peer>> nei campi richiesti:

EndPoint: IP pubblico (pubblic ip)

EndPoint Port: 13231

Configurazione Wireguard Client OpenWrt:

Se avete OpenWrt impostato di Default, bisogna accedere alla pagina del router OPENWRT all’indirizzo: 192.168.1.1. Io nel mio caso avendo già la classe ip 1.1. OpenWrt Wireguard Client ho lasciato la wan attiva ottenendo comunque i risultati che volevo, ovvero accedere a i miei dispositivi nella LAN da remoto. 

Come primo obbiettivo, abbiamo bisogno di recarci sull’ip di appartenenza del router OpenWrt e accedere a 192.168.2.1. Appena entrati bisogna installare sul router il pacchetto luci-app-wireguard, per farlo occorre andare su <<System>> poi su <<Software>> infine premere su <<Update List>>.

Attendere l’aggiornamento del repository, e infine vedrete scritto <<Signature check passed>>, se per caso vi mostra error 6: occorre andare in <<Interface>> poi sull’interfaccia <<LAN>> premere EDIT, successivamente premere su <<Advance Setting>> e infine impostare i DNS vi consiglio quelli di Google ovvero 8.8.8.8 e 8.8.4.4 premete poi <<Save>> poi <<Save & Apply>>, se vi mostra ancora l’errore basta cliccare sull’interfaccia <<LAN>> il tasto <<Restart>> e riprovare.

Ora cerchiamo nel campo di ricerca <<luci-app-wireguard>> e premiamo sul tasto Install per installare i pacchetti che servono. A questo punto riavviate il router per fare installare correttamente l’installazione.

Rechiamoci ora in <<Network>> —> <<Interface>> e premiamo su <<Add interface>>.

Scriviamo ora nel campo nella nuova interfaccia quello che vogliamo io la chiamo con il nome Wireguard e protocollo mi raccomando impostate <<Wireguard VPN>>. Premete su <<Create interface>>.

I campi che sono evidenziati sono quelli da modificare, quindi, in Protocol impostate <<Wireguard VPN>>. Successivamente dobbiamo importare i dati creato prima su PC dal programma Wireguard. Ora cliccate su <<Load Configuration>> nel campo vuoto di testo inserite la prima parte dell’interface ovvero dell’interfaccia di Wireguard, poi premere su <<Import setting>>.

Ora spostatevi su <<Firewall Settings>> e selezionate wan come interfaccia (colore rosso).

[Interface] 
PrivateKey = gNnEeXoG8pPGhbkeH9kmyaGEOXBqgKJPMZozBfpiyGE=
Address = 192.168.100.2/32 
ListenPort= 13231 
DNS = 8.8.8.8 

Ora per importare i Peers occorre spostarsi sulla sezione <<Peers>> cliccare su <<Add Peer>> e importare i dati a mano come nella mia foto. Non utilizzate l’opzione per caricare perché vi chiede la chiave privata che a noi non serve in questo caso inserirla.

Compilate come vedrete in foto il resto dei dati <<Peer>> rimasti sull’interfaccia Wireguard su Windows, in pratica questi campi:

[Peer] 
PublicKey = KPLCJuSADFcaO7ORX5BuPDCFFGECwpWHlChY1KzQNFQ=  (esempio dell'immagine superiore)
AllowedIPs = 0.0.0.0/0 

Route Allowed IP's= Abilitato
Endpoint = ip pubblic:13231 (qui ip pubblico della vostra connessione)

Configurazione Firewall:

Ora dobbiamo configurare il settaggio del firewall per consentire che la richiesta in uscita vada eseguita correttamente per farlo occorre digitare i seguenti comandi:

/ip firewall filter
 add action=accept chain=input comment="allow WireGuard" dst-port=13231 protocol=udp

/ip firewall filter add action=accept chain=input comment="allow WireGuard traffic" src-address=192.168.100.0/24/interface list member add interface=wireguard1 list=LAN

Ora dobbiamo impostare il NAT per fare uscire la connessione LAN dalla WAN per farlo occorre andare in <<IP>> poi su <<Firewall> selezionare <<NAT>, e poi sul tasto +. A questo punto occorre inserire i campi richiesti.

Spostatevi su <<Action>> e selezionate <<src-nat>> poi in <<To Address>> mettere l’ip del router che nel mio caso è 192.168.1.116. Premiamo su Applica e ok per confermare.

A questo punto, la configurazione è terminata. Basta collegare questo router OpenWrt a una seconda rete al di fuori di questo indirizzo IP, e la configurazione sarà completa. Ecco il mio risultato con la connessione in Wi-Fi esteso tramite l’Hotspot del telefono: vedo i miei dispositivi sotto una rete hotspot e riesco a collegarmi allo stesso indirizzo IP di casa.

ECCO IL RISULTATO:

Riesco ad accedere al mio router mikrotik con l’hotspot in wifi-extended in questa modalità del router supportando Wireguard.