WireGuard su pfSense: setup

WireGuard su pfSense: setup

pfSense, distribuzione firewall basata su FreeBSD, supporta WireGuard tramite il pacchetto ufficiale dalla versione 2.5.2 in poi. È una scelta solida per implementare road warrior VPN e collegamenti site-to-site da una sede principale a sedi remote.

Installazione del pacchetto

WireGuard su pfSense può essere installato dal menu System > Package Manager > Available Packages cercando WireGuard. Una volta installato compare la voce VPN > WireGuard con tre tab principali: Tunnels, Peers e Settings.

Procedura passo-passo

  1. Da System > Package Manager installa il pacchetto WireGuard e attendi la conferma.
  2. Vai in VPN > WireGuard > Tunnels e crea tun_wg0 con listen port 51820, generando le chiavi.
  3. Assegna un'IP interno tunnel come 172.16.50.1/24 sotto Addresses.
  4. Vai in Interfaces > Assignments e assegna tun_wg0 come interfaccia WAN_WG, poi abilitala.
  5. Crea regole firewall su Interfaces > WireGuard per consentire traffico in entrata dai peer.
  6. Aggiungi NAT outbound in modalita ibrida per la subnet 172.16.50.0/24.
  7. In VPN > WireGuard > Peers aggiungi ogni client con public key e allowed IPs.
  8. Genera la configurazione client manualmente o usa il pacchetto pfSense WireGuard QR helper se disponibile.

Site-to-site pfSense

Per collegare due pfSense via WireGuard: su entrambi crea tunnel reciproco con public key dell'altro, allowed IPs con la subnet LAN remota, e endpoint pubblico. Verifica firewall su entrambi i lati che consenta UDP sulla porta WireGuard. La rotta statica è tipicamente automatica grazie all'AllowedIPs, ma in alcuni scenari complessi va aggiunta manualmente in System > Routing.

Failover e gateway groups

pfSense permette di creare Gateway Groups per failover: configura due tunnel WireGuard verso provider diversi o sedi diverse, raggruppali in un Gateway Group con tier 1 e tier 2. Crea policy-based routing per ridirigere traffico critico via gateway primario con fallback automatico. Monitora connettivita con dpinger già integrato.

Caveat e troubleshooting

Errori comuni in pfSense WireGuard: dimenticare di assegnare l'interfaccia (Interfaces > Assignments), non creare regole firewall sulla nuova interfaccia, NAT outbound non configurato per la subnet tunnel. Il log in Status > System Logs > System > General mostra eventi WireGuard. Per debug puro abilita level Debug nel pacchetto WireGuard impostazioni.

OpenVPN coesistenza

pfSense può eseguire WireGuard e OpenVPN simultaneamente, su porte diverse, senza conflitti. Strategia comune: WireGuard per smart workers (performance), OpenVPN per dispositivi legacy che non supportano WireGuard. Documenta indirizzamento (subnet diverse per ogni VPN) e regole firewall separate. Monitora entrambi via Dashboard > VPN status widget.

Performance tuning su pfSense

Su hardware modesto pfSense WireGuard può essere CPU-limited. Tuning: aumenta dimensioni socket UDP via System > Advanced > Networking > UDP receive buffer; usa ChaCha20 implicito in WireGuard che e ottimizzato per CPU senza AES-NI; abilita Hardware CRC offloading dove supportato. Misura con iperf3 tra due endpoint per quantificare benefici.

Best practice di sicurezza

Indipendentemente dalla soluzione VPN scelta, alcune regole valgono sempre: usa chiavi e certificati robusti (RSA 2048+ o ECC P-256+, chiavi WireGuard generate con tool ufficiali), aggiorna regolarmente sia il software server sia i client, applica patch security non appena rilasciate, monitora i log per identificare attività anomale, ruota le credenziali periodicamente, segmenta la rete in modo che il tunnel non dia accesso indiscriminato a tutta la LAN aziendale, e formalizza una policy di disaster recovery con backup delle configurazioni. La VPN protegge il tunnel in transito ma non sostituisce hygiene di sicurezza degli endpoint: combina con MFA, EDR, patching aggressivo e formazione utenti per ottenere una postura di sicurezza completa.

Monitoring e osservabilita

Una VPN che non viene monitorata è una VPN che non sai se funziona. Raccogli metriche minime: numero di sessioni attive, latenza media end-to-end, percentuale di handshake riusciti vs falliti, throughput aggregato, geolocazione client. Strumenti come Prometheus + Grafana, Zabbix, PRTG o stack ELK forniscono dashboard utili. Configura alert proattivi su soglie critiche: tunnel down per oltre N minuti, picchi anomali di tentativi di autenticazione falliti, traffico fuori orario. In ambito aziendale integra con SIEM per correlazione cross-system e response automatica. Il monitoring continuo trasforma la VPN da componente passiva a infrastruttura osservabile e tunable nel tempo.

Documentazione e procedure operative

Documenta sempre l'architettura VPN come la documentereresti per un nuovo collega che la prende in carico domani: diagramma di rete, IP scheme, chiavi/certificati e dove sono custoditi, procedure di onboarding e revoca utenti, processi di rotazione chiavi, runbook per incidenti comuni (tunnel giu, latency anomala, certificato scaduto), responsabilità ownership. Conserva la documentazione in un wiki interno (Confluence, BookStack, GitBook) versionato e con backup. Quando un membro del team lascia, basta passare il riferimento alla documentazione: continuita operativa garantita anche con turnover.

Errori comuni e come risolverli

  • Tunnel attivo ma non passa traffico: manca regola firewall sulla nuova interfaccia o NAT outbound mal configurato.
  • Errore service stopped: verifica che tun_wg0 sia abilitato e che le chiavi non contengano spazi extra.
  • DNS non funziona: configura DNS Resolver per ascoltare anche sull'interfaccia WireGuard e crea outbound NAT specifico.
  • Tunnel site-to-site asimmetrico: controlla che allowed IPs in entrambi i lati includano correttamente le subnet remote.

Domande frequenti

D: WireGuard rallenta pfSense?
R: Su CPU recenti l'impatto e minimo; su hardware embedded vecchio (Atom) può fermarsi sotto i 100 Mbps.

D: Posso usare WireGuard insieme a OpenVPN?
R: Si, possono coesistere senza conflitti su porte diverse.

D: Come faccio ad alta disponibilità?
R: Con CARP+pfsync su due pfSense, WireGuard funziona ma serve script di failover per le chiavi.

Hai bisogno di aiuto?

Se vuoi configurare VPN aziendale con G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?