Sadržaj:
- Korak 1: Odabir VPN usluge
- Korak 2: Instalirajte Raspberry Pi
- Korak 3: Instalirajte OpenVPN
- Korak 4: Postavite usmjeravanje
- Korak 5: Postavite vatrozid i NAT
- Korak 6: Zaključak
Video: Raspberry Pi VPN pristupnik: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Ažuriranje 2018-01-07:
- Ažurirane stvari nedostaju i potrebne su promjene za trenutnu verziju Raspiana.
- Također je izradio poseban vodič za NordVPN.
Postoji nekoliko različitih upotreba VPN -a. Ili želite zaštititi svoju privatnost i privatne podatke od znatiželjnih očiju ili trebate izvor iz druge zemlje. Nabava iz druge zemlje može biti vrlo korisna za pristup uslugama koje se ne pružaju u vašoj zemlji. Danas postoji niz VPN usluga, a većina njih nudi softver za korištenje na računaru i aplikacije za tablet ili telefon. Ali ako softver koji podržava drugi uređaji želite preći preko VPN -a? Zatim izgradite pristupnik koji vam omogućuje pristup internetu putem VPN -a.
Ako pogledate svoje osnovno mrežno postavljanje, imate "zadani pristupnik" koji se koristi za bilo koju IP adresu koja se ne nalazi u vašoj trenutnoj podmreži (vrlo pojednostavljeno). Dakle, ako postavite gateway koji može usmjeravati internetski promet preko uspostavljene VPN veze, bilo koji uređaj s omogućenom mrežom može iskoristiti VPN tunel.
Moj najveći slučaj korištenja u mom stanu u San Franciscu je VPN tunel do moje rodne Švedske, tako da mogu prenositi švedske kanale za reprodukciju na svojim media playerima i pametnom TV -u. Ovo je prilično uobičajen slučaj upotrebe za većinu ljudi kojima je potreban VPN tunel. Budući da moji media playeri i pametni televizori nisu podržani VPN softverom, napravio sam jedan od Raspberry Pi.
Na Amazonu možete kupiti jedan za manje od 40 USD. Ipak vam preporučujem da kupite kućište i pristojan adapter za napajanje. Za ovu instrukciju potrebno vam je:
- Malina Pi 2 ili 3
- Slučaj po vašem ukusu
- Pristojan adapter za napajanje
- Mrežni kabel
Korak 1: Odabir VPN usluge
Važna stvar pri odabiru VPN usluge je da zadovoljava vaše zahtjeve. Za ovaj slučaj korištenja trebala mi je VPN usluga sa švedskom izlaznom točkom, to je najvažnije jer mi trebaju švedske usluge da se uvjerim da sam u Švedskoj. Tijekom godina koristio sam nekoliko različitih dobavljača, a dolje su stvari koje uzimam u obzir pri odabiru dobavljača VPN -a za određeni slučaj upotrebe:
Besplatni test
Želim besplatan period testiranja ili malu količinu testnih podataka kako bih stekao osjećaj za softver ili aplikaciju. Također želim testirati performanse i ukupno iskustvo prije nego što za to platim. Takođe je lijepo provjeriti da li će moja ideja uspjeti prije nego što počnem plaćati.
Privatnost
Ako je implementacija radi brige o privatnosti, onda je zaista važno šta navodi politika privatnosti. Takođe je važno iz koje zemlje kompanija posluje i koji zakoni štite vašu privatnost. Zaista zabrinuti korisnici privatnosti trebali bi pogledati uslugu koja navodi da se ne pohranjuju zapisnici o prometu i dopušta anonimna plaćanja putem Bitcoina, na primjer.
Dozvoljeni saobraćaj
Mogu postojati ograničenja u pogledu vrste prometa koju ćete smjeti pokretati. Ozbiljniji dobavljači obično blokiraju peer-to-peer promet. Ovo nije samo radi izbjegavanja pravnih problema, već i radi održavanja performansi za sve korisnike. Postoji uvijek mnogo dobrih dobavljača koji omogućavaju ravnopravne veze, a ipak pružaju visokokvalitetnu uslugu. Ali ako vam to nije glavni problem, preporučujem da odaberete uslugu koja ne dopušta peer-to-peer.
Ograničenje podataka
Nikada ne koristite uslugu koja ima ograničenje podataka nad svojim korisnicima koji plaćaju. Ovo će samo nestati u najgorem mogućem trenutku baš kao i podaci na vašem telefonu neposredno prije smiješnog dijela u video isječku!
Izlazne zemlje
Ovisno o slučaju upotrebe, to ima različitu važnost. Za slučaj upotrebe poput mog, gdje moram završiti u određenoj zemlji, naravno da to mora biti na listi. Takođe mi je potrebno omogućiti da izaberem u koju zemlju izlazim. Postoje usluge u kojima ne možete izabrati zemlju izlaska, klonite se njih. Možete završiti u zemlji sa lošim performansama ili zakonima o privatnosti. Čak i ako vam ne treba određena država, ipak biste trebali odabrati uslugu s nekoliko različitih zemalja za prikaz kako biste mogli pronaći uslugu s dobrim performansama.
Vrsta softvera i podrške
Ovo je jedan od glavnih razloga zašto preferiram usluge s besplatnim testom. Postoji toliko mnogo dobavljača sa lošim softverom koji su pogrešni, nesigurni ili jednostavno ne rade. Za implementaciju Raspberry Pi -a potreban mi je dobavljač koji podržava OpenVPN.
Moj izbor
Za ovu gradnju išao sam s Tunnel Bear -om. Nudi se besplatni test do 500 GB kako bih mogao testirati da li mogu strujati prije nego što bilo što platim. Sjedište im je u Kanadi koja, pored Švedske, ima neke od najjačih zakona o privatnosti na svijetu. Nema ograničenja podataka o plaćenoj usluzi, a dopušteno mi je i povezivanje nekoliko uređaja odjednom. Tako je i zaštita moga telefona, tableta i računara dok putujem na nesigurnom wifi -ju također razvrstana. Izlazni čvor u Švedskoj je podržan, zapravo se pruža putem Bahnhofa koji je poznat po jakoj privatnosti u Švedskoj. Za plaćene planove nude podršku za OpenVPN. Oni ne rade besplatni test, ali bilo je dovoljno pokrenuti ga s prijenosnog računara kako bih se uvjerio da usluge streaminga rade.
Korak 2: Instalirajte Raspberry Pi
Za ovakve implementacije koristim operativni sistem Raspbian Lite. S obzirom da uopće nemam potrebu za grafičkim sučeljem. Najnovije izdanje možete preuzeti ovdje.
Koristim Win32DiskImager za učitavanje.img datoteke na SD-karticu za Raspberry Pi.
Nakon što se Raspberry Pi pokrene, pogledam na DHCP listi svojih usmjerivača da dobijem IP adresu, a zatim se povežem preko SSH-a s Puttyjem. Standardno korisničko ime i lozinka su pi/raspberry
Nakon povezivanja pokrećem alat raspi-config za promjenu osnovnih postavki.
sudo raspi-config
Najvažnije stvari o kojima treba voditi računa u ovoj konfiguraciji su:
- Proširite sistem datoteka
- Promijenite lozinku
Takođe možete promeniti ime hosta vašeg Raspberry Pi -a ako želite. Moj DHCP ima jako dug zakup, a mogu i rezervirati određenu adresu. Ako nemate tu mogućnost, morate konfigurirati Raspberry Pi da koristi statičku IP adresu. Budući da će drugi uređaji ovo koristiti kao zadani pristupnik, važno je da nastavi koristiti istu IP adresu. Evo posta koji sam napisao o postavljanju statičkog IP -a u Raspbian Jessie.
Zatim moramo sve nadograditi na najnoviju verziju:
sudo apt-get updatesudo apt-get upgrade sudo apt-get dist-upgrade
Korak 3: Instalirajte OpenVPN
Sada moramo instalirati OpenVPN na Raspberry Pi.
sudo apt-get install openvpn
Zatim moramo biti sigurni da se usluga pravilno pokreće.
sudo systemctl omogući openvpn
Kad instalacija završi, moramo kopirati OpenVPN konfiguracijske datoteke i certifikate u okvir. Ovo će vam pružiti vaš VPN provajder. U mom slučaju, koristeći TunnelBear, tamo sam pronašao blog na kojem se govori o Linux podršci. Na toj stranici postoji veza do zip datoteke koja sadrži sve što nam je potrebno.
Datoteka sadrži datoteke certifikata i.opvn konfiguracijsku datoteku za svaku zemlju u koju možete ući tunelom. Potrebne su vam sve datoteke certifikata i.opvn konfiguracijska datoteka za zemlju po vašem izboru, u mom slučaju Švedsku. Raspakirajte potrebne datoteke i upotrijebite winscp za postavljanje datoteka na svoj Raspberry Pi. Isto korisničko ime/lozinka kao i za SSH će vas odvesti na/home/pi, samo ispustite datoteke tamo.
Zatim se vraćamo na SSH terminal i premještamo datoteke u mapu OpenVPN. Prva naredba je samo provjeriti jesmo li u /home /pi folderu.
cd /home /pi
sudo mv */etc/openvpn/
Sada moramo napraviti neke izmjene na datotekama. Prvo moramo preimenovati konfiguracijsku datoteku iz.ovpn u.conf. Svaka datoteka koja završava na.conf u fascikli /etc /openvpn automatski će se pokrenuti kada se pokrene OpenVPN demon. Prvo moramo ući u taj direktorij.
cd /etc /openvpn
Zatim promijenimo ime konfiguracijske datoteke. Možete ga nazvati kako god želite sve dok završava na.conf. Radije koristim imena datoteka bez praznih mjesta, u ovom slučaju idem sa swe.conf.
sudo mv *.ovpn swe.conf
Zatim nam je potrebna datoteka za provjeru autentičnosti koja sadrži korisničko ime i lozinku za VPN tunel. Otvorite uređivač teksta i upišite korisničko ime i lozinku u zasebne redove. Ovu datoteku ćemo nazvati auth.txt.
sudo nano auth.txt
Sadržaj bi trebao biti poput ovog primjera:
korisničko ime
lozinka
Zatim upotrijebite CTRL + O za pisanje u datoteku i CTRL + X za izlaz iz nano uređivača teksta. Također moramo zaštititi datoteku auth.txt koja sadrži naše vjerodajnice.
sudo chmod 600 /etc/openvpn/auth.txt
Zatim moramo urediti konfiguracijsku datoteku kako bismo bili sigurni da su sve putanje ispravne i dodati referencu na novostvorenu datoteku auth.txt.
sudo nano swe.conf
Linije koje je potrebno promijeniti su one koje se odnose na druge datoteke, moraju biti apsolutne staze. U ovom primjeru ovo je ono što tražimo:
ca CACertificate.crt
cert UserCertificate.crt ključ PrivateKey.key
Mijenjamo ih na apsolutne staze poput ove:
ca /etc/openvpn/CACertificate.crt
cert /etc/openvpn/UserCertificate.crt ključ /etc/openvpn/PrivateKey.key
Zatim na kraju datoteke dodamo referencu na datoteku auth.txt, ovako:
auth-user-pass /etc/openvpn/auth.txt
Još jednom koristimo CTRL + O za spremanje datoteke, a zatim CTRL + X za izlaz iz nano. Sada možemo ponovo pokrenuti OpenVPN demon i vidjeti da tunel radi.
sudo servis openvpn ponovno pokretanje
Ako pokrenete naredbu ifconfig, trebali biste vidjeti tun0 adapter pored vaših eth0 i lo adaptera ako je tunel gore. Također možete pokrenuti ovu naredbu da provjerite svoj javni IP:
wget https://ipinfo.io/ip -qO -
Ako imate problema s podizanjem tunela, prvo pokušajte ponovno pokrenuti Raspberry Pi, a zatim dvaput provjerite ima li grešaka u konfiguraciji.
Korak 4: Postavite usmjeravanje
Sada moramo omogućiti prosljeđivanje IP adrese. Omogućava protok mrežnog prometa s jednog mrežnog sučelja, a sa drugog. U osnovi stvaranje usmjerivača.
sudo /bin /su -c "echo -e '\ n#Omogući IP usmjeravanje / nnet.ipv4.ip_forward = 1'> /etc/sysctl.conf"
Ako pokrenete sudo sysctl -p, trebali biste vidjeti ovo ispisano na ekranu:
net.ipv4.ip_forward = 1
Sada je usmjeravanje omogućeno i promet može ići kroz Raspberry Pi, preko tunela i na internetu.
Korak 5: Postavite vatrozid i NAT
Budući da ćemo iznutra imati nekoliko klijenata koji pristupaju internetu putem jedne javne IP adrese, moramo koristiti NAT. On označava prijevod mrežne adrese i pratit će koji je klijent zatražio koji promet kada se informacije vrate preko tunela. Također moramo postaviti sigurnost oko Raspberry Pi -a i tunela.
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Omogućavanje NAT -a.
sudo iptables -A NAPRIJED -i eth0 -o tun0 -j PRIHVATI
Omogućavanje bilo kakvog prometa od eth0 (interni) da ide preko tun0 (tunel).
sudo iptables -A NAPRIJED -i tun0 -o eth0 -m stanje -stanje POVEZANO, USTANOVLJENO -j PRIHVATI
Omogućavanje saobraćaja od tun0 (tunel) da se vrati preko eth0 (interni). Budući da navodimo stanje RELATED, ESTABLISHED, bit će ograničeno na vezu iniciranu iz interne mreže. Blokiranje vanjskog prometa pokušava uspostaviti novu vezu.
sudo iptables -A ULAZ -i lo -j PRIHVATI
Omogućavanje vlastitog loopback prometa za Raspberry Pi.
sudo iptables -A ULAZ -i eth0 -p icmp -j PRIHVATI
Dozvoljavanje računarima na lokalnoj mreži da pinguju Raspberry Pi.
sudo iptables -A ULAZ -i eth0 -p tcp --dport 22 -j PRIHVATI
Dopuštanje SSH -a iz interne mreže.
sudo iptables -A INPUT -m stanje -stanje USTANOVLJENO, POVEZANO -j PRIHVATANJE
Dopuštajući povratak cijelog prometa koji je pokrenuo Raspberry Pi. Ovo je isti državni dug kao i ranije.
sudo iptables -P NAPRIJED DROP
sudo iptables -P ULAZNI DROP sudo iptables -L
Ako promet ne odgovara nijednom od navedenih pravila, bit će odbačen.
sudo apt-get install iptables-persistent
sudo systemctl enable netfilter-persistent
Prvi red instalira mir koda koji pravila iptable -a koja smo upravo stvorili čini postojanim između ponovnog pokretanja. Drugi sprema pravila nakon što ste ih promijenili. Ovaj put je dovoljno pokrenuti prvu. Ako promijenite pravila, pokrenite drugo za spremanje. Iptable pravila stupaju na snagu čim ih dodate ako zabrljate i izgubite pristup samo ponovo pokrenite sistem, a ona koja već nisu spremljena vratit će se.
Korak 6: Zaključak
Sada ovaj tunel možete koristiti sa bilo kojeg uređaja ili računara na istoj mreži. Samo promijenite zadani pristupnik na bilo koju IP adresu koju vaš Raspberry Pi ima. U mom slučaju oba moja Kodi medijska centra (jedna spavaća soba i jedna dnevna soba) koriste ovu vezu tako da mogu prenositi svoje švedske kanale za reprodukciju. Naravno, postoje i druge stvari za koje ovo možete koristiti.
Samo imajte na umu da bi ovisno o dobavljaču VPN -a kojeg ste odabrali i brzini internetske veze moglo doći do sporih performansi.
Ako imate pitanja ili želite da vam nešto pojasnim, javite mi u komentarima! Za više tehničkih objava posjetite moj blog Hackviking!
Preporučuje se:
Kako pretvoriti svoj Raspberry Pi u pristupnik za daljinski pristup: 6 koraka
Kako pretvoriti svoj Raspberry Pi u pristupnik za daljinski pristup: Hej momci! U svjetlu nedavnih događanja, naš tim na lokaciji remote.it radio je na napornim idejama o tome kako daljinski rad učiniti bezbolnim i pristupačnim. Osmislili smo sliku remote.itPi SD kartice, SD karticu koju možete staviti u novu
Kako napraviti vlastiti WIFI pristupnik za povezivanje vašeg Arduina na IP mrežu?: 11 koraka (sa slikama)
Kako napraviti vlastiti WIFI pristupnik za povezivanje vašeg Arduina s IP mrežom?: Kao i mnogi ljudi mislite da je Arduino vrlo dobro rješenje za kućnu automatizaciju i robotizaciju! No, u smislu komunikacije, Arduinos dolazi samo sa serijskim vezama. Radim na robotu koji mora biti trajno povezan sa serverom koji radi
ESP32 Lora Thingspeak pristupnik sa čvorom senzora: 9 koraka
ESP32 Lora Thingspeak Gateway sa čvorom senzora: u ovom IoT projektu dizajnirao sam ESP32 LoRa Gateway & takođe ESP32 LoRa senzorski čvor za bežično praćenje očitavanja senzora sa udaljenosti od nekoliko kilometara. Pošiljatelj će čitati podatke o vlažnosti i temperaturi pomoću DHT11 senzora. Zatim prenosi
Serijski UDP/IP pristupnik za Arduino na osnovu ESP8266 štita: 8 koraka
Serijski UDP/IP pristupnik za Arduino baziran na ESP8266 Shield -u: Već sam 2016. objavio ovo uputstvo "Kako napraviti vlastiti WiFi pristupnik za povezivanje vašeg Arduina na IP mrežu". Budući da sam napravio neka poboljšanja koda i još uvijek koristim ovo rješenje. Ipak, sada postoje neki ESP8266 štitovi t
Raspberry Pi LoRaWAN pristupnik: 3 koraka
Raspberry Pi LoRaWAN pristupnik: Ovaj projekt je Raspberry PI iC880a-spi LoRaWAN pristupnik. Sastavljeno je korištenjem raznih drugih vodiča na mreži, a uključuje najbolje i ono što trenutno funkcionira iz tih vodiča, a koje su reference bile su neophodne. Kapija