Cum să vă găzduiți propriul VPN cu Algo și Cloud Hosting

Publicat: 2022-01-29

O ilustrație digitală a unui smartphone și laptop conectate la un VPN.

Companiile din întreaga lume vând servicii VPN pentru a vă asigura activitatea online, dar puteți avea încredere într-adevăr într-un furnizor VPN? Dacă doriți, vă puteți crea propria rețea privată virtuală cu software-ul open-source Algo și furnizorul de găzduire în cloud la alegere.

VPN-uri și încredere

Indiferent de ce spune politica de confidențialitate sau se laudă cu privire la auditurile de securitate pe blogul unei companii, nimic nu împiedică un VPN să monitorizeze tot ceea ce faci online. În cele din urmă, alegerea unui serviciu VPN se rezumă la încredere.

Dacă ai încredere în serviciile online fără chip nu este treaba ta, o alternativă este să rulezi propriul server VPN. Aceasta a fost o sarcină descurajantă, dar datorită proiectului open-source Algo de la compania de securitate Trail of Bits, crearea propriului VPN este acum ușoară.

Pentru 5 USD pe lună, puteți rula și controla propriul server VPN cu normă întreagă. Și mai bine, puteți folosi Algo pentru a configura și a dezastrui serverele VPN după cum aveți nevoie de ele și pentru a economisi bani în acest proces.

Pentru a configura Algo, trebuie să utilizați linia de comandă. Dacă acest lucru este dezamăgitor, nu vă faceți griji - vă vom ghida prin fiecare pas.

Publicitate

Aceste instrucțiuni ar putea părea multe, dar asta doar pentru că explicăm cât de mult putem. Odată ce ați creat de câteva ori un VPN cu Algo, nu ar trebui să dureze deloc foarte mult. În plus, trebuie să configurați mediul de instalare Algo o singură dată. După aceea, puteți crea un nou server VPN cu câteva apăsări de taste.

Dar poți avea încredere că scripturile lui Algo nu fac nimic rău? Ei bine, vestea bună este că codul Algo este public pe GitHub pentru ca oricine să-l poată privi. În plus, mulți experți în securitate sunt interesați de proiectul Algo, ceea ce face ca abaterile să fie mai puțin probabile.

LEGATE: Ce este un VPN și de ce aș avea nevoie de unul?

Ce poate (și nu) poate face Algo

Un VPN este o modalitate bună de a vă proteja activitatea online, în special într-o rețea Wi-Fi publică dintr-un aeroport sau o cafenea. Un VPN face navigarea pe web mai sigură și împiedică orice actor rău intenționat care s-ar putea afla în aceeași rețea Wi-Fi locală. Un VPN poate ajuta, de asemenea, dacă ISP-ul dvs. restricționează anumite tipuri de trafic, cum ar fi torrentele.

Dar atenție, pirați! Descărcarea pradă prin propriul VPN nu este o idee bună, deoarece activitatea poate fi urmărită mai ușor până la tine.

De asemenea, dacă doriți să vizionați Netflix prin VPN-ul dvs., va trebui să căutați în altă parte - Algo nu funcționează cu el. Cu toate acestea, există multe servicii comerciale care acceptă Netflix.

Cerințe preliminare pentru Algo

Pentru a pune în funcțiune un server VPN Algo, aveți nevoie de un shell Unix Bash. Pe un sistem Mac sau Linux, puteți utiliza programul Terminal, dar pe Windows, va trebui să activați Subsistemul pentru Linux. Iată cum să instalați și să utilizați shell-ul Linux Bash pe Windows 10.

Publicitate

De asemenea, veți avea nevoie de un cont la un furnizor de găzduire de server cloud. Algo acceptă toate următoarele:

  • DigitalOcean
  • Amazon Lightsail
  • Amazon EC2
  • Vultr
  • Microsoft Azure
  • Google Compute Engine
  • Scaleway
  • Norul Hetzner
  • De asemenea, se instalează în instanțele OpenStack și CloudStack.

Dacă nu ați folosit niciodată niciunul dintre aceste servicii, vă recomandăm DigitalOcean, deoarece este foarte ușor de utilizat. Este, de asemenea, serviciul pe care îl folosim în acest tutorial. Procesul va fi puțin diferit dacă utilizați un alt furnizor.

Când contul dvs. DigitalOcean este gata de funcționare, conectați-vă și apoi, din tabloul de bord principal, selectați „API” din panoul din stânga sub titlul „Cont”.

Pe pagina următoare, faceți clic pe „Generează un nou token”. Un token de acces este un șir lung de litere și numere care permite accesul la resursele contului fără un nume de utilizator și o parolă. Va trebui să denumești noul simbol. În general, este o idee bună să-l denumiți după aplicația pe care o utilizați, cum ar fi „algo” sau „ian-algo” (dacă se întâmplă ca prenumele tău să fie Ian).

Fila „Jetoane/Chei” din meniul „Aplicații și API” de pe DigitalOcean.
Meniul „Aplicații și API” al DigitalOcean.

După ce noul token este generat, copiați-l și inserați-l într-un document text de pe desktop. Veți avea nevoie de el în câteva minute.

Configurarea mediului

Înapoi pe desktop, deschideți o nouă fereastră de terminal, tastați cd (pentru „schimbați directorul”, care este ceea ce se numesc folderele în lumea Unix) și apăsați Enter. Acest lucru vă va asigura că lucrați din directorul principal al terminalului.

Publicitate

La această scriere, Algo necesită Python 3.6 sau o versiune ulterioară. Introduceți următoarele în programul dvs. de terminal:

 python3 --versiune

Dacă primiți un răspuns precum Python 3.6.9 , sunteți gata; dacă nu, va trebui să instalați Python 3.

Pentru a instala Python 3 pe Mac, puteți utiliza managerul de pachete Homebrew. Când Homebrew este gata de lucru, tastați următoarea comandă într-o fereastră de terminal:

 brew instalează python3

Dacă utilizați Ubuntu Linux sau WSL pe Windows, ar trebui să aibă Python 3 în mod implicit. Dacă nu, metodele de instalare variază în funcție de versiunea dvs. de Linux. Căutați online „instalați Python 3 pe [inserați versiunea dvs. de Linux aici]” pentru instrucțiuni.

Apoi, trebuie să instalați Virtualenv Python3 pentru a crea un mediu Python izolat pentru Algo. Introduceți următoarele în Bash pe un Mac:

 python3 -m pip install --upgrade virtualenv

Pe Ubuntu Linux și WSL, comanda este următoarea:

 sudo apt install -y python3-virtualenv

Rețineți că adaptăm acest tutorial pentru Ubuntu și distribuțiile aferente, dar aceste instrucțiuni vor funcționa și pentru alte versiuni de Linux cu unele modificări minore. Dacă utilizați CentOS, de exemplu, ați înlocui instrucțiunile folosind apt cu dnf .

Apoi, trebuie să descarcăm Algo cu comanda wget . Mac-urile nu au wget instalat în mod implicit, așa că pentru a-l obține prin Homebrew, tastați următoarele:

 brew install wget 
Utilitarul wget preia fișierele de instalare Algo.

Acum, să descarcăm fișierele lui Algo:

 wget https://github.com/trailofbits/algo/archive/master.zip
Publicitate

După ce wget se termină, va exista un fișier comprimat numit „master.zip” în directorul principal al terminalului; hai să verificăm asta cu ls .

Dacă vedeți „master.zip” în lista de fișiere și foldere care apare, sunteți gata. Dacă nu, încercați să rulați wget din nou.

Acum, trebuie să dezarhivăm fișierul, așa că introducem următoarele:

 dezarhivați master.zip

După ce ați terminat, apăsați din nou ls . Ar trebui să vedeți acum un folder nou în directorul dvs. de pornire numit „algo-master”.

Suntem aproape gata de acțiune, dar mai întâi trebuie să ne instalăm mediul izolat și să instalăm încă câteva dependențe. De data aceasta vom lucra în folderul „algo-master”.

Tastați următoarele pentru a comuta la folder:

 cd ~/algo-master

Asigurați-vă că sunteți acolo cu această comandă:

 pwd
Publicitate

Aceasta înseamnă „printare director de lucru” și ar trebui să vă arate ceva de genul /home/Bob/algo-master sau /Users/Bob/algo-master . Acum că suntem în locul potrivit, să pregătim totul.

Fie copiați și lipiți, fie introduceți comanda de mai jos pe o singură linie (nu apăsați Enter până la sfârșit):

 python3 -m virtualenv --python="$(comandă -v python3)" .env && sursă .env/bin/activate && python3 -m pip install -U pip virtualenv && python3 -m pip install -r requirements.txt 

Acest lucru declanșează o mulțime de acțiuni în directorul Algo pentru a se pregăti pentru rulare.

Apoi, trebuie să vă denumiți utilizatorii pentru VPN. Dacă nu le numiți pe toate acum, va trebui fie să păstrați cheile de securitate (care este mai puțin sigură), fie să porniți un nou server de la zero mai târziu.

Oricum, tastați următoarele în terminal:

 nano config.cfg 

Aceasta deschide editorul de text din linia de comandă ușor de utilizat, Nano. Fișierul de configurare Algo conține multe informații, dar ne interesează doar partea care spune „utilizatori”. Tot ce trebuie să faceți este să eliminați numele de utilizator implicite (telefon, laptop, desktop) și să introduceți un nume pentru fiecare dispozitiv pe care îl doriți pe VPN.

De exemplu, dacă creez un VPN pentru mine, Bill și Mary, fișierul de configurare ar putea arăta astfel:

 users: - Ian_PC - Bill_Mac - Mary_PC - Ian_Android - Bill_iPhone - Mary_iPhone
Publicitate

După ce ați numit pe toți, apăsați Ctrl+O pentru a salva fișierul, urmat de Ctrl+X pentru a ieși.

Suntem aproape gata de acțiune, dar mai întâi oamenii din Windows trebuie să facă un mic ocol. De obicei, WSL nu setează permisiunile corecte de utilizator pentru folderul Algo, ceea ce deranjează Ansible (instrumentul pe care se bazează Algo pentru a implementa un server).

Pe WSL, tastați următoarele pentru a vă întoarce la directorul dvs. de acasă:

 CD

Apoi, tastați următoarele:

 chmod 755 -R ~/algo-master

Pentru a reveni la folderul Algo, tastați:

 cd ~/algo-master

Rulează Algo

Și acum este momentul adevărului.

Din folderul algo-master , tastați următoarele în fereastra terminalului:

 ./algo

Configurația Algo ar trebui să înceapă să ruleze. Veți ști că funcționează când vă va întreba ce furnizor de cloud doriți să utilizați. În cazul nostru, selectăm numărul (1) pentru DigitalOcean.

Dacă Algo eșuează, ar putea fi o serie de motive pe care nu le putem prezice aici. Dacă eroarea spune că directorul dvs. este „configurabil pentru scriere în lume”, urmați instrucțiunile de mai sus pentru modificarea permisiunilor.

Publicitate

Dacă primiți o altă eroare, verificați pagina de depanare din depozitul de proiecte Algo de pe GitHub. De asemenea, puteți copia mesajul de eroare și îl puteți lipi în Google pentru a-l căuta. Ar trebui să găsiți o postare pe forum care să vă ajute, deoarece este puțin probabil să fiți prima persoană care primește această eroare.

În continuare, vi se va cere indicativul de acces pe care l-ați copiat mai devreme din contul dvs. DigitalOcean. Copiați și inserați-l în terminal. Nu veți vedea nimic, deoarece Bash nu afișează caractere pentru intrările de parolă și fraze de securitate. Totuși, atâta timp cât apăsați pe lipire și apoi apăsați Enter, ar trebui să fie bine.

Dacă nu reușește, este posibil să fi încurcat pasta, ceea ce toată lumea face în Bash. Doar tastați următoarele pentru a încerca din nou:

 ./algo

Când Algo rulează, răspundeți la întrebările pe care le pune. Toate acestea sunt destul de simple, cum ar fi ceea ce doriți să denumiți serverul dvs. (folosirea „algo” în nume este o idee bună).

Apoi, vă va întreba dacă doriți să activați „Conectare la cerere” pentru dispozitivele Mac și iOS. Dacă nu utilizați niciunul dintre aceste dispozitive, tastați N pentru nr. De asemenea, vă va întreba dacă doriți să păstrați cheile PKI pentru a adăuga mai mulți utilizatori ulterior; în general, veți tasta N și aici.

Asta e! Algo va dura acum aproximativ 15 până la 30 de minute pentru a vă pune în funcțiune serverul.

Folosind Algo

Sigla WireGuard.

Când Algo își termină configurarea, terminalul revine la o linie de comandă promptă, ceea ce înseamnă că VPN-ul este gata de funcționare. La fel ca multe servicii comerciale, Algo folosește protocolul WireGuard VPN, care este cel mai tare lucru nou din lumea VPN-urilor. Acest lucru se datorează faptului că oferă securitate bună, viteze mai mari și este mai ușor de lucrat.

Publicitate

Ca exemplu despre ce să facem în continuare, vom activa Algo pe Windows. Pentru a configura alte dispozitive, vă puteți referi la depozitul Algo de pe GitHub.

Mai întâi, vom instala clientul desktop generic Windows de pe site-ul WireGuard. Apoi, trebuie să alimentam programului fișierul nostru de configurare pentru computer. Fișierele de configurare sunt stocate adânc în folderul algo-master la: ~/algo-master/configs/[VPN server IP address]/wireguard/ .

Există două tipuri de fișiere pentru configurarea dispozitivelor client VPN: .CONF și .PNG. Acestea din urmă sunt coduri QR pentru dispozitive precum telefoanele, care pot scana coduri QR. Fișierele .CONF (configurare) sunt fișiere text pentru clienții WireGuard desktop.

Pe Mac și Ubuntu, nu ar trebui să fie greu să găsești folderul algo-master în afara liniei de comandă. Pe Mac, algo-master se află în folderul Acasă; doar folosiți Finder > Go > Home pentru a ajunge acolo. Pe Ubuntu, puteți deschide Nautilus și va fi în folderul Acasă.

Pe Windows, totuși, WSL este separat de restul sistemului de operare. Din acest motiv, este mai ușor să copiați fișierele cu linia de comandă.

Publicitate

Folosind exemplul nostru anterior, să presupunem că vrem ca fișierul de configurare „Mary-PC.conf” să fie utilizat pe un computer cu Windows 10. Comanda ar arăta cam așa:

 cp ~/algo-master/configs/[Adresa IP server VPN]/wireguard/Mary-PC.conf /mnt/c/Users/[numele contului de utilizator Windows]/Desktop/

Observați spațiul dintre Mary-PC.conf și /mnt/ ; așa știe Bash unde se află fișierul de copiat și unde se duce. De asemenea, majusculele contează, așa că asigurați-vă că introduceți majuscule acolo unde este specificat.

Este firesc pe Windows să vrei să scrii C în unitatea „C:\”, dar în Bash nu o faci. De asemenea, nu uitați să înlocuiți biții din paranteze cu informațiile reale pentru computerul dvs.

De exemplu, dacă folderul dvs. de utilizator se află pe unitatea „D:\”, nu pe „C:\”, atunci înlocuiți /mnt/c/ cu /mnt/d/ .

Odată ce fișierul este copiat, deschideți clientul WireGuard pentru Windows. Faceți clic pe „Importați tuneluri din fișier”, apoi selectați fișierul de configurare de pe desktop. După ce ați terminat, faceți clic pe „Activați”.

În doar câteva secunde, vei fi conectat la propriul tău VPN!