Virtual Private Network (VPN) – Raspberry Pi cu PiVPN

PiVPN
PiVPN

De cele mai multe ori folosim telefonul, tableta, laptopul pentru conectare la internet. De fiecare data ne dorim ca aceasta conexiune sa fie cat mai sigura cu putinta. Se intampla sa ne conectam la diverse Hot Sopturi in aeroport, la restaurant, hotel sau chiar atunci cand suntem in vizita la un prieten. Cat de sigure sunt aceste retele, cum sunt folosite datele noastre de navigare, in ce scop sunt ele folosite, de cele mai multe ori nu stim. Insa clar este ca ne dorim sa ne fie respectata sfera privata. Oricate legislatii ar fi in vigoare, furnizorii de internet tot vor gasi o metoda sa exploateze in folosul lor datele noastre. Ne dorim acest lucru? Clar ca nu.

La o simpla cautare pe internet vom gasi zeci de furnizori de servicii de Virtual Private Network (VPN) care se intrec in oferte, preturi, abonamente lunare, indici de securitate. Dupa ce incepi sa faci un research asupra a ceea ce ofera fiecare dintre ei devii mai bulversat, fiecare are plusuri si minusuri.

Dar se poate sa am eu propriul server VPN astfel incat sa pot accesa, in siguranta, de oriunde m-as afla datele stocate pe un server acasa, sau pur si simplu sa navighez pe internet ca si cum as fi acasa? Suna complicat, insa nu este. Si poutem avea propria retea privata virtuala la care sa ne conectam de oriunde si oricand, fara abonament lunar, fara costuri suplimentare si fara ca datele personale sa fie filtrate de un alt server asupra caruia nu detin controlul.

PiVPN – De ce PiVPN si nu altceva?

Pentru ca PiVPN se bazeaza pe o serie de scripturi care fac instalarea lui OpenVPN sau Wireguard mult mai usoara pentru cei fara cunostinte prea multe de editare de configuratii linux ce ar putea fi descurajati de un astfel de proiect.

Ce avem nevoie pentru un server VPN:

Inainte de instalare:

  • Raspberry PI software complet instalat, asa cum am aratat intr-un tutorial anterior.
  • Ma asigur ca am un IP static pentru Raspberry PI, asa cum am detaliat in acest articol. Daca nu am facut-o deja se poate seta si in timpul instalarii PiVPN.
  • SSH activ.
  • DNS activ, de exemplu noip.com.
  • Filezilla instalat pe desktop.

Atentie: Cele mai multe Routere folosesc un Subnet Addres IP-uri de genul 192.168.0.x sau 192.168.1.x, recomandabil este a se schmba acest lucru, altfel ducand la posibilitatea de conflict de IP-uri in retea atunci cand ne conectam la serverul VPN din fara retelei locale.

Inainte de orice instalare ce aducem software-ul la zi:

sudo apt-get update && sudo apt-get upgrade -y

Instalare PiVPN:

curl -L https://install.pivpn.io | bash

Atentie, pentru utilizarile viitoare ale comenzilor de tip curl din alte surse, acestea pot fi periculoase pentru sistem. Intotdeauna verificati linkul existent in acest tip de comanda, in cazul de fata https://install.pivpn.io intr-un browser veti vedea exact comenzile executete prin intermediul acestui script.

De indata ce confirmam comanda incepe instalarea.

Suntem avertizati ca odata cu inceperea instalarii, Raspberry PI, se va transforam intr-un server de OpenVPN sau Wireguard. Vom avea posibilitatea de a alege mai tarziu pe care dintre ele dorim sa il instalam. Daca pana acum am avut si alte servere instalate pe Raspberry PI asta nu inseamna ca odata ce instalam un server de VPN celelate nu vor mai functiona.

Ni se aminteste ca PiVPN este un server si va avea nevoie de IP static. Daca nu am setat pana acum un IP static pentru Raspberry PI vom avea ocazia in urmatorul ecran sa o facem.

Daca avem setat un IP static, atunci confirmam cu <Yes>, altfel alegem <No> si in pasii urmatori vom seta un IP static.

Continuam cu setarea unui IP Static

Confirmam setarile actuale, pentru a fixa IP-ul static.

Odata ce am confirmat setarile de retea, ni se va cere sa selectam un utilizator pentru a stoca configuratia. Exista cazuri in care alte softuri instalate pe sistem isi creaza utilizator propriu.

Recomandat este, pentru a se evita confuziile si pentru o mai usoara utilizare a sistemului, a se stoca aceasta configuratie pentru userul pi. Confirmam cu spatiu si alegem <ok> cu Tab

Avem optiunea de a alege intre Wireguard sau OpenVPN.

Alegem OpenVPN.

Selectand cu OK se va demara instalarea pachetelor necesare pentru serverul de OpenVPN

Alegem protocolul UDP.

In pasul urmator ni se va spune care este portul pe care functioneaza OpenVPN. Putem a il acceptam pe acesta, sau putem sa il schimbam. Eu recomand schimbarea lui, asta in cazul unui atac din exterior pe porturile default.

Alocarea numarului portului ramane la alegerea fiecaruia (poate fi 11948 sau 11914 sau 11294 etc), important este sa-l retinem, pentru ca vom avea nevoie de aceata informatie mai tarziu, in configurarea routerului pentru a deschide acel port in comunicarea cu exteriorul. Pentru acest tutorial de test eu am ales 11941, pe care il confirmam mai tarziu.

Este important sa retinem numarul acestui port, pentru ca la finalul instalarii va trebui sa deschidem acel port in router, pentru a avea acces la server din exteriorul retelei.

In etapa urmatoare va trebui sa alegem un DNS. Daca avem un furnizor DNS preferat il putem alege din lista. Daca acesta nu se afla pe lista atunci alegem ( ) Custom si ni se va sugera sa trecem datele.

Retineti ca un server DNS transforma denumirea unui site din limbaj uman, asa cum este www.google.com, in limbaj masina mai exact in IP. De exemplu noi scriem in browser www.google.com insa sistemul apeleaza IP-ul 216.58.206.4

Daca am scrie in browser IP-rezultat mai sus vom vedea ca ni se va deschide direct google.com, insa noua ne este mai usor sa retinem si sa utilizam denumiri de genul google.com decat o insiruire de cifre.

Pentru acest tutorial eu am ales OpenDNS. Intr-un alt tutorial voi analiza toate aceste DNS-uri propuse la instalarea PiVPN, astfel incat voi sa alegeti cea mai corecta optiune, functie de necesitatile voastre. Daca nu sunteti siguri puteti alege Google ca si DNS.

Cei are au deja un domeniu il pot customiza in acest moment, altfel sarim peste acest pas.

Avem optiunea de a ne adauga propriul DNS (DNS se foloseste pentru a face conversia unui IP intr-un nume) sau de a folosi IP-ul extern al deviceului nostru.

Pentru cei care folosesc RDS recomand crearea unui cont DDNS (despre asta in alt tutorial). Exemplu: IP-ul 88.10.518.97 (fiind IP-ul extern al deviceului nostru) poate fi accesat cu un nume de forma nume.go.ro.

Daca nu folositi RDS atunci va recomand crearea unui cont pe noip.com, unde aveti posibilitatea de a crea un DNS gratuit.

Cu siguranta majoritatea clientilor (telefon tableta laptop) ce se vor conecta la serverul nostru de VPN vor avea versiuni mai noi decat OpenVPN 2.4, de aceea recomand sa confirmam cu

Acum este nevoie sa generam un certificat de autentificare. Sistemul va face acest lucru automat. Cheia generata va fi stocata local si folosita ulterior in generarea de utilizatori noi. Functie de metoda de criptare aleasa (256-, 384-, 512-bit) poate dura pana la 10 minute generarea.

De indata ce instalarea este completa, vom vedea mesajul de confirmare, in care ni se sugereaza deja doua actiuni. ‘pivpn add’ – pentru crearea unui user, si ‘pivpn help’ pentru a citi documentatia .

Este recomandat ca la finalul procesului de instalare sa repornim Raspberry PI. Aceasta se va intampla automat, confirmad cu Yes.

Dupa restart vom crea un profil nou pe care sa il folosim pentru telefon, spre exemplu, cu comanda:

pivpn add

Ni se va cere sa specificam un nume pentru client. Pentru testul de astazi eu voi alege numele test1.

Vom defini valabilitatea certificatului. Putem alege un maxim 3650 de zile.

Vom seta o parola pentru acest profil.

Dupa cateva secunde profilul test1.ovpn este creat si disponibil in folderul /home/pi/ovpns.

Acesta il putem extrage de aici Folosind Filezilla.

Folosind comanda:

pivpn clients

vom vedea ce clienti sunt conectati la server.

Fifierul respectiv trebuie copiat pe deviceul cu care urmeaza sa ne conectam, si pus in managerul de retea. Nu uitati ca trebuie deschis portul de retea configurat anterior din router, astfel incat sa va puteti conecta si din afara retelei la el.

Si iata cum in aproximativ 10-15 minute ne-m putut crea singuri serverul de VPN, fara abonament, fara grija ca datele noastre pot fi manipulate de catre un alt intermediar insa cel mai important cu costuri minime.

Serverul in sine nu necesita resurse foarte mari astfel ca alaturi de el se mai pot instala si alte programe care sa ruleze in paralel, cum ar fi server de smart home, server de filme si muzica cum ar fi PLEX.

De Iulian Susnea

Pasionat de tehnologie, gadgeturi smart home si automatizari si am pornit la drum in crearea acestui site cu tutoriale pentru cele mai importante sisteme Smart Home ale momentului din dorinta de a-i ajuta pe cei la inceput de drum.

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *