venerdì , giugno 22 2018
Ultime Notizie
Home / Wireless & Networking / Mikrotik / Mikrotik Openvpn Server Howto

Mikrotik Openvpn Server Howto

Ciao Ragazzi sono tornato e oggi vi parlo di come creare un server Openvpn su Mikrotik.

Un po’ di nozioni teoriche che non guastano mai, per prima cosa OpenVPN come IPSEC o PPTP o L2TP è uno standard per la creazioni di connessioni VPN (Virtual Private Network) per fare in modo che due reti LAN geograficamente distanti tra loro possano essere viste come una unica rete instaurando un tunnell cifrato.

Ad oggi gli standard PPTP e L2TP per quanto ancora utilizzati sono in dismissione perchè considerati (ed è vero!) poco sicuri. Tutti questi standard possono essere implementati su device Mikrotik

Per prima cosa è necessario munirsi di certificati digitali, che potete o acquistare se vi interessano servizi Trusted di terze parti (es. Geotrust, Symantec etc.) oppure generare da soli (self-signed) nel caso la vostra OpenVPN serva per uso “casalingo”!

Bene, siamo pronti per iniziare.

Creazione Certificati Self-Signed

Per prima cosa creiamo i certificati che ci servono, installando la suite OpenSSL (disponibile per tutti i sistemi operativi) creiamo per prima cosa la certification authority (CA) keyfile:

openssl genrsa -des3 -out ca.key 4096

 

Creiamo il file .crt:

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

In questa parte vi chiederà di inserire diverse informazioni quali Country, State, Province e così via. Queste non sono informazioni importanti per il nostro certificato, quello che è davvero importante è il Common Name (CN) dove dovete inserire o il dominio al quale punta la vostra Mikrotik (es. miamikrotik.miosito.it) oppure l’indirizzo IP pubblico della vostra Mikrotik. Queste informazioni sono fondamentali per il funzionamento del sistema di certificazione.

Una volta che abbiamo il file ca.crt e il file ca.key possiamo procedere con la copia dei files tramite Winbox, FTP etc. sulla Mikrotik.

IMMAGINE

Procediamo con l’import del certificato e della chiave sulla Routerboard:

[mikrotik@testssl] /certificate> import file-name=ca.crt 
passphrase: 
     certificates-imported: 1
     private-keys-imported: 0
            files-imported: 1
       decryption-failures: 0
  keys-with-no-certificate: 0
 
[mikrotik@testssl] /certificate> import file-name=ca.key        
passphrase: 
     certificates-imported: 0
     private-keys-imported: 1
            files-imported: 1
       decryption-failures: 0
  keys-with-no-certificate: 0

Adesso andando da Winbox su System -> Certificates se accanto il nostro ca.crt ci sono le lettere KT oppure KR l’importazione è avvenuta con successo e quindi possiamo proseguire, altrimenti controllate i certificati che siano corretti come in figura:

mikrotik-certificates

Verificato questo possiamo procedere con la configurazione vera e propria.

 

Creazione Pool Indirizzi

Per prima cosa creiamo un nuovo pool di indirizzi IP, andando su IP -> Pool clicchiamo su + e impostiamo come in figura:

mikrotik-ip-pool

Applicate le modifiche andiamo a definire il profilo openvpn su PPP->Profiles come segue:

mikrotik-ppp-profile

Ovviamentese utiizzate ip diversi ricordatevi di cambiare tutto altrimenti non funziona nulla!

Fatto questo possiamo abilitare il server OVPN, sempre da PPP-> OVPN Server e configuriamo come in figura:

mikrotik-openvpn-server

Attenzione, se spuntate Require Client Certificate dovrete generare un certificato anche per ogni client vpn che create, è una procedura più lunga, ma garantisce maggiore sicurezza di una semplice autenticazione basata su username e password.

Ci siamo quasi, manca solo aggiungere gli utenti che volete ed abbiamo finito!

Andiamo su PPP->Secrets e aggiungiamo il nuovo utente:

mikrotik-secret

Abbiamo finito!

Il server Openvpn è pronto, possiamo provarlo con un client!

Di seguito vi allego per completezza un esempio di file di configurazione del client OpenVPN, nel mio caso è per linux ma si trovano tantissimi esempi in giro per la rete anche di file per sistemi operativi diversi.

remote firewall.example.com 1194 tcp-client
persist-key
auth-user-pass 
tls-client
pull
ca /home/testvpn/.cert/ca.crt
redirect-gateway def1
dev tun
persist-tun
nobind

Enjoy!

 

Info Paolo Daniele

Ingegnere delle Telecomunicazioni, appassionato di informatica fin da piccolo ho trasformato la passione in lavoro. Con il PHP faccio tutto (o quasi...) ma non disprezzo altri linguaggi all'occorrenza. Se vi piace il mio sito, o vi è utile, o vi sto simpatico, offritemi una birra!

Ti potrebbe interessare

Mikrotik VLAN Hybrid

Ciao Ragazzi, oggi parliamo della gestione delle VLAN su Mikrotik con una versione di routerOS …

9 Commenti

  1. Ciao Paolo, mi chiedevo cosa ne pensi di creare il certificato direttamente dal mikrotik.
    Ora lo testo…anche perché la l2tp-ipsec mi funziona a random

    • Paolo Daniele

      Ciao Stefano,
      da mikrotik puoi creare direttamente i self signed, ma sinceramente sono affezionato a OpenSSL!
      Per la l2tp-ipsec vedi se ti può essere utile la mia guida, in caso ne parliamo!

  2. Paolo Tomiato

    Ciao, una cosa non mi è chiara: come mai si imposta un pool con range da 10 a 20 e poi al client si da indirizzo local: 5 remote: 6?

    • Paolo Daniele

      Ciao Paolo,
      in realtà tu puoi usare sia il pool che gli ip definiti da te. Nell’esempio ho fatto un mix definendo sia il pool che l’ip1 statico! A presto,
      P.

      • Paolo Tomiato

        Capito, quindi se nella configurazione del secrets non inserisco nessun ip si prende l’ip dal pool.
        Altra domanda: con lo smartphone android e la connessione wifi si connette alla vpn se invece uso il 4g va in timeout (ho provato un paio di clients ma succede sempre la stessa cosa)

        • Paolo Daniele

          mmm, come client ti consiglio di usare sempre OpenVPN Connect per android che è perfetto, ma è strano che ti va in timeout. Potrebbe essere la porta utilizzata che non gli piace? Oppure prova a cambiare il protocollo da tcp a udp.(ricordati di cambiare il file di config del client). Ricorda che nel file di config android deve essere incluso il CA e in alcuni casi anche la KEY. Fammi sapere in caso che ti mando una config tipo.

          • Paolo Tomiato

            Ho provato con il protocollo UDP ma non cambia niente.
            Intanto provo con un pc di casa…

          • Paolo Tomiato

            No, non riesco a connettermi da fuori. Se collego il cell alla rete interna la vpn si connette se invece uso i dati del telefono o la rete wifi di casa, non si connette.

            PS: che glorioso cognome che porti! 😉

          • Paolo Daniele

            Ti ho mandato una mail. Fammi sapere 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *