Mikrotik VPN – L2TP over IPsec VPN Vs PPTP – configurazione

gabriele cordelli consulente tecnico di timenet

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 cordelli

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

Mikrotik vpn Winbox

2. Creare l’utente VPN e le credenziali di autenticazione indicando l’IP privato con cui si presenterà la VPN su rete privata

Mikrotik vpn Winbox

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)

Mikrotik vpn Winbox

Creare una regola di firewall che accetti il traffico sulle porte UDP utilizzate dalla VPN.

Mikrotik vpn Winbox
Mikrotik vpn Winbox

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)

Mikrotik vpn Winbox

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.