====== IPsec VPN Strongswan su Debian 11 Bullseye ======
===== Pacchetti da installare =====
* **strongswan** - Metapacchetto
* **strongswan-starter** - Demone per il parsing dei file di configurazione e l'avvio di strongSwan.
* **strongswan-charon** - Il demone **charon** supporta IPsec IKEv2, agisce da //initiator// o da //responder//.
==== Pacchetti da NON installare ====
Con questi pacchetti si otterrebbe una maggiore integrazione di charon con systemd, ma i file di configurazione vanno scritti con diversa sintassi, ecc. Se si installano i seguenti pacchetti si deve rimuovere il pacchetto ''strongswan'' e creare gli opportuni file di configurazione in ''/etc/swanctl/'':
* **charon-systemd** - Pacchetto che contiene i file systemd per charon.
* **strongswan-swanctl** - Contiene il tool **swanctl** per configurare il demone charon.
===== File di configurazione =====
* **/etc/ipsec.conf** - Generalmente le VPN sono aggiunte a questo file con clausole ''include''.
* **/etc/ipsec.secrets** - Generalmente le preshared key sono aggiunte a questo file con clausole ''include''.
* **%%/etc/ipsec.d/*.conf%%** - Generalmente ogni VPN ha un suo file di configurazione.
* **%%/etc/ipsec.d/*.secret.inc%%** - È possibile includere la PSK di ogni VPN con un opportuno file, con mode 0600.
Ecco un esempio di configurazione **/etc/ipsec.d/office1-office2.conf**:
conn office1-office2
auto=start
keyexchange=ikev2
authby=secret
left=145.18.51.38
leftsubnet=192.168.30.0/24
right=15.125.28.13
rightsubnet=192.168.100.0/24
ike=aes256-sha256-modp2048
esp=aes256-sha256-modp2048
aggressive=no
keyingtries=%forever
ikelifetime=86400s
lifetime=28800s
dpddelay=30s
dpdtimeout=120s
dpdaction=restart
#closeaction=restart
La PSK viene inserita in **/etc/ipsec.d/office1-office2.secret.inc**:
# ------- Site 1 Gateway (office1-office2) -------
145.18.51.38 15.125.28.13 : PSK "fc4955b9827bf8ca188b360495938165"
# ------- Site 2 Gateway (office1-office2) -------
15.125.28.13 145.18.51.38 : PSK "fc4955b9827bf8ca188b360495938165"
Il file di configurazione principale **/etc/ipsec.conf** deve contenere:
include /etc/ipsec.d/office1-office2.conf
Il file delle PSK **/etc/ipsec.secrets** deve contenere:
include /etc/ipsec.d/office1-office2.secrets.inc
===== Servizi System =====
Il pacchetto ''strongswan-starter'' fornisce il servizio **strongswan-starter.service**, per abilitarlo e avviarlo:
systemctl enable strongswan-starter.service
systemctl start strongswan-starter.service
:!: **ATTENZIONE** In **Debian 10** il servizio da avviare si chiamava **strongswan.service**.
===== Debug =====
ipsec statusall
Dovrebbe produrre qualcosa del genere:
...
Connections:
office1-office2: 145.18.51.38...15.125.28.13 IKEv2, dpddelay=30s
office1-office2: local: [145.18.51.38] uses pre-shared key authentication
office1-office2: remote: [15.125.28.13] uses pre-shared key authentication
office1-office2: child: 192.168.30.0/24 === 192.168.100.0/24 TUNNEL, dpdaction=restart
Security Associations (1 up, 0 connecting):
office1-office2[1]: ESTABLISHED 42 minutes ago,
145.18.51.38[145.18.51.38]...15.125.28.13[15.125.28.13]
...
Questi i processi che devono risultare in esecuzione:
ps uax | grep charon
... /usr/lib/ipsec/starter --daemon charon --nofork
... /usr/lib/ipsec/charon --debug-dmn 2 --debug-mgr 2 --debug-ike 2 --debug-chd 2