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: 02 - Raspberry Pi + Nextcloud. Домашний и свой Cloud. Установка и настройка 2024, Srpanj
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 jednostavno korištenje za vaše računalo i aplikacije za vaš tablet ili telefon. No ako imate druge uređaje koje softver ne podržava, želite prijeći preko VPN -a? Zatim izgradite pristupnik koji vam omogućuje pristup internetu putem VPN -a.

Ako pogledate svoje osnovne mrežne postavke, 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, svaki 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 strujati š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 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 VPN usluge
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 uporabe:

Besplatni test

Želim besplatno razdoblje 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đer je lijepo provjeriti hoće li moja ideja uspjeti prije nego što počnem plaćati.

Privatnost

Ako se implementacija odnosi na privatnost, onda je zaista važno što navodi politika privatnosti. Također je važno iz koje zemlje tvrtka posluje i koji zakoni štite vašu privatnost. Korisnici koji se doista tiču privatnosti trebali bi pogledati uslugu koja navodi da se ne pohranjuju zapisnici prometa i dopuštaju, na primjer, anonimna plaćanja putem Bitcoina.

Dozvoljeni promet

Moguće je da postoje ograničenja u pogledu vrste prometa koju ćete smijeti pokretati. Ozbiljniji dobavljači obično blokiraju peer-to-peer promet. Time se ne samo izbjegavaju pravni problemi, nego se može održati učinkovitost svih korisnika. Postoji uvijek mnogo dobrih dobavljača koji omogućuju ravnopravne usluge i još uvijek pružaju visokokvalitetnu uslugu. Ali ako to nije vaš glavni izuzetak, preporučujem da odaberete uslugu koja ne dopušta peer-to-peer.

Ograničenje podataka

Nikada nemojte koristiti 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 uporabe, to ima različitu važnost. Za slučaj korištenja poput mog, gdje moram završiti u određenoj zemlji, naravno da to mora biti na popisu. Također mi je potrebno dopustiti da izaberem u koju zemlju izlazim. Postoje usluge u kojima ne možete odabrati zemlju izlaska, klonite se njih. Možete završiti u zemlji s lošom izvedbom 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 učinkom.

Vrsta softvera i podrške

Ovo je jedan od glavnih razloga zašto preferiram usluge s besplatnim testom. Postoji toliko mnogo pružatelja usluga sa lošim softverom koji su pogrešni, nesigurni ili jednostavno ne rade. Za implementaciju Raspberry Pi -a potreban mi je davatelj usluga 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 provjeriti da li mogu strujati prije nego što išta 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čunala tijekom putovanja na nesigurnom wifi 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. Ne rade za besplatni test, ali bilo je dovoljno pokrenuti ga s prijenosnog računala kako bih se uvjerio da usluge streaminga rade.

Korak 2: Instalirajte Raspberry Pi

Za ovakve implementacije koristim operacijski sustav 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 digne, pogledam u DHCP popisu 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/malina

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 datotečni sustav
  • Promijenite lozinku

Također možete promijeniti naziv hosta svoje Raspberry Pi ako želite. Moj DHCP ima jako dugoročne najmove, 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 to 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 se moramo pobrinuti da usluga počne ispravno.

sudo systemctl omogućiti openvpn

Kad instalacija završi, moramo kopirati OpenVPN konfiguracijske datoteke i certifikate u okvir. To će vam pružiti vaš davatelj VPN usluga. U mom slučaju, koristeći TunnelBear, tamo sam pronašao post na blogu 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 prijenos datoteka na svoj Raspberry Pi. Isto korisničko ime/lozinka kao i za SSH dovest će vas 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 mapi.

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 mapi /etc /openvpn automatski će se pokrenuti kada se pokrene OpenVPN demon. Prvo moramo ući u taj direktorij.

cd /etc /openvpn

Zatim promijenimo naziv konfiguracijske datoteke. Možete ga nazvati kako god želite sve dok završava s.conf. Radije koristim nazive 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 retke. Ovu ćemo datoteku 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 svi putevi ispravni i dodati referencu na novostvorenu datoteku auth.txt.

sudo nano swe.conf

Redci koje je potrebno promijeniti su oni koji se odnose na druge datoteke, oni moraju biti apsolutni putovi. 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 ponovno pokrenuti OpenVPN demon i vidjeti da tunel radi.

sudo servis openvpn ponovno pokretanje

Ako pokrenete naredbu ifconfig, trebali biste vidjeti adapter tun0 pored vaših adaptera eth0 i lo 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 pogrešaka u konfiguraciji.

Korak 4: Postavljanje usmjeravanja

Sada moramo omogućiti prosljeđivanje IP -a. Omogućuje protok mrežnog prometa s jednog mrežnog sučelja i izlaz s 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, ovo bi se trebalo otisnuti na ekranu:

net.ipv4.ip_forward = 1

Sada je omogućeno usmjeravanje i promet može ići kroz Raspberry Pi, preko tunela i izlaziti na internet.

Korak 5: Postavljanje vatrozida i NAT -a

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 kakav promet kad 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

Dopuštajući bilo kojem prometu od eth0 (interni) da ide preko tun0 (tunel).

sudo iptables -A NAPRIJED -i tun0 -o eth0 -m stanje -stanje POVEZANO, USTANOVLJENO -j PRIHVATLJAVANJE

Dopuštanje prometa od tun0 (tunel) da se vrati preko eth0 (unutarnji). 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

Dopuštanje vlastitog loopback prometa za Raspberry Pi.

sudo iptables -A ULAZ -i eth0 -p icmp -j PRIHVATI

Dopuštanje računalima u 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 ista državna glavnica kao i ranije.

sudo iptables -P NAPRIJED DROP

sudo iptables -P ULAZNI DROP sudo iptables -L

Ako promet ne odgovara niti jednom od navedenih pravila, bit će odbačen.

sudo apt-get install iptables-persistent

sudo systemctl enable netfilter-persistent

Prvi redak instalira mir koda koji čini iptable pravila koja smo upravo stvorili 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 ponovno pokrenite sustav, a ona koja već nisu spremljena vratit će se.

Korak 6: Zaključak

Sada ovaj tunel možete koristiti s bilo kojeg uređaja ili računala 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 kako bih mogla strujati svoje švedske kanale za reprodukciju. Naravno, postoje i druge stvari za koje ovo možete koristiti.

Samo imajte na umu da ovisno o dobavljaču VPN -a kojeg ste odabrali i brzini internetske veze moglo bi 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čeni: