Configurare un Mikrotik come un server OpenVPN

Da qualche tempo ho convertito tutte le VPN che usavo per la gestione dei clienti in OpenVPN, diventato oramai uno standard, al posto delle vecchie PPTP oramai non più sufficientemente sicure e così avendo quasi sempre un Mikrotik presso i clienti ho deciso di riassumere i passaggi per la configurazione in questo post.

Tutta la configurazione viene fatta direttamente nel Mikrotik, compresa la generazione dei certificati, quindi dopo esserci collegati con il Winbox possiamo iniziare.

Mi raccomando di sostituire gli indirizzi IP, gli utenti e le password con i vostri dati.

Per prima cosa creiamo una CA, firmiamo il relativo certificato ed esportiamolo:

/certificate
add name=CA common-name=CA key-usage=key-cert-sign,crl-sign days-valid=3600
sign CA ca-crl-host=192.168.0.1 name=CA
export-certificate CA

In questo modo all’interno della sezione File ci ritroveremo con il file cert_export_CA.crt.

Ora che abbiamo generato la CA possiamo generare il certificato per il nostro Mikrotik, quindi scriviamo:

/certificate
add name=Mikrotik common-name=mikrotik days-valid=3600
sign Mikrotik ca=CA name=mikrotik

A questo punto se tutto è andato a buon fine dovremmo ritrovarci con i due certificati appena generati:

Certificates

Ora dobbiamo creare un pool per l’assegnazione degli indirizzi IP ai client:

/ip pool add name=ovpn-pool range=192.168.131.10-192.168.131.200

Qui la scelta della classe è arbitraria, l’importante è che non sia una classe esistente in LAN.

Creaiamo poi il profilo per la connessione, definendo il nome, l’ip da usare per il mikrotik e il relativo pool di indirizzi:

/ppp profile add name=ovpn local-address=192.168.131.1 remote-address=ovpn-pool

Ora creiamo un utente abilitato a connettersi in OpenVPN:

/ppp secret add name=vpn_user password=qystQMf9TxhlVrq9vE00 profile=ovpn service=ovpn

E infine attiviamo il server OpenVPN:

/interface ovpn-server server set enabled=yes certificate=mikrotik auth=sha1 cipher=aes256 port=1194 netmask=24 require-client-certificate=no mode=ip default-profile=ovpn

A questo punto la configurazione lato Mikrotik è terminata, non ci rimane altro da fare che creare i due file di configurazione da usare sul client.

Lato client abbiamo bisogno di due file:

  • Nome_connessione.ovpn
  • auth.cfg

Nel file auth.cfg dobbiamo inserire due due righe diverse l’utente e la password che abbiamo impostato nel Mikrotik, quindi nel nostro caso conterrà queste due linee:

vpn_user
qystQMf9TxhlVrq9vE00

Il file Nome_connessione.ovpn invece conterrà questo:

proto tcp-client
remote <nome_o_indirizzo_pubblico_del_Mikrotik> 1194
dev tun
script-security 2

nobind
persist-key

tls-client
verb 1

cipher AES-256-CBC
auth SHA1
pull

auth-user-pass auth.cfg
route 192.168.0.0 255.255.255.0
dhcp-option DOMAIN dominio.local
dhcp-option DNS 192.168.0.20

<ca>
..
</ca>

Nel file dovrete mettere i vostri dati:

  • Nome o indirizzo pubblico del Mikrotik
  • La classe di IP che usate internamente per creare automaticamente una rotta
  • Il nome del dominio locale e l’IP del server DNS interno se volete risolvere i nomi
  • Nella sezione <ca></ca> dovrete incollare il contenuto del file cert_export_CA.crt che abbiamo esportato nelle fasi iniziali

Una volta effettuati queste modifiche potrete stabilire una connessione OpenVPN verso il vostro Mikrotik senza nessun problema.

Se il Mikrotik non ha un IP pubblico ma si trova dietro un NAT non dovrete far altro che nattare sul router a monte la porta TCP 1194.

 

Lascia un commento

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.