Come creare una L2 VPN con Zerotier one
Dopo aver guadagnato più tempo libero più possibilità di viaggiare, è sorta in me la voglia di avere accesso alla mia stazione radio anche da fuori casa.
Gli elementi della mia stazione ai quali voglio avere accesso sono un Flex6600, un SunSDR2DX, un PA Acom1200S con tuner 04AT e roswattmetro Wavenode WN-2d.
Ci sono però alcuni problemi. La connessione a Iternet nella mia zona è offerta solo tramite FWA o 4/5G ed il mio operatore opera in CGNAT, la tomba per Smartlink e le VPN.
La soluzione offerta da Flexradio (smartlink) è abbastanza valida ma consente un uso a mio parere un po’ limitato della stazione. La userò come backup. La soluzione offerta da Expert Electronics, ERS, incontra ancora problemi e quindi non è ancora affidabile. Entrambe le soluzioni inoltre non consentono di accedere e di avere un controllo totale degli accessori di stazione quali Amplificatore Lineare, rotore e strumenti di controllo e inoltre non consentono di utilizzare pienamente le funzioni del software SDC, Software Defined Connector, non consentendo il passaggio di SmartSDR API e/o TCI.
Ho valutato quindi tutti i problemi e ho cercato le soluzioni:
Problemi:
- Internet su FWA con IP privato, CGNAT che blocca anche Smartlink
- Accesso agli accessori di stazione
- Accesso al PA e alle antenne.
Soluzioni:
- VPN
- Bridge per accendere/spegnere e mettere in opr/stby il PA.
Ho deciso quindi un approccio step-up. La fase 1 volta alla soluzione del problema 1, ha previsto l’impiego del Flex6600 senza PA, by-passandolo (quando spento mette a massa tutti gli ingressi di antenna), e l’implementazione di una L2 VPN con Zerotier one
ZEROTIER one
Perchè Zerotier one?
ZeroTier One è un’applicazione client che consente di creare reti virtuali private (VPN) peer-to-peer tra dispositivi, con una connessione sicura e diretta tra computer, server, smartphone su Internet o reti locali.
Essa consente quindi una connessione peer-to-peer, stabilisce quindi connessioni dirette e sicure tra dispositivi, utilizzando tecniche come STUN e hole punching che consentono di superare NAT e firewall con una latenza ridotta. E’ multipiattaforma e consente di essere installata su dispositivi Windows, macOS, IOS, Linux (inclusi RPI), Android e OpenWRT. La gestione dei dispositivi e degli accessi è centralizzata e consente di aggiungere, eliminare, bloccare anche temporaneamente accessi e dispositivi.
Cosa molto importante per noi utenti amatoriali è che ZeroTier One è gratuito per uso personale.
Creazione di una L2VPN
Per la creazione di una L2 VPN con ZeroTier One si può optare di utilizzare un router openWRT nel quale installare il software oppure utilizzare un Raspberry Pi4 o 5 come bridge L2.
La mia scelta è ricaduta nell’uso di un RPi5 già in mio possesso.
La lista del materiale occorrente è la seguente:
- Raspberry pi (4 o 5)
- Cavi di rete
- alimentatore RPI
- MicroSD
- advanced IP Scanner per win
- Putty (o altro sw terminale)
Creare una VPN layer 2 (L2VPN) tra dispositivi remoti attraverso ZeroTier, con un Raspberry Pi 5 configurato come bridge tra la rete fisica (eth0) e l’interfaccia virtuale ZeroTier
(ztxxxxxxxx). L’interfaccia bridge (br0) assume l’indirizzo statico 192.168.xxx.2 per operare nella LAN
1) Creare un account su www.zerotier.com
2) accedere con le credenziali e creare una rete zerotier. In alto sulla pagina della rete appena creata troverete il network ID.
a questo punto
1) Installare l’ultima rel di Raspberry Pi OS (64bit per RPi5)
Va bene anche la versione lite e si consiglia di utilizzare Raspberry pi imager avendo cura di rendere il RPi collegabile via SSH.
2) ricercare tramite uno scanner di rete (io uso Advanced Ip Scanner) l’IP del RPi e connettersi all’IP tramite SSH con Putty
3) installare ZeroTier (adesso scriverò in sequenza tutte le operazioni necessarie)
4) Assicurati che ZeroTier sia installato
sudo apt update
sudo apt install zerotier-one
5) cerca il nome del tuo dispositivo in rete. Sarà del tipo ZTxxxxxx
sempre in ssh digita
ip a
l’output sarà l’elenco di tutte le tue connessioni. Cerca una stringa del tipo ztxxxxxxx e prendine nota
6) Unisciti alla rete ZeroTier
sudo zerotier-cli join TUO_NETWORK_ID
Vai su https://my.zerotier.com e autorizza il Pi nella rete.
7) Crea una interfaccia TAP necessaria per avere un’interfaccia Layer 2 virtuale su cui puoi fare bridge
sudo ip tuntap add dev zttap0 mode tap
sudo ip link set zttap0 up
8) Unisci la TAP e la rete ZeroTier in un bridge (sostituisci ztxxxx con il nome del tuo RPI che hai trovato con ip a)
sudo ip link add name br0 type bridge
sudo ip link set dev br0 up
sudo ip link set dev zttap0 master br0
sudo ip link set dev ztxxxxxxx master br0
9) assegna un IP statico al bridge e verifica
sudo ip addr add 192.168.xxx.2/24 dev br0
sudo ip route add default via 192.168.xxx.1
ip a
brctl show
Dovresti vedere che:
br0è UPInclude sia
eth0cheztxxxxxxxHa l’IP
192.168.xxx.2
