MikroTik VPN è per noi un tema di tutti i giorni e quindi sarà un piacere vedere insieme come provare a configurarla.
Affrontando questo argomento viene naturale pensare allo Smart Working ma in realtà ci sono molte più applicazioni su questo tema, specialmente nel campo IT.
Immaginiamo, per esempio, di aver spedito a un Cliente 20 telefoni VoIP da configurare.
L’installazione di questi apparati è diventata molto semplice, ancora di più nel caso si trattasse di una sostituzione dei vecchi dispositivi con quelli nuovi, rendendo quasi superfluo l’intervento in loco.
Avendo accesso alla rete privata del Cliente (LAN) potremmo configurare i dispositivi direttamente dal nostro ufficio, in modo efficiente e rapido.
Ecco che staremo lavorando da remoto, pur non essendo in Smart Working 🙂 Useremo comunque una VPN ( virtual private network).
Gabriele
Consulente Tecnico Timenet
VPN client to server: cosa significa?
Le VPN client-to-server, o client to site, permettono di connettere un singolo dispositivo, il nostro computer per esempio, alla rete privata aziendale utilizzando la rete pubblica.
Per fare questo avremmo bisogno di un client VPN (basti pensare a quello integrato in Windows) e un server VPN, configurabile anche sul nostro router MikroTik.
MikroTik VPN site to site: differenza piccola ma sostanziale
Se avessimo voluto configurare i nostri hardware per connettere 2 reti aziendali, su due sedi diverse, avremmo parlato di site to site. In poche parole le due reti, distanti magari chilometri, si interconnettono attraverso Internet creando una sola ed unica “infrastruttura di fatto”.
VPN l2tp over IPsec o PPTP? Quale scegliere?
Vi sono svariati protocolli VPN che potremmo utilizzare ma uno in particolare è quantomeno da evitare: il PPTP.
Dove starebbe il problema facendo con MikroTik VPN PPTP?
Qui parliamo di MikroTik ma il problema con il PPTP è strutturale e abbraccia qualunque hardware. Il protocollo PPTP è uno dei più vecchi protocolli VPN in circolazione, sconsigliato anche da Microsoft, considerando che è valutato come “crittograficamente debole”.
Basti pensare che Apple non permette di configurare una VPN PPTP sui propri dispositivi da più di cinque anni, almeno utilizzando il client VPN nativo, proprio perché considerato un protocollo non sicuro.
Qual è la soluzione? Semplice, utilizzare un altro protocollo, ma quale?
Potremmo usare per esempio il protocollo L2TP over IPsec.
Perché non utilizzare semplicemente l’l2tp (Layer Two Tunneling Protocol)?
Per la sicurezza propria e del cliente.
Il protocollo L2TP, come suggerisce il nome, è un protocollo di sessione (livello 5) che attraverso un tunnel UDP (livello 4) encapsula un ulteriore pila a partire dal livello 2 e utilizza la porta UDP 1701 e non garantisce alcuna sicurezza a livello di autenticazione e/o crittografia.
Utilizzando il protocollo l2tp insieme al protocollo IPsec, che è un protocollo di autenticazione e cifratura operante a livello 3 della pila ISO/OSI, garantiremo un canale sicuro dove all’interno transiterà il tunnel L2TP in chiaro
VPN L2TP over IPsec client to site: Come configurarlo su MikroTik
Niente di più semplice, procedendo per gradi dovremo configurare:
- Il server L2tp su Router MikroTik
- Abilitare IPsec e assegnare una chiave condivisa
- Creare le credenziali di autenticazione della VPN
- “Assegnare” un IP privato alla connessione VPN con cui si presenterà la VPN su rete privata o, in alternativa, far “assegnare” un IP privato “pescando” dal pool DHCP creando un nuovo profilo PPP
- Creare una regola di firewall che accetti il traffico sulle porte UDP utilizzate dalla VPN proveniente dall’IP pubblico da cui vogliamo connetterci in VPN
- 1701 (l2tp)
- 500 (IPsec -> IKE – Internet Key Exchange)
- 4500 (IPsec -> NAT traversal)
- Configurare il client VPN (per esempio utilizzando quello di default per Windows)
- Avviare la VPN
Come sempre possiamo configurare la nostra routerboard per una VPN MikroTik sia da interfaccia grafica, usando Winbox ( scaricabile a questo link), o utilizzando il terminale, magari collegandosi al nostro router in ssh.
Esempio configurazione MikroTik VPN l2tp ipsec via interfaccia grafica
1. Abilitare l2tp server su MikroTik, abilitare IPsec e assegnare chiave condivisa
2. Creare l’utente VPN e le credenziali di autenticazione indicando l’IP privato con cui si presenterà la VPN su rete privata
In alternativa: creare l’utente VPN, le credenziali di autenticazione e un nuovo profilo PPP configurandolo per “pescare” l’IP privato, con cui si presenterà la VPN su rete privata, dal dhcp pool (deve essere configurato)
Creare una regola di firewall che accetti il traffico sulle porte UDP utilizzate dalla VPN.
Esempio configurazione MikroTik VPN l2tp ipsec via terminale
Nessun problema, ecco di seguito uno script di configurazione ad hoc, sarà sufficiente modificare i caratteri tra le virgolette preceduti da “:global”
#Abilitare l2tp server su Mikrotik, abilitare IPsec e assegnare chiave condivisa
:global chiavecondivisa “chiave già condivisa”
/interface l2tp-server server
set enabled=yes ipsec-secret="$chiavecondivisa" use-ipsec=yes
#Creare l’utente VPN e le credenziali di autenticazione indicando l’IP privato con cui si presenterà la VPN su rete privata
:global ipgateway "IP Gateway es. 192.168.1.1"
:global username “Nome utente”
:global passwordvpn “Password VPN”
:global ipvpn “IP VPN es. 192.168.1.20”
/ppp secret
add local-address=$ipgateway name=$username password=$passwordvpn
profile=default-encryption remote-address=$ipvpn service=l2tp
In alternativa
#Creare l’utente VPN, le credenziali di autenticazione e un nuovo profilo PPP configurandolo per “pescare” l’IP privato, con cui si presenterà la VPN su rete privata, dal dhcp pool (deve essere configurato)
#Creazione profilo
:global ipgateway “IP Gateway es. 192.168.1.1”
:global pooldhcp “nome del dhcp pool configurato su router”
:global nomeprofilo “es.l2tp-ipsec-profile”
/ppp profile
add change-tcp-mss=yes local-address=$ipgateway name=$nomeprofilo only-one=yes remote-address=$pooldhcp use-encryption=yes use-upnp=no
#lasciando il valore del campo “only-one” su “yes” il router accetterà una sola connessione per client
:global username “Nome utente”
:global passwordvpn “Password VPN”
:global nomeprofilo “es.l2tp-ipsec-profile”
/ppp secret
add name=$username password=$passwordvpn profile=$nomeprofilo service=l2tp
#Creare una regola di firewall che accetti il traffico sulle porte UDP utilizzate dalla VPN
#!!!ATTENZIONE!!! Ricordarsi che non specificando l’IP pubblico remoto ci si espone a livello di sicurezza
:global intconn “Interfaccia connettività es. PPPoE, l2tp, porta WAN ecc…”
:global ippubremoto “IP pubblico da cui mi connetterò alla VPN”
:global ippubconnessione “IP pubblico a cui mi connetterò in VPN”
/ip firewall filter
add src-address=$ippubremoto dst-address=$ippubconnessione action=accept chain=input dst-port=500,4500,1701 in-interface=$intconn protocol=udp comment=”Accept per VPN l2tp IPSec”
add src-address=$ippubremoto dst-address=$ippubconnessione action=accept chain=input protocol=ipsec-esp in-interface=$intconn
Ricordatevi di posizionare queste regole di Firewall prima di eventuali regole che possano entrare in conflitto e/o regole di drop
Come configurare il nostro client-VPN.
Vi mostro un esempio di come configurare il client-VPN integrato su Windows 10 ( Impostazioni -> VPN)
Perfetto, adesso potrete configurare i nuovi telefoni VoIP del vostro cliente da remoto via VPN, senza per forza eseguire un intervento in loco.
Se vuoi approfondire i vantaggi delle MikroTik Routerboards ti invitiamo a dare un’occhiata ai buoni motivi per cui le usiamo 🙂
Un saluto,
Gabriele.