Wireguard e Firewalld
Abbiamo già visto WireGuard in tante salse ma oggi vi propongo una visione nuova; utilizzare WireGuard in combinazione con Firewalld per avere una gestione più attenta del traffico e delle porte esposte. Se sei un novizio delle vpn ti consiglio di recuperare gli articoli precedenti e il video su Yuotube.
Mani in pasta
WireGuard è una soluzione VPN moderna, veloce e sicura che sta guadagnando sempre più popolarità per la sua semplicità e prestazioni. In questo articolo, vedremo come configurare WireGuard in combinazione con firewalld per gestire le regole di rete in modo sicuro ed efficiente.
Installazione e configurazione di base
Prima di tutto, assicuriamoci di avere installato e configurato sia WireGuard che firewalld. Per Firewalld:
# dnf install firewalld -y
# systemctl enable --now firewalld
Verifica che firewalld sia attivo e funzionante:
# systemctl status firewalld
Installa i pacchetti necessari per WireGuard:
# dnf install wireguard-tools -y
Configurazione di WireGuard
Creiamo ora il file di configurazione di WireGuard. Di seguito un esempio per la nostra interfaccia VPN, wg0:
vim /etc/wireguard/wg0.conf
Ecco un esempio del file /etc/wireguard/wg0.conf:
[Interface]
Address = 172.16.0.1/24
ListenPort = 42408
MTU = 1492
PrivateKey = [La tuo private key qui]
PostUp = firewall-cmd --zone=public --add-port=42408/udp && firewall-cmd --zone=public --add-port=42408/udp --permanent
PostDown = firewall-cmd --zone=public --remove-port=42408/udp && firewall-cmd --zone=public --remove-port=42408/udp --permanent
[Peer]
PublicKey = [La public key del peer qui]
AllowedIPs = 172.16.0.3/32
Il parametro PostUp è utilizzato per aprire la porta UDP di WireGuard ogni volta che l’interfaccia viene attivata, mentre PostDown chiude la porta quando l’interfaccia viene disattivata.
Configurazione di firewalld
Ora vediamo come configurare firewalld per permettere il traffico attraverso la VPN e mascherare il traffico in uscita.
1) Creazione di una zona dedicata per la VPN
Per isolare meglio il traffico della VPN, creiamo una nuova zona in firewalld e associamola all’interfaccia wg0:
# firewall-cmd --new-zone=vpn --permanent
# firewall-cmd --permanent --zone=vpn --add-interface=wg0
# firewall-cmd --reload
2) Abilitazione del forwarding e del masquerading
Per permettere il forwarding del traffico tra le reti e mascherare il traffico in uscita dalla VPN, esegui i seguenti comandi:
# sysctl -w net.ipv4.ip_forward=1
# firewall-cmd --zone=vpn --add-forward --permanent
# firewall-cmd --zone=public --add-masquerade --permanent
Dopo queste modifiche, ricarica la configurazione di firewalld:
# firewall-cmd --reload
Avvio dell’interfaccia WireGuard
Ora che la configurazione di firewalld e WireGuard sono pronte, possiamo avviare l’interfaccia VPN:
# wg-quick up wg0
Per disattivarla:
# wg-quick down wg0
Se volessimo fare in modo che la VPN si attivi in automatico al riavvio del server configuriamo il servizio con systemd
# systemctl enable [email protected]
# systemctl daemon-reload
Verifica delle configurazioni
Puoi verificare lo stato di firewalld e assicurarti che le regole siano state applicate correttamente con:
# firewall-cmd --list-all --zone=vpn
# firewall-cmd --list-all --zone=public
Inoltre, verifica che WireGuard stia funzionando correttamente con:
# wg
Conclusione
Grazie a questa configurazione, WireGuard è ora configurato per gestire una VPN protetta attraverso firewalld, sfruttando il forwarding e il masquerading per consentire il traffico sicuro e isolato. È una configurazione flessibile e sicura che si adatta a vari scenari, dalla rete aziendale al routing di rete domestica.
Le opinioni in quanto tali sono opinabili e nulla ti vieta di approfondire l’argomento.
Risorse: