Azi vreau să vă arăt cum vă puteți proteja pe internet cu ajutorul unui server OpenVPN Raspberry Pi.
Va fi un articol mai lung, dar vă asigur că nu este deloc complicat, chiar dacă va include mai multă informație și ceva mai multe aplicații.
În ziua de azi internetul este un domeniu public unde oricine poate face orice. Toți folosim internetul și sunt sigur că uneori nu ne gândim că putem fi în pericol. Ați folosit vreodată o conexiune Free WiFi? Mai exact, v-ați conectat la vreun HotSpot în vreo cafenea, aeroport, hotel sau, mai nou, în vreun mijloc de transport? Ei bine, niciuna dintre aceste conexiuni nu este sigură, iar tot ceea ce faceți când sunteți conectat poate fi văzut și de alții.
Aici nu mă refer la cei ce dețin HotSpot-ul, ci la alte persoane care sunt conectate la acel HotSpot în același timp cu voi. O rețea WiFi publică este vulnerabilă unui atac de tip MITM (Man In The Middle Attack). Adică traficul dintre dispozitivul vostru și HotSpot poate fi redirecționat către o altă persoană (Hacker) și, astfel, tot ce ați făcut poate fi aflat de acea persoană.
Cu ajutorul unui server VPN (Virtual Private Network) puteți avea o conexiune sigură oriunde v-ați afla. Ce face mai exact acest VPN? Simplu! Vă aduce rețeaua de acasă, care este sigură, acolo unde vă aflați.
Am să vă arăt cum putem face un server VPN pentru a ne securiza conexiunea la internet cu ajutorul unui Raspberry Pi și OpenVPN.
Creare server OpenVPN Raspberry Pi
Raspberry Pi
În primul rând, avem nevoie de un Raspberry Pi, instalat și configurat. Dacă nu știți cum să faceți asta, veți găsi mai jos linkuri către articolele care vă pot ajuta. Pentru acest articol am folosit un Raspberry Pi 2. Puteți folosi orice Raspberry Pi, dar, pentru a beneficia de o viteză mai bună pentru conexiune, recomand minimum Raspberry Pi 3.
Cei de la https://www.pivpn.io/ au simplificat atât de mult instalarea și configurarea unui server OpenVPN pe un Raspberry Pi încât chiar și un copil ce știe să citească poate face o astfel de instalare. Este suuuuuper simplu!!!
curl -L https://install.pivpn.io | bash
Aceasta a fost instalarea. Acum voi configura serviciul în câțiva pași foarte simpli. Cei de la PiVPN au simplificat și automatizat tot procesul încât nu trebuie decât să dai click-uri. Am să apăs butonul Ok pentru a începe.
Serverul nostru de OpenVPN va avea nevoie de o adresă IP statică, adică fixă, pentru a funcționa. Dacă nu ai configurat una pentru RPI, nu este nicio problemă. Apăsăm OK.
Daca vrei să păstrezi adresa afișată, apeși Yes pentru a merge mai departe. Dacă vrei să o modifici, poți să apeși No. Eu am să păstrez adresa pentru că nu mă deranjează. Adresele folosite în acest articol sunt doar pentru testare.
Va trebui să alegem un cont de utilizator pentru a rula serverul. Am să apăs Ok, după care am să las selectat contul de utilizator pi și voi apasă Ok pentru a merge mai departe. Dacă vreți să folosiți alt cont de utilizator, va trebui ca înainte de instalarea serverului OpenVPN pe Raspberry Pi să creați un alt cont de utilizator.
Acum va trebui să selectăm tipul serviciului de VPN. OpenVPN sau WireGuard. Așa cum am spus la început, am să instalez OpenVPN. Deci voi alege OpenVPN din listă și am să apăs Ok.
Implicit aplicația ne sugerează care ar fi cea mai utilă configurație pentru noi. O puteți lăsa așa apăsând No sau puteți modifica apăsând Yes. Pentru că vreau să fie o configurație cât mai simplă și să nu intrăm în detalii, am să apăs No pentru a merge mai departe.
Puteți folosi orice port pe care să se facă conexiunea sau puteți lăsa portul 1194 care este cel implicit pentru servicii VPN. Aici este indicat să modificați portul, dar nu alegeți un port cunoscut cum ar fi 21, 22, 80, 8080, 443, 3389 etc. Am să las 1194 în cazul meu, fiind vorba de o testare. Apăs Ok, iar în următoarea fereastră am să aleg Yes pentru confirmare.
Avem nevoie și de un furnizor de DNS. Eu am ales Google fiind foarte cunoscut și… Google cam știe tot.
Acum se complică puțin lucrurile.
În România, cel puțin, adresele IP pe care le avem alocate de la furnizorul de internet nu sunt statice decât dacă contractul de internet este unul business. Pentru VPN avem nevoie de o adresă IP statică sau un nume de domeniu. Util este să avem un nume de domeniu, de forma frunzaverde.ro. Astfel va fi mult mai ușor să ținem minte un nume decât o adresă IP de forma 172.217.19.99 (google.ro). Pentru aceasta vom folosi înregistrări DDNS.
Dacă sunteți client Digi (RCS-RDS), alegeți un nume care automat este legat la contul vostru, iar atunci când adresa voastră IP se modifică veți putea folosi numele pentru a avea acces.
În cazul UPC, din câte știu, adresa IP nu prea se modifică. Pentru alți furnizori, va trebui să întrebi furnizorul tău de internet.
Mai puteți face cont pe https://freedns.afraid.org/ și să utilizați unul din subdomeniile libere de acolo căruia să îi asociați adresa voastră IP. Eu am un domeniu și am să îl folosesc. Am să selectez DNS entry și voi apăsa Ok.
Voi introduce numele de domeniu și apăs Ok. După care Yes pentru confirmare.
Așa cum spune și mesajul, vom lăsa update-urile să se instaleze automat atunci când acestea sunt disponibile. Apăsăm Ok, după care Yes.
Aceasta a fost instalarea și configurarea. Acum, pentru a crea un cont de acces la VPN va trebui să rulăm comanda pivpn add. Vom apăsa Ok și încă o data Ok pentru generarea cheilor de acces.
Mai trebuie să facem un restart pentru ca toată configurație să devină activă.
Gata. S-a instalat.
Acum să creăm primul utilizator.
Creare utilizatori pe OpenVPN Raspberry Pi
Pentru a crea un utilizator pe serverul nostru de OpenVPN Raspberry Pi vom rula comanda:
pivpn add
Voi da un nume pentru contul de VPN. Puteți crea cât de multe conturi vreți. Eu am ales numele 7hub, am lăsat implicit perioada de expirare a certificatului la 1080 de zile și am ales și o parola. Parola trebuie introdusă de 2 ori la fel, pentru a fi siguri că nu este introdusă greșit. Parola va fi folosită pentru criptarea cheii când aceasta este creată și decriptarea ei atunci când vrem să ne conectăm la server din aplicație.
Cheia de acces a fost creată și poate fi descărcată din calea /home/pi/ovpns/7hub.ovpn.
Configurare router pentru OpenVPN Raspberry Pi
Având în vedere că trebuie să ne putem conecta din internet la serverul OpenVPN de pe Raspberry Pi care se află în rețeaua locala, va trebui să creăm o “poartă”. Știu că poate suna înfricoșător, dar nu este. Pentru asta trebuie să ne conectăm la routerul nostru. Conectarea la el se face printr-un browser, introducând adresa IP a routerului. Dacă nu o știți, o puteți afla tastănd în CMD (Command Prompt).
ipconfig /all
Căutați linia care începe cu Default Gateway. Aceea este adresa routerului vostru. Sau poate fi trecut pe spatele routerlui vostru împreună cu datele de logare, dacă nu le-ați schimbat.
Eu am folosit un router TP-Link pentru acest proiect. În cazul vostru poate să difere un pic interfața/structura. Trebuie să căutați secțiunea de NAT Forwarding sau Port Forwarding.
La mine se află în Advanced, apoi am deschis secțiunea NAT Forwarding și am ales Virtual Servers. Am dat click pe Add și am completat câmpurile solicitate. Pentru Service Type, am pus numele VPN, ca să pot identifica mai ușor în listă. Am lăsat la Protocol selectat All și portul external și internal 1194. La Internal IP am pus adresa IP a serverului VPN, 192.168.0.120.
Pentru început vom crea o conexiune la serverul VPN pentru a descărca cheia cu ajutorul aplicației Astro. În aplicație voi alege să adaug o nouă conexiune din secțiunea Storage Locations. Această conexiune este de tipul SFTP. Se va deschide o fereastră unde va trebui să introducem datele de conectare.
La user se va trece pi (dacă nu ați schimbat numele utilizatorului), server192.168.0.120, în cazul meu; voi trebuie să treceți adresa IP a serverului vostru VPN și portul este 22. După ce ați introdus aceste date, apăsați Save. Acum, în secțiunea Storage Locations, va apărea noua conxiune. Vom da click pe această conexiune și vom introduce parola. Dacă nu ați schimbat parola la configurarea RPI-ului, atunci aceasta va fi raspberry. Dacă vreți ca parola sa fie ținută minte, puteți să bifați căsuța Save Password. Eu recomand să nu salvați niciodată parolele.
Acum, că ne-am conectat la server, va trebui să mergem în home, apoi în pi și să intrăm în ovpns. Aici vom găsi cheia: 7hub.ovpn, în cazul meu, la voi va avea numele pe care l-ați dat cand ați creat utilizatorul de VPN. Țineți apăsat pe ea încât să o puteți selecta și apoi dați click pe copy. În colțul din stânga sus apăsați pe iconița, căsuță, și din secțiunea Storage Locations alegeți Internal shared storage. Acum veți avea acces la structura de foldere de pe telefonul sau tableta voastră. Căutați folder-ul Documents și apăsați Paste la fișierul cu cheia în el.
Am ales folder-ul Documents pentru a fi mai ușor. Puteți pune cheia aproape oriunde, dar va trebui să vă fie ușor să o găsiți cu aplicația OpenVPN.
Când veți deschide aplicația prima oară, veți avea o fereastră goală, nu ca în cazul meu, și un buton cu semnul plus in colțul din dreapta jos.
Când veți deschide aplicația OpenVPN prima oară, veți avea o fereastră goală, nu ca în cazul meu, și un buton cu semnul plus in colțul din dreapta jos.
Apăsați pe el, iar din partea de sus apăsați pe butonul File. Acum mergeți către folder-ul Documents de pe telefonul vostru și selectați fișierul ovpn. Pentru finalizare, apăsați pe butonul Import.
Puteți lăsa bifată căsuța Connect after import. Dacă lăsați bifată căsuța, aplicația vă va cere parola pe care ați configurat-o atunci când ați creat cheia pe server, după care se va conecta automat la serverul VPN.
Conectare și verificare OpenVPN Raspberry Pi
Să testăm conexiune. Eu pe serverul meu VPN am instalat și un server de web pentru a vă arăta conexiunea la rețeaua locală din internet.
Din aplicație alegem numele conexiunii, la mine se va numi 7hub, iar în momentul în care activez conexiunea îmi va cere parola configurată la crearea utilizatorului.
După ce am introdus parola în aplicație, va apărea în partea de sus mesajul Connected și un grafic ce reprezintă traficul efectuat de voi, în partea de jos.
Am să deschid un browser și voi introduce o adresa IP din rețeaua locala. Așa cum am spus mai devreme, am să accesez un server web la adresa 192.168.0.120. Se poate observa în partea de sus a imaginii că sunt conectat la datele mobile cu telefonul (4G+) și, de asemenea, mai apar două simboluri. O cheiță lângă iconițele de semnal și o căsuța lângă iconița cu bateria. Acestea semnifică că sunt conectat la rețeaua locală prin OpenVPN și am o conexiune sigură.
În browser se poate vedea pagina de la Apache care a fost accesată pe o adresă IP locală, nu din internet.
Acum puteți să vă conectați la internetul de acasă de oriunde v-ați afla și să fții în siguranța de pe telefon. Hai să vedem cum putem să ne conectăm și cu un laptop cu Windows.
Configurare dispozitiv mobil - Windows
Pentru desărcarea cheii ovpn de pe Raspberry vom folosi WinSCP.
Deschidem aplicația și introducem datele de conectare. Adresa IP a RPI-ului la Host name, numele de cont pi la User name și selectăm protocolul SFTP, vom lăsa portul 22 selectat. Apăsăm butonul Login și ne-am conectat.
Introducem parola, iar la prima autentificare pe RPI vom primi si o cheie SSH care va fi folosită în background la autentificare. Pentru că în cazul meu am mai folosit adresa IP și la alt RPI în trecut, aplicația îmi va cere să reînnoiesc cheia SSH, am să apăs deci butonul Update.
Se va deschide o fereastră împărțită în două părți. În partea stângă este structura de fișiere de pe laptopul meu. În această parte voi naviga unde vreau să salvez cheia. Am ales să salvez pe Desktop într-un folder cu numele OVPN. În partea din dreapta am să navighez pe RPI până la fișierul ovpn în locația /home/pi/ovpns . Acum foarte simplu am să trag din dreapta fișierul meu 7hub.ovpn în partea stângă. Astfel am salvat cheia de pe RPI pe laptopul meu.
Pentru Windows vom deschide aplicația din meniul Start, așa cum se poate vedea în imaginea de mai jos.
La fel ca la aplicația de pe telefon alegem File și vom selecta fișierul ovpn salvat de pe server. Utilizarea aplicației OpenVPN de pe Windows este similară cu cea de pe telefonul mobil.
Odată ce ați introdus profilul, cheia, nu mai trebuie decât să apăsați pe butonul slider din stânga sau să apăsați pe nume și vi se va cere parola pentru a vă conecta.
Este un articol destul de lung pe care am încercat să îl fac să fie cât mai ușor de urmărit. Am încercat pe cât posibil să pun imagini pentru fiecare pas. Toată această instalare este destul de intuitivă, dar dacă întâmpinați dificultăți nu ezitați să îmi scrieți.
Vă informăm că site-ul 7hub.ro foloseşte fişiere cookie pentru a facilita navigarea, pentru a colecta informaţii statistice despre vizitatori şi pentru a memora date despre preferinţele acestora privind navigarea, pentru a îmbunătăţi utilizarea site-ului, pentru a se integra cu rețelele de socializare, pentru a afișa reclame relevante pentru interesele tale şi pentru a ieşi astfel în întâmpinarea cerinţelor utilizatorilor. Prin apăsarea butonului “Accept”, vă dați acordul pentru cele menționate anterior. Te rog, nu uita să porți mască, să păstrezi distanța socială și să te speli pe mâini!
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.