Pfsense Wireguard Road Warrior

Pfsense Wireguard Road Warrior VPN
5
(1)

Hai un firewall basato su Pfsense e vorresti accedere da remoto alla tua rete LAN aziendale in modo sicuro tramite una VPN ? In questa guida scoprirai come farlo configurando su Pfsense una VPN Wireguard Road Warrior.

Requisiti

  • Pfsense installato e già configurato per l’accesso ad Internet
  • IP Pubblico statico o Dinamico con servizio DDNS (per configurare un DDNS su Pfsense leggi questa guida)

Intasllazione del package Wireguard

Entriamo nel nostro Firewall Pfsense e rechiamoci nel menù Sistema e poi sulla voce Gestore pacchetti

Selezioniamo la voce Pacchetti disponibili ed attendiamo che il sistema ci mostri tutti i pacchetti disponibili per l’installazione.

Una volta che i pacchetti disponibili saranno visualizzati, aiutandoci con il campo di Ricerca, cerchiamo il package Wireguard e procediamo ad installarlo cliccando su +Install

Confermiamo nuovamente di voler installare il pacchetto cliccando su Conferma

Configurazione interfaccia Wireguard

Ora che il pacchetto Wireguard è installato possiamo procedere alla configurazione dell’interfaccia Wireguard.

Andiamo nel menù VPN e clicchiamo su WireGuard

Ci troveremo nella pagina dei tunnel Wireguard e procediamo a creare un nuovo tunnel cliccando sulla voce +Add Tunnel.

Procediamo alla configurazione del tunnel:

  1. Abilita – Verifichiamo che il tunnel sia abilitato
  2. Descrizione – Inseriamo una descrizione per questo tunnel
  3. Listen port – Inseriamo una porta sulla quale sarà di ascolto il tunnel
  4. Clicchiamo su Generate per generare una coppia di chiavi Pfsense Wireguard
  5. Interface Addresses – Assegniamo un indirizzo all’interfaccia di Wireguard
  6. Clicchiamo su Save Tunnel

Salviamo la PublicKey. Ci servirà durante la configurazione del client(peer)

Abilitiamo il servizio Wireguard

Andiamo sulla voce Impostazioni e procediamo con:

  • Abilitare il servizio Wireguard
  • Deseleziona le voci Hide Secrets e Hide Peers
  • Clicchiamo su Salva
  • Clicchiamo su Applica le modifiche

Aggiunta Peer

Procediamo ora con l’aggiunta di un peer.

Ogni peer necessita della propria coppia di chiavi pubblica/privata ma pfsense non mette a disposizione uno strumento per la generazione delle chiavi durante la fase di creazione del peer.

Abbiamo 2 modi per generare la coppia di chiavi per il nostro peer:

  1. tramite il tool presente a questo link
  2. tramite Pfsense creando un nuovo tunnel e copiandoci la coppia di chiavi che verrà generata

Procediamo con la seconda opzione quindi rechiamoci nuovamente sul menù Tunnel, clicchiamo su +Add Tunnel e generiamo una coppia di chiavi cliccando sul tasto Generate.

Salviamo da qualche parte sia la private key che la public key, ci serviranno più avanti

Generazioni chiavi per il peer pfsense
Generazioni chiavi per il peer

Torniamo alla creazione del peer cliccando su Peers e poi su +Add Peer e procediamo a configurare i campi sotti:

  • Abilita – selezionato
  • Tunnel – selezioniamo il tunnel creato precedentemente
  • Descrizione – diamo una descrizione al peer
  • Dynamic Endpoint – selezionato
  • Keep Alive – 25
  • Public Key – la chiave pubblica che abbiamo generato e copiato al passaggio precedente
  • Pre-shared Key – possiamo generare una chiave pre-condivisa per aumentare il livello di sicurezza. Clicchiamo su Generate e poi copiamoci la chiave generata
  • Allowed IPs – Assegniamo un IP al nostro peer ed inseriamo una descrizione. Ed. Laptop
  • Clicchiamo su Save peer
  • Clicchiamo su Applica le modifiche

Verifichiamo lo stato del tunnel Wireguard su Pfsense

Verifichiamo se il tunnel è up cliccando su Stato

Assegniamo l’interfaccia Wireguard

Andiamo nel menù Interfacce –> Assegnazioni

Ci troveremo nelle porte di rete disponibili una situazione simile con un’interfaccia da assegnare. Nel mio caso viene chiamata tun_wg0

Clicchiamo su +Aggiungi

Una volta aggiunta clicchiamo sul nome dell’interfaccia che nel mio caso si chiama OPT1 e procediamo a configurarla come da esempio sotto.

Abilitiamo l’interfaccia ed assegniamo lo stesso indirizzo IP che abbiamo dichiarato prima nella creazione del Tunnel Wireguard

Rinominiamo anche l’interfaccia OPT1 con un nome che ci permette di identificarla più facilmente

Infine clicchiamo su Salva e poi su Applica le modifiche

Configuriamo le regole Firewall

Regola firewall per accettare le richieste sulla porta WAN

Rechiamoci nel menù Firewall –> Regole

Andiamo sulla nostra interfaccia WAN e clicchiamo sul tasto Aggiungi (quello con la freccia rivolta verso l’alto)

Compiliamo le voci seguenti in questo modo:

  • Azione – consenti
  • Interfaccia – WAN
  • Indirizzo Famiglia – IPV4
  • Protocollo – UDP
  • Origine – Qualsiasi
  • Destinazione – WAN address
  • Intervallo porta di destinazione – altro, 55128, altro, 55128
  • Descrizione – Accetta traffico Wireguard

Cliccare su Salva e poi su Applica le modifiche

Regola firewall per l’interfaccia Wireguard

Rechiamoci nel menù Firewall –> Regole

Andiamo sulla nostra interfaccia Wireguard clicchiamo sul tasto Aggiungi (quello con la freccia rivolta verso l’alto)

Compiliamo le voci seguenti in questo modo:

  • Azione – Consenti
  • Interfaccia – WireGuard
  • Indirizzo Famiglia – IPV4
  • Protocollo – Qualsiasi
  • Origine – Qualsiasi
  • Destinazione – Qualsiasi
  • Descrizione – Permetti tutto il traffico Wireguard

Cliccare su Salva e poi su Applica le modifiche

Configuriamo i client(peer)

Apriamo un editor di testo come Blocco Note e copiamo il contenuto sotto.

Rinominiamo il file con estensione .conf

Attenzione:

  • Endpoint Inserite il vostro DDNS o IP Pubblico statico
  • PublicKey – Inserite la chiave pubblica del tunnel che abbiamo creato e salvato all’inizio
[Interface]
PrivateKey = qMZ3XDeyyb5QosFbrZF6mhpBnKl24EBSq75Ao5r7a1o
Address = 172.16.100.10/32
DNS = 1.1.1.1

[Peer]
PublicKey = /SKGD1tnfLzc8nzHYChNdmAA+SLk/GYoO7F2371RIwA=
PresharedKey = lpUior2s21PHiQ6fN3vgEYo+gvGkkm6ckJcX8PERa1A=
AllowedIPs = 0.0.0.0/0
Endpoint = IP_PUBBLICO_O_DDNS:55128
PersistentKeepalive = 25

Client Wireguard VPN su dispositivo Windows

Scaricare il client dal sito ufficiale e procedere con l’installazione.

Una volta installato aprire l’applicazione cliccare sulla freccia di fianco la scritta Aggiungi tunnel e poi cliccare su Importa tunnel da file.

Selezioniamo il file di configurazione creato allo step precedente

Una volta importato il profilo il client apparirà come sotto.

Clicchiamo sul tasto Attiva e verifichiamo che il tunnel venga instaurato verificando che i pacchetti sia TX che RX incrementano

Test raggiungibilità Pfsense Wireguard Road Warrior

Ora testiamo la raggiungibilità da remoto delle risorse presenti nella nostra rete LAN.

Apriamo il prompt di Windows e proviamo a fare un ping verso un host presente nella nostra LAN, in questo caso verso 192.168.158.251.

Split-Tunnel vs. Full-Tunnel VPN

La configurazione che abbiamo appena visto di Wireguard sul clien è di tipo Full-Tunnel in quanto tutto il traffico generato dai peer(client) Wireguard passerà attraverso il nostro Pfsense.

Se volessimo invece una configurazione Split-Tunnel che ci permette di far passare attraverso il tunnel VPN solo il traffico destinato a specifiche network, dobbiamo modificare nel file di configurazione del client la direttiva AllowedIPs e specificare la/le network che saranno raggiungibili tramite il tunnel VPN Wireguard.

Nell’esempio sotto, le network raggiungibili tramite il tunnel sono:

  • 192.168.158.0/24
  • 172.16.100.0/24
[Interface]
PrivateKey = qMZ3XDeyyb5QosFbrZF6mhpBnKl24EBSq75Ao5r7a1o
Address = 172.16.100.10/32
DNS = 1.1.1.1

[Peer]
PublicKey = /SKGD1tnfLzc8nzHYChNdmAA+SLk/GYoO7F2371RIwA=
PresharedKey = lpUior2s21PHiQ6fN3vgEYo+gvGkkm6ckJcX8PERa1A=
AllowedIPs = 192.168.158.0/24,172.16.100.0/24
Endpoint = IP_PUBBLICO_O_DDNS:55128
PersistentKeepalive = 25

Se l’articolo Pfsense Wireguard Road Warrior è stato di tuo gradimento esprimi il tuo voto

Per non perderti i nuovi post entra nel canale Telegram e WhatsApp

Se riscontri errori nell’articolo segnalalo tramite il modulo Contatti

Ti è stato utile questo post?

Clicca sulla stella per votare!

Voto medio 5 / 5. Numero voti: 1

Nessun voto finora! Sii il primo a valutare questo post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *