de Denis Nuțiu

Cum să vă rulați propriul server OpenVPN pe un Raspberry PI

Cum sa va rulati propriul server OpenVPN pe un Raspberry
Cum sa va rulati propriul server OpenVPN pe un Raspberry
My Raspberry, servind ca server OpenVPN

Salutare tuturor!

În acest scurt articol voi explica cum să vă configurați propriul server VPN (rețea privată virtuală) pe un Raspberry PI cu OpenVPN. După ce configurăm serverul, vom configura un server de ofuscare pentru a ne masca traficul, indicând că folosim un VPN. Acest lucru ne va ajuta să evităm o formă de cenzură.

De ce să folosiți un VPN?

În primul rând, să vorbim despre motivul pentru care poate doriți să utilizați un server VPN:

  1. Evitați atacurile omului din mijloc. Dacă aveți un utilizator rău intenționat în rețeaua dvs. locală – chiar și colegul dvs. de cameră – acea persoană este capabilă să vă monitorizeze traficul necriptat și să îl manipuleze.
  2. Ascundeți-vă activitatea de internet de la furnizorul de servicii de internet (Internet Service Provider) sau de la universitate, în cazul meu.
  3. Deblocați serviciile. Universitatea mea blochează toate pachetele UDP (User Datagram Protocol). Aceasta înseamnă că nu pot folosi nicio aplicație care comunică prin UDP. Nu pot să-mi folosesc clientul de e-mail, să joc jocuri și nici măcar să folosesc Git!

Am decis să configurez un VPN pe internetul meu de acasă folosind un Raspberry Pi. În acest fel mă pot conecta la rețeaua de acasă în timp ce sunt la universitate. Dacă aveți nevoie de un server VPN în altă țară, puteți cumpăra un server privat virtual de 5 $ / lună de la DigitalOcean. Puteți utiliza linkul meu de recomandare pentru a obține 10 USD de reducere – adică două luni de VPN gratuit. Dar nu trebuie să-l folosești dacă nu vrei.

Instalarea OpenVPN

Acest pas este foarte ușor, deoarece vom folosi un script shell pentru a face acest lucru pentru dvs. Deci trebuie doar să „apăsați” în continuare și să terminați.

Instalarea va dura mult timp, în funcție de dimensiunea cheii pe care ați ales-o. Pe Raspberry Pi 3 Model B, a durat aproximativ 3 ore.

Accesați acest depozit și urmați instrucțiunile

Angristan / OpenVPN-instalare
Instalare OpenVPN – Configurați propriul server OpenVPN pe Debian, Ubuntu, Fedora CentOS și Arch Linuxgithub.com

Dacă nu cunoașteți adresa IP a serverului dvs., pur și simplu puneți 0.0.0.0 . am ales 443 pentru port și TCP (Protocolul de control al transmisiei) pentru protocol.

Notă: Acest lucru este foarte important, deoarece universitatea mea permite doar TCP / 80 și TCP / 443 porturi, restul sunt cam blocate. De asemenea, Obfsproxy funcționează numai cu TCP, deci asigurați-vă că ați ales TCP!

După terminarea scriptului, veți primi un .ovpn fişier. Poate fi importat în clientul VPN preferat și totul ar trebui să funcționeze din cutie.

Testarea conexiunii

Importați fișierul .ovpn în clientul VPN și schimbați adresa IP 0.0.0.0 la adresa IP locală a Raspberry PI. În funcție de configurația rețelei dvs., aceasta poate avea forma192.168.*.* .

Notă: Acest lucru va funcționa numai dacă sunteți conectat la același WiFi ca și Pi.

1611595207 789 Cum sa va rulati propriul server OpenVPN pe un Raspberry
Vâscozitatea s-a conectat cu succes la serverul meu VPN.

Mi-am configurat routerul, astfel încât PI să primească întotdeauna o adresă IP rezervată. Este posibil să trebuiască să verificați setările routerului dacă doriți să faceți ceva similar.

Dacă conexiunea are succes, felicitări, aveți acum un server VPN! Însă, nu îl puteți accesa din exterior … încă.

Dacă doriți doar un server OpenVPN fără proxy ofuscare, puteți săriți la Port forwarding.

Confuzie Instalare proxy

Obfs4 este un proxy ascuns. Deghizează traficul dvs. de internet pentru a arăta ca un zgomot. Cineva care vă ascultă traficul nu va ști de fapt ce faceți și vă va proteja de atacurile active de sondare folosite de Marele Firewall din China.

Notă: Această metodă nu va funcționa dacă adversarul dvs. permite doar traficul pe lista albă 🙁

Să instalăm serverul proxy acum.

0. Instalați pachetul necesar:

apt-get update && apt-get install obfs4proxy
  1. Creați un director care va deține configurația.
sudo mkdir -p /var/lib/tor/pt_state/obfs4

2. Creați fișierul de configurare.

sudo nano /var/lib/tor/pt_state/obfs4/obfs4.config

În fișierul de configurare, veți lipi următoarele lucruri:

TOR_PT_MANAGED_TRANSPORT_VER=1TOR_PT_STATE_LOCATION=/var/lib/tor/pt_state/obfs4TOR_PT_SERVER_TRANSPORTS=obfs4TOR_PT_SERVER_BINDADDR=obfs4-0.0.0.0:444TOR_PT_ORPORT=127.0.0.1:443

TOR_PT_SERVER_BINDADDR este adresa pe care proxy-ul va asculta conexiuni noi. În cazul meu este 0.0.0.0:444 – de ce 444 și nu 443? Ei bine, pentru că nu vreau să schimb configurația serverului OpenVPN care ascultă în prezent pe 443. De asemenea, voi mapa această adresă mai târziu la 443 folosind Port Forwarding.

TOR_PT_ORPORT ar trebui să indice spre serverul OpenVPN. În cazul meu, serverul meu funcționează 127.0.0.1:443

3. Creați un fișier de serviciu SystemD.

sudo nano /etc/systemd/system/obfs4proxy.service

Apoi lipiți în el următorul conținut:

[Unit]Description=Obfsproxy Server[Service]EnvironmentFile=/var/lib/tor/pt_state/obfs4/obfs4.configExecStart=/usr/bin/obfs4proxy -enableLogging true -logLevelStr INFO[Install]WantedBy=multi-user.target

4. Porniți proxy-ul Obfuscation.

Acum, asigurați-vă că OpenVPN rulează și rulați următoarele comenzi pentru a porni proxy-ul și pentru a-l permite să înceapă la boot.

sudo systemctl start obfs4proxysudo systemctl enable obfs4proxy

5. Salvați cheia cert

După ce serviciul a început, rulați următoarea comandă și salvați cheia cert.

cat /var/lib/tor/pt_state/obfs4/obfs4_bridgeline.txt

Cheia este a formei Bridge obfs4 <IP ADDRESS>:<PORT> <FINGERPRINT> cert = KEY iat-mode = 0. Veți avea nevoie de el când vă conectați la VPN.

6. Testarea conexiunilor.

Deschideți-vă clientul VPN și schimbați IP-ul de la 443 la 444 pentru a vă conecta la proxy în loc de serverul OpenVPN.

După aceea, găsiți opțiunea Transport conectabil în clientul dvs. OpenVPN și vedeți dacă acceptă obfs4.

1611595207 30 Cum sa va rulati propriul server OpenVPN pe un Raspberry
Vâscozitatea acceptă diferite metode de ofuscare, cum ar fi: obfs2, obfs3, obfs4 și ScrambleSuit

Dacă totul funcționează, atunci ești gata! Felicitări! Mai sunt doar câteva lucruri de modificat înainte de a utiliza acest VPN din lumea exterioară.

Port forwarding

Pentru a accesa serverul OpenVPN din lumea exterioară, trebuie să deblocăm porturile, deoarece acestea sunt cel mai probabil blocate. După cum vă amintiți, am rezervat adresa IP a IP-ului meu pe routerul meu pentru a fi întotdeauna 192.168.1.125 deci nu se schimbă dacă PI se deconectează sau dacă routerul repornește.

Astfel am definit următoarele reguli în tabelul meu de redirecționare a porturilor:

1611595207 242 Cum sa va rulati propriul server OpenVPN pe un Raspberry
Pagina setărilor pentru redirecționarea portului TL-WR841N.

Portul exterior 443 va indica spre portul serverului ofuscării 444. Dacă nu aveți un server de ofuscare, atunci plecați 443-> 443.

Portul 25 va indica portul SSH al PI. Acest lucru este doar pentru confortul meu.

În cazul în care doresc să accesez serverul OpenVPN direct fără proxy de ofuscare, am creat o regulă 444->443

Portul de serviciu este IN AFARA port care va fi utilizat cu PUBLIC Adresa IP. Pentru a găsi adresa IP publică, utilizați un serviciu precum whatsmyip.com.

Portul intern este INTERIOR port. Poate fi folosit numai atunci când sunteți conectat la rețea.

Notă: prima regulă spune că redirecționează toate conexiunile de la PUBLIC_IP: 443 la 192.168.1.125:444

Testarea

  1. Găsiți-vă IP-ul public și înlocuiți-vă vechiul IP cu IP-ul public în fișierul .ovpn sau în clientul VPN.
  2. Conectați-vă la VPN.

Asta e.

DNS dinamic

În majoritatea cazurilor, adresa IP se va schimba deoarece este o adresă IP dinamică. O modalitate de a depăși acest lucru este de a crea un mic program pe PI care vă salvează IP-ul și vă trimite un e-mail în fiecare zi sau cam așa ceva. De asemenea, puteți stoca adresa IP într-o bază de date online, cum ar fi Firebase.

Ruterul meu are setări DNS dinamice. În acest fel pot folosi un furnizor de servicii precum NoIP și pot obține un domeniu de genul example.no-ip.com care va indica întotdeauna adresa mea IP publică.

1611595208 974 Cum sa va rulati propriul server OpenVPN pe un Raspberry
Pagina de setări TL-WR841N DDNS

Alte resurse:

Dacă aveți întrebări, loviți-mă Stare de nervozitate.