Sadržaj:

Raspberry Pi VPN pristupnik: 6 koraka
Raspberry Pi VPN pristupnik: 6 koraka

Video: Raspberry Pi VPN pristupnik: 6 koraka

Video: Raspberry Pi VPN pristupnik: 6 koraka
Video: Как настроить домашнюю сеть с сетевым хранилищем Raspberry Pi 2 и синхронизацией данных 2024, Novembar
Anonim
Raspberry Pi VPN pristupnik
Raspberry Pi VPN pristupnik

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

Odabir vaše VPN usluge
Odabir vaše 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

Instalirajte OpenVPN
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: