Nuovo peer WireGuard per un impianto¶
Tipo: modifica su pfSense (prod). Si esegue solo dentro un'attività approvata (per esempio MDM-002 per i box di prova).
Fonte: procedura scritta di Michele (raw/michele/UBUNTU - MDM/, ricevuta il 30/10/2026). Contesto della rete in pfsense-rete-vpn.md.
Le chiavi private, la PresharedKey e le configurazioni dei peer non vanno scritte in questa documentazione né in un repository. La configurazione completa di un peer si consegna solo all'impianto che la usa.
Prerequisiti¶
- Accesso al pannello di pfSense dalla VPN (
http://172.16.16.1/). - Un PC Windows con il client WireGuard, usato solo per generare la coppia di chiavi del nuovo peer.
- L'elenco degli IP già assegnati in
172.16.16.0/24, per scegliere il primo libero (oggi lo stesso dato è nel database del Raspberry di Michele e nei peer di pfSense: sorgenti-dati-installazioni.md).
1. Generare le chiavi¶
Nel client WireGuard di Windows: freccia accanto ad Aggiungi tunnel → Aggiungi tunnel vuoto (oppure CTRL + N). Il client genera chiave privata e pubblica. Copiare la chiave pubblica.
2. Creare il peer su pfSense¶
VPN → WireGuard → Peers → Add Peer:
| Campo | Valore |
|---|---|
| Tunnel | tun_wg0 (WG_VPN, la VPN degli impianti) |
| Description | nome del cliente |
| Keep Alive | 25 |
| Public Key | chiave pubblica del passo 1 |
| Pre-shared Key | Generate: una chiave nuova per il peer, da riportare nella configurazione del client |
| Allowed IPs | il primo IP libero in 172.16.16.0/24, in ordine progressivo |
Save Peer, poi Apply Changes in alto a destra.
3. Scrivere la configurazione del client¶
Completare nel client Windows il tunnel vuoto con questo modello e salvarlo come MyVPN.conf:
[Interface]
PrivateKey = <chiave privata generata dal client>
Address = <IP assegnato al passo 2>/24
DNS = 8.8.8.8
MTU = 1412
[Peer]
PublicKey = <chiave pubblica del tunnel tun_wg0, da pfSense>
PresharedKey = <chiave generata su pfSense al passo 2>
AllowedIPs = 172.16.16.1/32, 172.16.16.253/32, 172.16.16.254/32
Endpoint = receiver1.protexia24.com:51420
PersistentKeepalive = 25
AllowedIPslimita il tunnel a pfSense, ServerIT (.253) e.254: il box non manda nel tunnel traffico verso gli altri impianti. Non è un controllo del firewall: vedi pfsense-rete-vpn.md.- L'endpoint usa il nome
receiver1.protexia24.com, che deve continuare a puntare all'IP pubblico della VPN (185.31.66.186).
4. Installare la configurazione sul PC Ubuntu¶
sudo apt-get update
sudo apt-get install wireguard
sudo cp MyVPN.conf /etc/wireguard/MyVPN.conf
sudo systemctl enable --now wg-quick@MyVPN
sudo wg show # deve mostrare il peer con un "latest handshake" recente
Se dopo l'avvio del tunnel i nomi non si risolvono più (problema noto su Ubuntu con systemd-resolved):
sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo systemctl restart systemd-resolved.service
Verificare con nslookup o ping verso un dominio.
5. Controllo automatico della VPN¶
Sui PC con il progetto televigilanza-mdm (scheda) uno script controlla il tunnel ogni 5 minuti e avvisa la centrale:
- Verificare il nome del tunnel con
sudo wg show. - Verificare che esistano
/var/www/html/controls/vpn.she/var/www/html/controls/api/alert.php. sudo chmod +x /var/www/html/controls/vpn.shcrontab -ee aggiungere:
6. Dopo la creazione¶
- Annotare l'IP assegnato nell'inventario degli impianti (T0.5).
- Verificare dalla centrale che il nuovo IP risponda.
Limiti noti¶
- L'IP si sceglie a mano: due impianti con lo stesso IP sono già successi (un indirizzo duplicato nel database del Raspberry).
- Il DNS del tunnel è
8.8.8.8, un servizio esterno. - La procedura dipende da un PC Windows solo per generare le chiavi: si può fare anche con
wg genkeysul PC Ubuntu, ma non è la procedura in uso.