Generarea certificatelor

Vom face un setup de server openvpn pe un router mikrotik.

Pentru a genera certificatul CA și certificatele server și client vom utiliza o mașină virtuală cu ubuntu-server sau dacă aveți deja un server linux, vă puteți folosi de el.

Se instalează pachetul openvpn pe serverul linux cu comanda

Se crează directorul easy-rsa în /etc/openvpn:

Se copiază conținutul folderului easy-rsa în directoul /etc/openvpn/easy-rsa fpentru  setarea  Certificate Authority (CA), certificatele și  key-urile pentru serverul OpenVPN și clienți

Se editează  fișierul /etc/openvpn/easy-rsa/vars:

Se editează parametii următori:

Se rulează comanda clean-all

Apoi se generează certificatul CA

Se generează apoi server certificate si privagte key

în următoarele rânduri se răspunde cu ”yes” la întrebarea ”Sign the certificate?” și spoi tot cu ”yes” la ”commit?”

Schimbăm directorul curent cu /etc/openvpn/easy-rsa/keys/

Copiem  CA certificate, server certificate și  key în routerul mikrotik (trebuie instalat pe serverul ubuntu si pachetul ncftp):

Mai departe se crează certificatele pentru fiecare client în parte:

Schimbăm directorul curent /etc/openvpn/easy-rsa/  și creăm certificate pentru fiecare client care dorește să se conecteze la serverul nostru openvpn:

Aceste ultime certificate le vom folosi la conectarea clientului windows sau android.

 Setarea routerului Mikrotik:

Verificăm pe router în meniul Files dacă avem uploadate certificatele ca.crt, mikrotik.crt și mikrotik.key

files Accesăm meniul Sistem – certificates

sistemApoi importăm pe rând,  toate cele trei elemente:  ca.crt, mikrotik.crt și mikrotik.key

importDupă ce am terminat și cu importul cheii private mikrotik.key,

trustedobservăm că apare în fața certificatului mikrotik simbolul KT (private key trusted).

Mai departe avem nevoie de un pool de adrese pentru clienții care se conectează prin vpn. Deschidem un terminal în mikrotik și tastăm comanda:

Trebuie neaparat să creeăm pool-uri /30 pentru că altfel windows-ul dă cu virgulă și clientul vpn nu se va conecta si ne trezim cu eroarea:

Trebuiesc create atâtea pool-uri de adrese pentru câți clienti vrem să conectăm …

Creăm profilul pentru clientul openvpn

ppp-profileName=openvpn

Local Address=openvpn  (pool-ul de adrese /30 creat anterior)

Remote Address=openvpn  (pool-ul de adrese /30 creat anterior)

Creăm user/parolă pentru clientul openvpn:

ppp-secretSau, din terminal mikroitk:

Activarea serviciul openvpn se face din meniul PPP – Interface – OVPN Server

openvpn-serverSe poate customiza portul pe care asculta implicit serviciul, eu am schimbat în 443 aici (implicit era portul 1194) și se alege certificatul, în cazul de față mikrotik, bifându-se și Require Client Certificate

 Configurarea lui win7 ca și client openvpn

Se download-ează clientul openvpn de aici , se instalează foarte simplu cu next, next, finish.

Se merge în C:\Program Files\OpenVPN\config si se crează un fiser text de exemplu mikrotik.ovpn care la mine are următorul conținut:

Se rulează clientul openvpn cu drept de admin

windows-4Se dă click drepata pe iconița openvpn din system tray și se pasă Connect

windows-5Dacă totul a decurs ok, trebuie să funcționeze si tunelul vpn.

Config telefon android

Trebuie sa copiezi pe telefon acel fisier din program files/openvpn/config/mikrotik.ovpn pentru că trebuie importat în clinetul pentru android al openvpn

Se instalează din android market

openvpn-android-play-storeSe deschide aplicatia si se selectează meniul import

Screenshot_2015-04-19-00-09-07Apoi se alege import profile from sd card

Screenshot_2015-04-19-00-09-14si se browsează până la locația fișierului ce conține setările de mai sus,  se introduce userul și parola create în mikrotik după care se apasă Connect.

Screenshot_2015-04-19-00-09-19Dacă totul decure normal și de data asta, tunelul vpn ar trebui să funcționeze.