Le versioni dei software che uso sono:
OPNsense: 23.7.10_1
AgDuard: v0.107.43
WireGuard: 2.5_2
Breve escursione: avendo un minipc sovradimensionato per il solo OPNsense e non volendo aggiungere altre scatolette in giro per casa per il solo AdGuard ho aggiunto il repository mimugmail che si occupa di distribuire alcune applicazioni da https://www.routerperformance.net/opnsense-repo/
Accedere in SSH al firewall, con l'opzione 8 attivare la shell ed eseguire il seguente comando:
Codice: Seleziona tutto
fetch -o /usr/local/etc/pkg/repos/mimugmail.conf https://www.routerperformance.net/mimugmail.conf
A differenza dei plugin ufficiali, però, questi andranno gestiti in modo diverso. Quindi fare riferimento alla documentazione disponibile online.
Dando, quindi, per scontato che AdGuard sia già correttamente configurato passare ad installare WireGuard selezionandolo dalla lista dei plugin.
Passare al menù VPN dove sarà comparsa la voce WireGuard e poi nel sottomenù Settings
Portarsi nella scheda Istances e crearne una nuova:
- Check su Enabled
- Name: quello che preferite
- In questa versione del plugin premere l'ingranaggio e verranno create le chiavi pubblica e privata
- Listen port: lasciate pure la porta di default 51820
- MTU: Se usate una connessione PPPoE mettete 1412 come da suggerimento
- DNS server: lasciate vuoto
- Tunnel address: inserite un ip di una rete privata (tipo 10.0.0.0, 172.16.0.0, 192.168.0.0)
- Depend on (CARP): lasciate default
- Peers: per ora lasciate vuoto, si popoleranno più tardi
- Disable routes/Gateway: lasciate vuoti se non per configurazioni particolari
Salvate
Passare alla scheda Peers e crearne uno per ogni client che volete si colleghi in VPN La chiave pubblica andrà generata con il client sullo smartphone, lo vedremo più avanti
Allowed IPs: inserite un ip nella stessa sottorete di quella che avete scelto in istances, ovviamente non usate lo stesso identico ip e deve essere diverso per ogni client. Ricordatevi il /32 alla fine.
Istances: si popola in automatico
Per ora salvate la modifiche fatte, attivate o riavviate il plugin.
Installate l'app WireGuard sullo smartphone e configuratelo come da immagine: Nome: quello che preferite
Chiave privata/pubblica: premete le freccette a lato, si genereranno da sole, segnatevi la chiave pubblica che andrà inserita nel corrispondente peer che avete creato nella fase precedente
Indirizzo: lo stesso che avere inserito in Allowed IPs
Server DNS: mettete l'indirizzo inserito nell'istance, non occorre il /24 alla fine
Nella chiave pubblica del Peer va inserita la chiave pubblica presente in Istances (quella che vi siete salvati in notepad nel primo passaggio)
Endpoint: l'indirizzo pubblico del vostro firewall. Io ho un Dynamic DNS quindi ho inserito quello seguito dalla porta
Ip consentiti: lasciate come di default
Ora mancano da configurare le regole del firewall.
Portiamoci nella zona delle regole del firewall per la nostra interfaccia WAN e creiamo una nuova regola come da screen:
- Azione: PASS
- Applica regola immediatamente
- Interfaccia: quella che usate come WAN
- Direzione: IN
- Versione TCP/IP: IPv4
- Protocollo: UDP
- Sorgente: Qualsiasi
- Destinazione: Indirizzi della rete WAN
- Destination port: 51820 o quella che avete scelto se non usate quella di default
- Descrizione: quello che preferite, utile per identificare nei log le attività riguardanti questa regola
Nel mio caso ho bisogno che i client che si collegano con WireGuard possano accedere a tutte le mie reti interne quindi ho creato una semplice regola:
- Azione: PASS
- Applica regola immediatamente
- Interfaccia: Quella che si è creata per WireGuard
- Direzione: IN
- Versione TCP/IP: IPv4
- Protocollo: qualsiasi
- Sorgente: Rete Wireguard
- Destinazione: qualsiasi, cambiare se volete restringere le destinazioni raggiungibili dai client WireGuard
- Descrizione: quello che preferite, utile per identificare nei log le attività riguardanti questa regola
Con questa semplice configurazione non ho riscontrato problemi.
Possibile che sia necessario variare qualcosa con le prossime versioni del plugin WireGuard e OPNsense ma una volta capito la logica del sistema non dovrebbe essere difficile adattarla alle proprie necessità