Networking senza limiti: Creare un ambiente isolato con Proxmox, OPNSense e TailScale!
Riflettendo sui primi giorni in cui ho acquisito le basi delle reti, una delle sfide più rilevanti è stata la complessità nel testare e apprendere senza disturbare l’intera rete locale. Ogni tentativo di esperimento comportava il rischio di interrompere l’accesso a Internet, rendendo inaccessibili tutte le risorse. La mancanza di connettività implicava soprattutto la perdita dell’accesso alle principali fonti di informazioni online. In questo articolo, desidero illustrarti come è possibile acquisire conoscenze sul networking in un ambiente completamente isolato, senza la necessità di hardware specializzato, attraverso l’utilizzo combinato di Proxmox, OPNsense e Tailscale.
Installazione di OPNsense su Proxmox
Iniziamo installando OPNsense su Proxmox. Darò per scontato che avrete le conoscenze per creare delle VM su proxmox e per installare Opnsense. Su youtube potete trovare molti video che mostrano come farlo.
Per la nostra configurazione di esempio richiede però alcune configurazioni specifiche per le interfacce di rete. Create la VM di OpnSense con due adattatori di rete: uno per la rete esistente e uno per la nuova rete virtuale che creeremo.
È importante che l’adattatore network destinato per la rete virtuale abbia il valore tag specificato come mostrato nell’immagine.
A che cosa servono questi tag? sono identificatori numerici che vengono assegnati ai pacchetti di dati all’interno di una rete, consentendo di separare il traffico in segmenti logici distinti, noti come VLAN
. Questi tag vengono utilizzati per mantenere l’isolamento tra diverse reti virtuali che condividono la stessa infrastruttura fisica di rete.
Nel Nostro esempio metteremo 101 in riferimento della nostra subnet di test scelta 192.168.101.0/24 per creare un ambiente di rete isolato in cui può eseguire test senza influire sulla rete principale.
Create una VM da inserire nella rete virtuale
Create un altra VM, nel nostro esempio facciamo una VM con Ubuntu nella specifica dell’adattatore network andremo a valorizzare il tag assegnato in precedenza in questo modo la VM creata si troverà nella rete virtuale configurata di opnsense
seguite la procedura guidata di installazione di OPNsense, configurando le interfacce di rete e il firewall in base alle vostre esigenze di sicurezza.
ho scritto in passato un paio di articolo per come definirle e per avere un idea di cosa dichiarare nelle regole firewall:
Configurazione Tailscale su OPNsense
Una volta seguita l’installazione guidata di OPNsense tramite browser dalla vostra VM presente nella rete virtuale, procediamo con l’installazione di Tailscale su di esso. Accedete alla shell di OPNsense e esegui i seguenti comandi1.
1
2
3
4
5
6
opnsense-code ports
cd /usr/ports/security/tailscale
make install
service tailscaled enable
service tailscaled start
tailscale up
Una volta eseguito l’ultimo comando e fatto partire tailscale, inserite nel browser l’indirizzo che vi comparirà come da screen:
una volta autenticati da quella dashboard sarà possibile gestire anche le acl di chi potrà connettersi alla rete, oltre a verificare gli host attivi su tailscale
ritornate su opnsense e assegnata alla rete virtuale appena creata l’interfaccia e abilitatela:
in fine, abilitate il routing alla subnet virtuale creata:
da shell su opnsense
1
tailscale up --advertise-routes=192.168.101.0/24
e dalla admin console di tailscale:
per maggiori info potete trovare informazioni su questi documenti
Come aggiornare Tailscale su OPNsense
L’evoluzione tecnologica richiede un costante aggiornamento degli strumenti che utilizziamo e per Tailscale, non fa eccezione.
Accediamo alla shell Proxmox. Selezioniamo l’opzione appropriata nel menu, comunemente l’opzione 8
, per accedere alla Shell.
Prima di procedere con l’aggiornamento, è consigliato verificare lo stato corrente di Tailscale. Utilizziamo il comando tailscale status
per assicurarci che la connessione sia attiva.
Digitiamo il seguente comando, che scaricherà una copia nuova del repository BSD ports:
1
opnsense-code ports
Cambiamo posizione e dirigiamoci nella directory corretta che ospita il codice di ports. Utilizziamo il comando:
1
cd /usr/ports/security/tailscale
Prima di procedere con l’installazione, dobbiamo disinstallare la versione esistente. Eseguiamo il comando:
1
make deinstall
In alcuni casi, potrebbe esserci una discrepanza tra la versione riportata dal client e quella installata. Risolviamo questo problema eseguendo:
1
make clean
Procediamo con l’installazione della nuova versione:
1
make install
Verifichiamo sia stato aggiornato correttamente utilizzando il comando:
1
tailscale version
Per garantire che tutte le modifiche abbiano effetto, riavviamo il servizio con:
1
service tailscaled restart
Infine, controlliamo l’interfaccia di amministrazione per confermare l’aggiornamento. Dovremmo visualizzare la nuova versione, confermando così il successo della procedura.
Seguendo questi passaggi, potrai mantenere il tuo sistema Tailscale su OPNSense sempre aggiornato, garantendo le ultime funzionalità e miglioramenti alla tua connettività sicura.
Ricapitolando
Quindi facciamo un breve riepilogo di quanto fatto e cercato di ottenere:
-
Abbiamo creato una macchina virtuale OPNSense con due interfacce di rete. Una di queste interfacce di rete appartiene alla mia attuale rete locale, alla mia LAN corrente, e utilizza il DHCP che tutti gli altri dispositivi in questa rete locale utilizzano.
-
Successivamente, abbiamo aggiunto una seconda scheda di rete virtuale (NIC) a quella macchina virtuale OPNSense, con un tag VLAN di 101. Questo significa che non aveva un server DHCP dedicato, quindi ha proceduto creando autonomamente uno.
-
Inoltre, abbiamo creato una macchina virtuale Ubuntu con una scheda di rete virtuale contrassegnata dal tag 101, in modo che ottenesse un indirizzo IP dalla istanza OPNSense virtualizzata.
Da qui, si può dedurre che è possibile creare diverse macchine virtuali, svolgere qualsiasi attività desiderata e trattare l’istanza OPNSense proprio come se fosse un firewall reale.