VPN PPTP "di servizio" con MikroTik

NOTA: prima di cominciare a configurare il mikrotik seguendo questa guida, date un'occhiata anche a questo post.

Come promesso cominciamo ad analizzare e mettere alla prova le funzionalità offerte dai router MikroTik. Dico già da subito che questi prodotti sono abbastanza complessi e offrono una miriade di funzioni. Sono anche abbastanza sconosciuti e penso sia abbastanza difficile trovarli in ambito domestico. Banco alla ciance e cominciamo!

Avere a disposizione una VPN di servizio, ossia una VPN che quando serve è lì pronta per l'uso, può far davvero comodo. Da quando ho cominciato ad adottare questo sistema mi ha già salvato due/tre volte. Dato che questa VPN viene usata solo occasionalmente io opterei per una semplicissima PPTP. Questa inevitabilmente offrirà un servizio minore rispetto ad una OpenVPN o ad una IPSEC site-to-site, ma non perdiamo di vista l'obbiettivo: questa VPN servirà solo a metterci in contatto con casa o ufficio quando siamo via. Possiamo addirittura utilizzarla da uno smartphone sotto rete HSPA.

Prerequisiti: in questa guida do per scontato che il MikroTik sia configurato e la connessione ad internet sia disponibile da tutti i PC collegati, oltre ad una conoscenza base di Winbox.

Per portare a termine il nostro obbiettivo avremmo bisogno di configurare il server PPTP ( compito svolto dal mk ) e il client ( svolto dall'O.S. di turno, nel caso più semplice Windows ). Iniziamo con il primo task. Scarichiamo Winbox che offre un'ottima GUI e terminale per interfacciarsi con il nostro amato MikroTik.
Una volta entrati come admin attiviamo il server PPTP. Per fare questo dal menù laterale scegliamo PPP e andiamo nella tab Interface. Qui troveremo un pulsante PPTP Server, configurate il tutto come in foto.

Ora andiamo a creare l'utente, e per fare questo proviamo ad utilizzare la command line ( ovviamente questa operazione si può fare tranquillamente anche da GUI ). Apriamo il terminale dal menù laterale e scriviamo questo comando.

ppp secret add comment="VPN PPTP casa" name=mioutente service=pptp password=miapassword profile=default-encryption local-address=10.10.10.10 remote-address=10.10.10.11

Spieghiamo bene. La voce comment serve per commentare la riga, vi suggerisco di usarla sempre su qualsiasi comando che date. Name è lo username da utilizzare per la connessione. Password non penso abbia bisogno di spiegazione. Profile serve per imporre l'utilizzo del profilo denominato default-encryption ( profilo presente di default, lo potete esaminare nella tab Profiles ). Local e remote address sono gli IP del tunnel. Io qui solitamente inserisco ip facilmente memorizzabili. Ad esempio 10.10.10.10 o 10.11.12.13 e così via.

Potete usare questo comando per visualizzare i dettagli dell'utente:

ppp secret print detail

Con questo la prima parte termina. Ora passiamo alla parte due: la configurazione del client.
Aprite il centro di connessioni di rete e condivisioni di Windows 7 e configurate una nuova rete.

Qui inserite il vostro IP statico se ne avete uno, altrimenti affidatevi a servizi di DNS dinamico tipo dyndns o no-ip.

Inserite il nome utente e password che avete impostato nel MikroTik.

In tipo di VPN impostate PPTP ( se non lo fate si imposterà automaticamente alla prima connessione ).

Ed ecco fatto! Ora "teoricamente" 😀 dovreste avere una VPN di servizio funzionante. Con questa potrete per esempio collegarvi via VNC o deskstop remoto per controllare ad esempio il PC di casa. Per scaricare o caricare file su un NAS o in una cartella condivisa. Il limite di questa connessione è che non è bidirezionale. Pingando da un computer dietro il mk verso il dispositivo che instaura la connessione non otterrete nessuna risposta, questo perchè non è presente nessuna route statica che definisce dove devono andare i pacchetti che provengono dalla rete del mk. Dato che però questa tipologia di VPN deve mantenere una certa flessibilità non si sa a priori da che luogo ci si collegherà e quindi è del tutto superfluo impostare delle route. Se dovessimo stabilire una connessione VPN tra un determinato luogo ed un altro che deve essere sempre attiva utilizzeremo una connessione del tipo site-to-site, e sicuramente non una connessione come questa.

Io, per esempio, la utilizzo tantissimo per collegarmi dallo smartphone al il mio PC di casa o con il server e i PC dell'ufficio. 😉

Prossimamente una guida su IPSEC site-to-site. 😉

Configurare il firewall

Se utilizzate il firewall del mk ricordatevi di accettare il traffico dalla porta 1723 e il protocollo GRE! Questi sono i comandi da dare:

/ip firewall filter add chain=input connection-state=related action=accept comment="Accetto le connessioni related"

 

/ip firewall filter add chain=input protocol=tcp dst-port=1723 action=accept comment="Accetto il traffico dalla porta di controllo PPTP"

 

/ip firewall filter add chain=input protocol=gre action=accept comment="Accetto il protocollo GRE per PPTP"

NOTA

Se avete problemi a raggiungere i dispositivi all'interno della rete remota, ma riuscite tranquillamente a pingare il router e gli IP del tunnel, provate ad attivare la funzione proxy-arp sull'interfaccia di rete con indirizzo interno sul mikrotik. Questo dovrebbe risolvere il problema.

P.S.
Mi stavo quasi per dimenticare, la procedura funziona benissimo anche se avete a disposizione IP dinamici, basterà avere un account dyndns o simili.