Përmbajtje:

Raspberry Pi VPN Gateway: 6 hapa
Raspberry Pi VPN Gateway: 6 hapa

Video: Raspberry Pi VPN Gateway: 6 hapa

Video: Raspberry Pi VPN Gateway: 6 hapa
Video: Build your OWN WireGuard VPN! Here's how 2024, Nëntor
Anonim
Raspberry Pi VPN Gateway
Raspberry Pi VPN Gateway

Përditësimi 2018-01-07:

  • Gjërat e përditësuara që mungojnë dhe ndryshimet e bëra të nevojshme për versionin aktual të Raspian.
  • Gjithashtu krijoi një udhëzues specifik për NordVPN.

Ka disa përdorime të ndryshme për VPN. Ose doni të mbroni privatësinë tuaj dhe të dhënat private nga sytë e çmendur, ose duhet të buroni nga një vend tjetër. Burimi nga një vend tjetër mund të jetë shumë i dobishëm për të pasur akses në shërbimet që nuk ofrohen në vendin tuaj. Ka një numër shërbimesh VPN atje sot dhe shumica e tyre ofrojnë softuer të lehtë për t’u përdorur për kompjuterin tuaj dhe aplikacione për tabletin ose telefonin tuaj. Por nëse keni pajisje të tjera që nuk mbështeten nga softueri që dëshironi të kaloni përmes VPN? Pastaj ndërtoni një portë që ju jep qasje në internet përmes VPN.

Nëse shikoni konfigurimin bazë të rrjetit tuaj keni një "portë të paracaktuar" e cila përdoret për çdo adresë IP që nuk gjendet në nën-rrjetin tuaj aktual (shumë e thjeshtuar). Pra, nëse vendosni një portë që mund të drejtojë trafikun e internetit mbi një lidhje të krijuar VPN çdo pajisje e aktivizuar në rrjet mund të përfitojë nga tuneli VPN.

Rasti im kryesor i përdorimit në apartamentin tim në San Francisko është një tunel VPN në Suedinë time të lindjes, kështu që unë mund të transmetoj kanale suedeze të luajtjes në lojtarët e mi të mediave dhe TV inteligjent. Ky është një rast përdorimi mjaft i zakonshëm për shumicën e njerëzve që kanë nevojë për një tunel VPN. Meqenëse lojtarët e mi të medias dhe TV -të e mençur nuk mbështeten nga softueri VPN, unë ndërtova një nga një Raspberry Pi.

Mund të marrësh një për nën 40 dollarë në Amazon. Sidoqoftë, unë rekomandoj që të blini gjithashtu një kuti dhe përshtatës të mirë të energjisë. Për këtë udhëzues ju nevojiten:

  • Raspberry Pi 2 ose 3
  • Një rast sipas dëshirës tuaj
  • Një përshtatës i mirë i energjisë
  • Një kabllo rrjeti

Hapi 1: Zgjedhja e Shërbimit tuaj VPN

Zgjedhja e Shërbimit tuaj VPN
Zgjedhja e Shërbimit tuaj VPN

Gjëja e rëndësishme kur zgjidhni një shërbim VPN është që ai të plotësojë kërkesat tuaja. Për këtë rast përdorimi më duhej një shërbim VPN me një pikë daljeje suedeze, kjo është gjëja më e rëndësishme pasi kam nevojë që shërbimet suedeze të binden se jam në Suedi. Gjatë viteve unë kam përdorur disa furnizues të ndryshëm dhe më poshtë janë gjërat që marr në konsideratë kur zgjedh furnizuesin VPN për rastin e përdorimit specifik:

Test falas

Dua një periudhë prove falas ose një sasi të vogël të të dhënave të testit për të kuptuar softuerin ose aplikacionin. Gjithashtu dua të testoj performancën dhe përvojën e përgjithshme para se të paguaj për të. It'sshtë gjithashtu mirë të kontrolloni që ideja ime do të funksionojë para se të filloj të paguaj.

Privatësia

Nëse zbatimi është për shqetësimet e privatësisë, atëherë është me të vërtetë e rëndësishme se çfarë thotë politika e privatësisë. Alsoshtë gjithashtu e rëndësishme nga cili vend operon kompania dhe cilat ligje mbrojnë privatësinë tuaj. Përdoruesit me të vërtetë të shqetësuar për privatësinë duhet të shikojnë një shërbim që thotë se asnjë regjistër trafiku nuk ruhet dhe të lejojë pagesa anonime përmes Bitcoin për shembull.

Trafiku i lejuar

Mund të ketë kufizime në atë lloj trafiku që do t'ju lejohet të drejtoni. Furnizuesit më seriozë zakonisht bllokojnë trafikun peer-to-peer. Kjo nuk është vetëm për të shmangur çështjet ligjore, por për të qenë në gjendje të ruani performancën për të gjithë përdoruesit. Ka gjithnjë e më shumë furnizues të mirë atje që lejojnë peer-to-peer dhe ende ofrojnë një shërbim me cilësi të lartë. Por nëse kjo nuk është rikuperimi juaj kryesor, unë rekomandoj të zgjidhni një shërbim që nuk lejon peer-to-peer.

Kapaku i të dhënave

Asnjëherë mos përdorni një shërbim që mban një kufi të dhënash mbi përdoruesit e tyre që paguajnë. Kjo thjesht do të mbarojë në kohën më të keqe të mundshme saktësisht si të dhënat në telefonin tuaj pak para pjesës qesharake në një videoklip!

Dil nga vendet

Në varësi të rastit të përdorimit, kjo ka rëndësi të ndryshme. Për një rast përdorimi si i imi, ku më duhet të përfundoj në një vend të caktuar, natyrisht që duhet të jetë në listë. Më duhet gjithashtu të më lejohet të zgjedh se në cilin shtet dal. Ka shërbime ku nuk mund të zgjedhësh vendin e daljes, qëndro larg atyre. Mund të përfundoni në një vend me performancë të keqe ose ligje të privatësisë. Edhe nëse nuk keni nevojë për një vend specifik, prapëseprapë duhet të zgjidhni një shërbim me disa vende të ndryshme për t'u shfaqur për të qenë në gjendje të gjeni një me performancë të mirë.

Lloji i softuerit dhe mbështetja

Kjo është një nga arsyet kryesore pse preferoj shërbimet me një test falas. Ka kaq shumë ofrues me softuer të keq që janë të gabuar, të pasigurt ose thjesht nuk funksionojnë. Për një zbatim të Raspberry Pi më duhet një ofrues që mbështet OpenVPN.

Përzgjedhja ime

Për këtë ndërtim unë shkova me Tunel Bear. Ofrohet një test falas deri në 500 GB, kështu që unë mund të provoj se në të vërtetë mund të transmetoj para se të paguaj ndonjë gjë. Ato janë të bazuara në Kanada e cila, pranë Suedisë, ka disa nga ligjet më të forta të privatësisë në botë. Asnjë kufizim i të dhënave për shërbimin me pagesë dhe gjithashtu më lejohet të kem disa pajisje të lidhura menjëherë. Pra, mbrojtja për telefonin, tabletin dhe kompjuterin tim gjatë udhëtimit me wifi të pasigurt është gjithashtu e renditur. Nyja dalëse në Suedi mbështetet, ajo sigurohet në të vërtetë përmes Bahnhof i cili është i njohur për privatësinë e fortë në Suedi. Për planet e paguara ata ofrojnë mbështetje OpenVPN. Ata nuk e bëjnë testin falas, por ishte e mjaftueshme për ta ekzekutuar atë nga laptopi im për t'u siguruar që shërbimet e transmetimit funksionuan.

Hapi 2: Instaloni Raspberry Pi

Për zbatime të tilla unë përdor sistemin operativ Raspbian Lite. Meqenëse nuk kam nevojë për GUI fare. Ju mund të merrni lirimin më të fundit këtu.

Unë përdor Win32DiskImager për të ngarkuar skedarin.img në kartën SD për Raspberry Pi.

Pasi Raspberry Pi të ketë filluar, unë shikoj në listën e DHCP të ruterëve të mi për të marrë adresën IP dhe pastaj lidhem me SSH me Putty. Emri i përdoruesit dhe fjalëkalimi standard janë pi/mjedër

Pasi të lidhem, ekzekutoj mjetin raspi-config për të ndryshuar cilësimet themelore.

sudo raspi-config

Gjërat më të rëndësishme për t'u kujdesur në këtë konfigurim janë:

  • Zgjero sistemin e skedarëve
  • Ndrysho fjalekalimin

Ju gjithashtu mund të ndryshoni emrin e hostit të Raspberry Pi tuaj nëse dëshironi. DHCP -ja ime ka qira shumë të gjata dhe unë gjithashtu mund të rezervoj një adresë specifike. Nëse nuk e keni atë aftësi, duhet të konfiguroni Raspberry Pi për të përdorur një adresë IP statike. Meqenëse pajisjet e tjera do ta përdorin këtë si portë të paracaktuar, është e rëndësishme që ajo të vazhdojë të përdorë të njëjtën adresë IP. Këtu është një postim që kam shkruar për vendosjen e një IP statike në Raspbian Jessie.

Atëherë ne duhet të azhurnojmë gjithçka në versionin e fundit:

sudo apt-merrni përditësime sudo apt-merrni upgrade sudo apt-merrni dist-upgrade

Hapi 3: Instaloni OpenVPN

Instaloni OpenVPN
Instaloni OpenVPN

Tani duhet të instalojmë OpenVPN në Raspberry Pi.

sudo apt-get install openvpn

Atëherë duhet të sigurohemi që shërbimi të fillojë siç duhet.

sudo systemctl aktivizoni openvpn

Kur të përfundojë instalimi, ne duhet të kopjojmë skedarët dhe certifikatat e konfigurimit OpenVPN në kuti. Kjo do t'ju ofrohet nga ofruesi juaj VPN. Në rastin tim, duke përdorur TunnelBear, gjeta atje një postim në blog për Mbështetjen Linux. Në atë faqe ekziston një lidhje me skedarin zip që përmban gjithçka që na nevojitet.

Skedari përmban skedarët e certifikatave dhe një skedar konfigurimi.opvn për secilin vend ku mund të kaloni me tunel. Keni nevojë për të gjithë skedarët e certifikatave dhe skedarin e konfigurimit.opvn për vendin e zgjedhur nga ju, në rastin tim Suedi. Zbërtheni skedarët e nevojshëm dhe përdorni WinCP për të ngarkuar skedarët në Raspberry Pi tuaj. I njëjti emër përdoruesi/fjalëkalimi i përdorur për SSH do t'ju sjellë në/home/pi, thjesht hidhni skedarët atje.

Pastaj kthehemi në terminalin SSH dhe i transferojmë skedarët në dosjen OpenVPN. Komanda e parë është vetëm për t'u siguruar që jemi në dosjen /home /pi.

cd /home /pi

sudo mv */etc/openvpn/

Tani duhet të bëjmë disa modifikime në skedarë. Së pari ne duhet të riemërtojmë skedarin e konfigurimit nga.ovpn në.conf. Çdo skedar që përfundon me.conf në dosjen /etc /openvpn do të fillojë automatikisht kur të fillojë demoni OpenVPN. Së pari ne duhet të futemi në atë drejtori.

cd /etc /openvpn

Pastaj ndryshojmë emrin e skedarit të konfigurimit. Ju mund ta emërtoni atë që dëshironi për sa kohë që përfundon me.conf. Unë preferoj të përdor emrat e skedarëve pa hapësira bosh, në këtë rast unë jam duke shkuar me swe.conf.

sudo mv *.ovpn swe.conf

Atëherë ne kemi nevojë për një skedar vërtetimi që përmban emrin e përdoruesit dhe fjalëkalimin e përdorur për tunelin VPN. Hapni një redaktues teksti dhe shkruani emrin e përdoruesit dhe fjalëkalimin në rreshta të veçantë. Ne do ta quajmë këtë skedar auth.txt.

sudo nano auth.txt

Përmbajtja duhet të jetë si ky shembull:

emrin e përdoruesit

fjalëkalimin

Pastaj përdorni CTRL + O për të shkruar në skedar dhe CTRL + X për të dalë nga redaktuesi i tekstit nano. Ne gjithashtu duhet të mbrojmë skedarin auth.txt që përmban kredencialet tona.

sudo chmod 600 /etc/openvpn/auth.txt

Atëherë ne duhet të redaktojmë skedarin e konfigurimit për t'u siguruar që të gjitha shtigjet janë të sakta dhe të shtojmë një referencë në skedarin e krijuar rishtas auth.txt.

sudo nano swe.conf

Linjat që duhet të ndryshohen janë ato që i referohen skedarëve të tjerë, ato duhet të jenë rrugë absolute. Në këtë shembull kjo është ajo që ne po kërkojmë:

ca CACertifikatë.crt

cert UserCertificate.crt kyçe PrivateKey.key

Ne i ndryshojmë ato në rrugë absolute si kjo:

ca /etc/openvpn/CACertificate.crt

cert /etc/openvpn/UserCertificate.crt kyç /etc/openvpn/PrivateKey.key

Pastaj në fund të skedarit shtojmë një referencë në skedarin auth.txt, si kjo:

auth-user-pass /etc/openvpn/auth.txt

Edhe një herë ne përdorim CTRL + O për të ruajtur skedarin dhe pastaj CTRL + X për të dalë nga nano. Tani mund të rinisim demonin OpenVPN dhe të shohim që tuneli po funksionon.

rifilloni shërbimin sudo openvpn

Nëse drejtoni komandën ifconfig duhet të shihni një përshtatës tun0 përveç adaptorëve tuaj eth0 dhe lo nëse tuneli është ngritur. Ju gjithashtu mund të ekzekutoni komandën këtë komandë për të kontrolluar IP -në tuaj publike:

wget https://ipinfo.io/ip -qO -

Nëse keni probleme me ngritjen e tunelit, provoni së pari të rindizni Raspberry Pi tuaj dhe pastaj kontrolloni dy herë konfigurimin për gabime.

Hapi 4: Konfigurimi i rrugëzimit

Tani duhet të aktivizojmë përcjelljen e IP. Ai mundëson që trafiku i rrjetit të rrjedhë nga njëra nga ndërfaqet e rrjetit dhe të dalë nga tjetra. Në thelb krijimi i një ruteri.

sudo /bin /su -c "echo -e '\ n#Enable IP Routing / nnet.ipv4.ip_forward = 1'> /etc/sysctl.conf"

Nëse drejtoni sudo sysctl -p, duhet ta shihni këtë të shtypur në ekran:

net.ipv4.ip_para = 1

Tani drejtimi është aktivizuar dhe trafiku mund të kalojë përmes Raspberry Pi, përmes tunelit dhe jashtë në internet.

Hapi 5: Konfiguroni Firewall dhe NAT

Meqenëse do të kemi disa klientë brenda që të kenë qasje në internet përmes një adrese IP publike ne duhet të përdorim NAT. Ai qëndron për përkthimin e adresave të rrjetit dhe do të mbajë shënime se cili klient ka kërkuar çfarë trafiku kur informacioni kthehet mbi tunel. Ne gjithashtu duhet të vendosim njëfarë sigurie rreth Raspberry Pi dhe vetë tunelit.

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Aktivizimi i NAT.

sudo iptables -A PWRPARA -i eth0 -o tun0 -j Pranoj

Lejimi i çdo trafiku nga eth0 (i brendshëm) të kalojë mbi tun0 (tunel).

sudo iptables -A PWRPARA -i tun0 -o eth0 -m gjendje -shteti LIDHUR, I THEMELUAR -j Pranoj

Lejimi i trafikut nga tun0 (tuneli) të kthehet mbi eth0 (i brendshëm). Meqenëse ne specifikojmë gjendjen LIDHUR, E THEMELUAR do të kufizohet në lidhjen e nisur nga rrjeti i brendshëm. Bllokimi i trafikut të jashtëm duke u përpjekur të filloni një lidhje të re.

sudo iptables -A HYRJE -i lo -j Pranoj

Lejimi i trafikut të vetë loopback të Raspberry Pi.

sudo iptables -A HYRJE -i eth0 -p icmp -j Pranoj

Lejimi i kompjuterëve në rrjetin lokal të pingojnë Raspberry Pi.

sudo iptables -A HYRJE -i eth0 -p tcp --dport 22 -j Pranoj

Lejimi i SSH nga rrjeti i brendshëm.

sudo iptables -A HYRJE -m gjendje -shteti I THEMELUAR, I LIDHUR -j Pranoj

Lejimi i kthimit të të gjithë trafikut të inicuar nga Raspberry Pi. Ky është i njëjti parim shtetëror si më parë.

sudo iptables -P PARA PARA

sudo iptables -P INPUT DROP sudo iptables -L

Nëse trafiku nuk përputhet me asnjë nga rregullat e përcaktuara, ai do të bjerë.

sudo apt-get install iptables-persistent

sudo systemctl mundëson netfilter-persistent

Linja e parë instalon një paqe të kodit që i bën të qëndrueshëm rregullat që sapo krijuam midis rindezjeve. E dyta ruan rregullat pasi i keni ndryshuar ato. Këtë herë është e mjaftueshme për të drejtuar të parën. Nëse ndryshoni rregullat, drejtoni të dytën për të ruajtur. Rregullat e Iptable janë në fuqi sapo t'i shtoni ato nëse përziheni dhe humbni aksesin thjesht rindizni dhe ato që nuk janë ruajtur tashmë do të kthehen.

Hapi 6: Përfundimi

Tani mund ta përdorni këtë tunel nga çdo pajisje ose kompjuter në të njëjtin rrjet. Thjesht ndryshoni portën e paracaktuar në cilëndo adresë IP që ka Raspberry Pi juaj. Në rastin tim, të dy qendrat e mia të mediave Kodi (një dhomë gjumi dhe një dhomë të gjallë) e përdorin këtë lidhje kështu që unë mund të transmetoj kanalet e mia të lojërave suedeze. Sigurisht që ka gjëra të tjera për të cilat mund ta përdorni gjithashtu.

Vetëm mbani në mend se në varësi të furnizuesit VPN që keni zgjedhur dhe shpejtësisë së lidhjes tuaj në internet mund të ketë performancë të ngadaltë.

Nëse keni ndonjë pyetje ose dëshironi që unë të sqaroj diçka, më tregoni në komente! Për më shumë postime teknologjike ju lutemi vizitoni blogun tim Hackviking!

Recommended: