de Denis Nuțiu
Conţinut
Cum să vă rulați propriul server OpenVPN pe un Raspberry PI
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:
- 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.
- Ascundeți-vă activitatea de internet de la furnizorul de servicii de internet (Internet Service Provider) sau de la universitate, în cazul meu.
- 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.
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
- 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> c
ert = 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.
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:
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
- 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.
- 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ă.
Alte resurse:
- O grădină pentru copii a transporturilor conectabile
- Viscosity-Obsfurcation /
- https://www.pluggabletransports.info/transports/
Dacă aveți întrebări, loviți-mă Stare de nervozitate.
#Cum #să #vă #rulați #propriul #server #OpenVPN #Raspberry
Cum să vă rulați propriul server OpenVPN pe un Raspberry PI