In questo articolo vedremo come configurare nftables per escludere il traffico della rete locale dal routing VPN su distribuzioni Linux come DEBIAN, UBUNTU o KALI. Questa configurazione è particolarmente utile quando vuoi mantenere l’accesso diretto ai servizi locali mentre utilizzi una VPN per il traffico internet.
Questa configurazione è particolarmente utile in diversi scenari, ad esempio:
– Quando si lavora in remoto su macchine virtuali attraverso SSH/RDP mentre si usa una VPN
– Per mantenere l’accesso ai servizi di rete locale (NAS, stampanti, server domestici)
– Per separare il traffico internet (che passa attraverso la VPN) dal traffico locale (che mantiene la connessione diretta)
Installare nftables
Per prima cosa, assicurati che nftables sia installato sul tuo sistema. Puoi installarlo con il seguente comando:
sudo apt-get update sudo apt-get install nftables
Accedere come root
Accedi come root per eseguire i comandi successivi:
sudo -i
Creare il file di regole
Ora, crea un file di regole nftables che escluda il traffico locale dalla VPN. Apri un editor di testo e crea un nuovo file chiamato escludiTrafficoVPN.rules nella directory /root:
vim /root/escludiTrafficoVPN.rules
Inserisci il seguente contenuto nel file:
table inet escludiTrafficoVPN {
chain excludeOutgoing {
type route hook output priority 0; policy accept;
ip daddr 192.168.0.0/16 ct mark set 0x00000f41 meta mark set 0x6d6f6c65;
}
}
Questa configurazione marca specificamente il traffico destinato alla rete locale in modo che bypassi la VPN. Ciò significa che:
– I servizi esposti sulla rete locale rimangono accessibili direttamente
– Le connessioni SSH/RDP verso macchine nella rete locale non vengono interrotte
– Solo il traffico internet viene instradato attraverso la VPN
Nota: Assicurati di adattare 192.168.0.0/16 all’intervallo di indirizzi IP (subnet) che stai utilizzando nella tua rete locale. Se stai quindi utilizzando una classe A o B, ricordati di modificare la subnet, nello specifico:
Classe A: 10.0.0.0/8
Classe B: 172.16.0.0/12
Applicare le regole
Applica le regole create utilizzando il seguente comando:
nft -f /root/escludiTrafficoVPN.rules
Questo comando carica e applica le regole definite nel file escludiTrafficoVPN.rules.
Rendere le regole persistenti
Per assicurarti che le regole vengano applicate ad ogni riavvio del sistema, aggiungi una riga a /etc/crontab.
Apri il file /etc/crontab con un editor di testo:
vim /etc/crontab
Aggiungi la seguente riga alla fine del file:
@reboot root nft -f /root/escludiTrafficoVPN.rules