OPNsense + AdGuard + WireGuard

Qui si discute delle configurazioni di rete in generale incluse le problematiche con gli ISP e di come difendersi dalle minaccie informatiche

Moderatore: Moderatori

Rispondi
Avatar utente
master_of_mouse
Amministratore
Amministratore
Messaggi: 9914
behance Kuchnie Warszawa
Iscritto il: 23 apr 2003 02:00
Scheda madre: Asus M4A89GTD Pro/USB3
CPU: AMD Penom II X4 BE 965
Ram: 2x 8GB 1600MHz 9-9-9-24
Scheda video: AMD Radeon RX 650 4Gb
HD: 1x Samsung 256GB 850 Pro - 2x WD 1TB WD1002FAEX - 1x WD 3TB WD30EFRX
Alimentatore: Cooler Master Silent Pro Gold 600W
Raffreddamento: CPU Thermalright Macho HR-02 - VGA Artic Cooling Accelero S1 Plus
Sistema operativo: Windows 10 Pro
Monitor: 2x Samsung P2450

OPNsense + AdGuard + WireGuard

Messaggio da master_of_mouse »

In questo tipic descrivo come ho configurato il client WireGuard in OPNsense per lavorare insieme ad AdGuard e permettermi di filtrare la navigazione dei miei smartphone Android oltre che ad accedere ad alcuni servizi presenti nella mia LAN.

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
Tornando alla GUI di OPNsense in System -> Firmware -> Plugins troveremo altri plugin presenti nel nuovo repository che potremo installare come quelli ufficiali.
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:
istance.jpg
  • 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
Salvatevi in notepad la chiave pubblica
Salvate

Passare alla scheda Peers e crearne uno per ogni client che volete si colleghi in VPN
peer.jpg
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:
client.jpg
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:
firewall_rule_wan_2.jpg
firewall_rule_wan.jpg
  • 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
Poi vi servirà una nuova regola dall'interfaccia creatasi per WireGuard che permetta ai cliend di andare da qualche parte.
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:
firewall_rule_wan_2.jpg
firewall_rule_WG.jpg
  • 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
Finito.
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à
Rispondi