Talaan ng mga Nilalaman:

Raspberry Pi VPN Gateway: 6 na Hakbang
Raspberry Pi VPN Gateway: 6 na Hakbang

Video: Raspberry Pi VPN Gateway: 6 na Hakbang

Video: Raspberry Pi VPN Gateway: 6 na Hakbang
Video: Как получить доступ к домашней сети из Интернета с помощью Raspberry Pi и Zerotier 2024, Hulyo
Anonim
Raspberry Pi VPN Gateway
Raspberry Pi VPN Gateway

Update 2018-01-07:

  • Nai-update na mga bagay na nawawala at mga pagbabagong ginawang kinakailangan para sa kasalukuyang bersyon ng Raspian.
  • Lumikha din ng isang tukoy na gabay para sa NordVPN.

Mayroong ilang magkakaibang paggamit para sa VPN. Alinman nais mong protektahan ang iyong privacy at pribadong data mula sa mga mata na prying o kailangan mong magmula mula sa ibang bansa. Ang pag-sourcing mula sa ibang bansa ay maaaring maging lubhang kapaki-pakinabang upang makakuha ng pag-access sa mga serbisyong hindi ibinigay sa iyong bansa. Mayroong isang bilang ng mga serbisyo ng VPN doon ngayon at karamihan sa kanila ay nag-aalok ng madaling gamitin na software para sa iyong computer at mga app para sa iyong tablet o telepono. Ngunit kung mayroon kang iba pang mga aparato na hindi suportado ng software na nais mong lakarin ang VPN? Pagkatapos ay bumuo ng isang gateway na magbibigay sa iyo ng pag-access sa internet sa paglipas ng VPN.

Kung titingnan mo ang iyong pangunahing pag-set up ng network mayroon kang isang "default gateway" na ginagamit para sa anumang ip-address na hindi matatagpuan sa iyong kasalukuyang subnet (napakasimple). Kaya't kung nag-set up ka ng isang gateway na maaaring ruta ng trapiko sa internet sa isang itinatag na koneksyon sa VPN ang anumang aparato na pinagana ng network ay maaaring samantalahin ang VPN tunnel.

Ang aking pangunahing kaso sa paggamit sa aking apartment sa San Francisco ay isang tunel ng VPN sa aking katutubong Sweden upang ma-stream ko ang mga play channel ng Sweden sa aking mga manlalaro ng media at matalinong TV. Ito ay isang pangkaraniwang kaso ng paggamit para sa karamihan sa mga taong nangangailangan ng isang VPN tunnel. Dahil ang aking mga media player at smart TV's ay hindi suportado ng VPN software na binuo ko ang isa sa isang Raspberry Pi.

Maaari kang pumili ng isa para sa ilalim ng $ 40 sa Amazon. Gayunpaman inirerekumenda ko na bumili ka ng isang kaso at disenteng power adapter din. Para sa pagtuturo na ito kailangan mo:

  • Raspberry Pi 2 o 3
  • Isang kaso ng gusto mo
  • Isang disenteng power adapter
  • Isang network cable

Hakbang 1: Pagpili ng Iyong Serbisyo sa VPN

Pagpili ng Iyong Serbisyo sa VPN
Pagpili ng Iyong Serbisyo sa VPN

Ang mahalagang bagay kapag pumipili ng isang serbisyo sa VPN ay natutugunan nito ang iyong mga kinakailangan. Para sa kasong ginamit na ito kailangan ko ng isang serbisyo sa VPN na may isang exit point ng Sweden, iyon ang pinakamahalagang bagay dahil kailangan ko ang mga serbisyong Sweden upang makumbinsi na nasa Sweden ako. Sa paglipas ng mga taon gumamit ako ng maraming magkakaibang mga tagasuporta at sa ibaba ay ang mga bagay na isinasaalang-alang ko sa pagpili ng tagapagtustos ng VPN para sa tukoy na kaso ng paggamit:

Libreng pagsubok

Gusto ko ng isang libreng panahon ng pagsubok o isang maliit na halaga ng data ng pagsubok upang makaramdam ng software o app. Gayundin nais kong subukan ang pagganap at pangkalahatang karanasan bago ko ito bayaran. Masarap din suriin na gagana ang aking ideya bago ako magsimulang magbayad.

Pagkapribado

Kung ang pagpapatupad ay para sa mga alalahanin sa privacy pagkatapos ay talagang mahalaga kung ano ang nakasaad sa patakaran sa privacy. Mahalaga rin kung anong bansa nagpapatakbo ang kumpanya at kung anong mga batas ang nagpoprotekta sa iyong privacy. Ang mga gumagamit ng tunay na nag-aalala tungkol sa privacy ay dapat tumingin sa isang serbisyo na nagsasaad na walang mga log ng trapiko ang naiimbak at payagan ang mga hindi nagpapakilalang pagbabayad sa pamamagitan ng Bitcoin halimbawa.

Pinapayagan ang trapiko

Maaaring may mga limitasyon sa anong uri ng trapiko na papayagan kang tumakbo. Ang mas seryosong mga tagasuporta ay karaniwang hinaharangan ang trapiko ng peer-to-peer. Hindi lamang ito upang maiwasan ang mga ligal na isyu ngunit upang mapanatili ang pagganap para sa lahat ng mga gumagamit. Mayroong kung gaano karaming mga mahusay na mga supplier doon na nagpapahintulot sa peer-to-peer at naghahatid pa rin ng isang mataas na kalidad na serbisyo. Ngunit kung hindi iyon ang iyong pangunahing recuirment inirerekumenda kong pumili ng isang serbisyo na hindi pinapayagan ang peer-to-peer.

Cap ng data

Huwag kailanman gumamit ng isang serbisyo na pinapanatili ang isang cap ng data sa kanilang mga nagbabayad na gumagamit. Tatakbo lang ito sa pinakamasamang posibleng oras nang eksakto tulad ng data sa iyong telepono bago ang nakakatawang bahagi sa isang video clip!

Mga exit na bansa

Depende sa kaso ng paggamit na ito ay may iba't ibang kahalagahan. Para sa isang kaso ng paggamit tulad ng sa akin, kung saan kailangan kong magtapos sa isang tukoy na bansa, syempre kailangan na nasa listahan. Kailangan ko ring payagan na pumili kung aling bansa ako lalabas. Mayroong mga serbisyo kung saan hindi mo mapili ang exit country, lumayo sa mga iyon. Maaari kang mapunta sa isang bansa na may hindi magagandang mga batas sa pagganap o privacy. Kahit na hindi mo kailangan ng isang tukoy na bansa dapat mo pa ring pumili ng isang serbisyo na may ilang iba't ibang mga bansa upang maipakita upang makahanap ng isa na may mahusay na pagganap.

Uri ng software at suporta

Ito ang isa sa mga pangunahing dahilan kung bakit mas gusto ko ang mga serbisyo na may libreng pagsubok. Maraming mga provider na may masamang software na maraming surot, walang katiyakan o hindi gumagana. Para sa isang pagpapatupad ng Raspberry Pi kailangan ko ng isang tagapagbigay na sumusuporta sa OpenVPN.

Ang pinili ko

Para sa build na ito sumama ako sa Tunnel Bear. Ang isang libreng pagsubok hanggang sa 500GB ay inaalok upang masubukan ko na maaari talaga akong mag-stream bago ako magbayad ng anumang bagay. Nakabase ang mga ito sa Canada kung saan, sa tabi ng Sweden, mayroong ilan sa pinakamalakas na mga batas sa privacy sa buong mundo. Walang data cap sa bayad na serbisyo at pinapayagan din akong magkaroon ng maraming mga aparato nang sabay-sabay. Kaya't ang proteksyon para sa aking telepono, tablet at computer habang naglalakbay sa hindi ligtas na wifi ay naayos din. Sinusuportahan ang exit node sa Sweden, talagang ibinigay ito sa pamamagitan ng Bahnhof na kilala sa malakas na privacy sa Sweden. Para sa mga binayarang plano ay nag-aalok sila ng suporta sa OpenVPN. Hindi nila para sa libreng pagsubok ngunit sapat na upang patakbuhin iyon mula sa aking laptop upang matiyak na gumagana ang mga serbisyo sa streaming.

Hakbang 2: I-install ang Raspberry Pi

Para sa mga pagpapatupad na tulad nito ginagamit ko ang operating system ng Raspbian Lite. Dahil hindi ko na kailangan ang GUI man lang. Maaari kang makakuha ng pinakabagong paglabas dito.

Gumagamit ako ng Win32DiskImager upang mai-load ang.img file sa SD-card para sa Raspberry Pi.

Kapag na-boot ang Raspberry Pi tumingin ako sa aking listahan ng mga router na DHCP upang makuha ang IP-address at pagkatapos ay kumonekta sa SSH kay Putty. Ang karaniwang username at password ay pi / raspberry

Kapag nakakonekta pinatakbo ko ang tool na raspi-config upang baguhin ang pangunahing mga setting.

sudo raspi-config

Ang pinakamahalagang bagay na dapat alagaan sa config na ito ay:

  • Palawakin ang system ng file
  • Palitan ANG password

Maaari mo ring baguhin ang hostname ng iyong Raspberry Pi kung nais mo. Ang aking DHCP ay may napakahabang mga lease at maaari rin akong magreserba ng isang tukoy na address. Kung wala kang kakayahan na kailangan mong i-configure ang Raspberry Pi upang magamit ang isang static IP-address. Dahil gagamitin ito ng iba pang mga aparato bilang mayroong default gateway mahalaga na patuloy itong gamitin ang parehong IP-address. Narito ang isang post na isinulat ko tungkol sa pagtatakda ng isang static IP sa Raspbian Jessie.

Pagkatapos ay kailangan naming i-upgrade ang lahat sa pinakabagong bersyon:

sudo apt-get updatesudo apt-get upgrade sudo apt-get dist-upgrade

Hakbang 3: I-install ang OpenVPN

I-install ang OpenVPN
I-install ang OpenVPN

Ngayon kailangan naming i-install ang OpenVPN sa Raspberry Pi.

sudo apt-get install openvpn

Pagkatapos ay kailangan nating tiyakin na ang serbisyo ay nagsisimula nang maayos.

sudo systemctl paganahin ang openvpn

Kapag natapos ang pag-install kailangan naming kopyahin ang OpenVPN config file at mga sertipiko sa kahon. Ibibigay ito sa iyo ng iyong VPN provider. Sa aking kaso, gamit ang TunnelBear, nahanap ko doon ang post sa blog tungkol sa Suporta ng Linux. Sa pahinang iyon mayroong isang link sa zip file na naglalaman ng lahat ng kailangan namin.

Naglalaman ang file ng mga file ng sertipiko at isang.opvn file ng pagsasaayos para sa bawat bansa na maaari mong lagyan. Kailangan mo ang lahat ng mga file ng sertipiko at ang.opvn config file para sa bansa na iyong pinili, sa aking kaso Sweden. I-unzip ang mga file na kinakailangan at ang paggamit ng winscp upang mai-upload ang mga file sa iyong Raspberry Pi. Ang parehong username / password na ginamit para sa SSH ay magdadala sa iyo sa / bahay / pi, i-drop lamang ang mga file doon.

Pagkatapos ay bumalik kami sa terminal ng SSH at ilipat ang mga file sa folder na OpenVPN. Ang unang utos ay upang matiyak lamang na nasa folder kami / home / pi.

cd / bahay / pi

sudo mv * / etc / openvpn /

Ngayon kailangan naming gumawa ng ilang mga pagbabago sa mga file. Una kailangan naming palitan ang pangalan ng config file mula sa.ovpn sa.conf. Anumang file na nagtatapos sa.conf sa / etc / openvpn folder ay awtomatikong magsisimula kapag nagsimula ang OpenVPN daemon. Una kailangan naming makapunta sa direktoryong iyon.

cd / etc / openvpn

Pagkatapos ay binago namin ang pangalan ng config file. Maaari mong pangalanan ito anumang nais mo hangga't nagtatapos ito sa.conf. Mas gusto kong gumamit ng mga pangalan ng file nang walang mga blangko na puwang, sa kasong ito pupunta ako sa swe.conf.

sudo mv *.ovpn swe.conf

Pagkatapos kailangan namin ng isang file ng pagpapatotoo na naglalaman ng username at password na ginamit para sa tunel ng VPN. Buksan ang isang text editor at isulat ang username at password sa magkakahiwalay na mga linya. Tatawagan namin ang file na ito na auth.txt.

sudo nano auth.txt

Ang nilalaman ay dapat na tulad ng halimbawang ito:

username

password

Pagkatapos ay gamitin ang CTRL + O upang sumulat sa file at ang CTRL + X upang lumabas sa nano text editor. Kailangan din naming protektahan ang auth.txt file na naglalaman ng aming mga kredensyal.

sudo chmod 600 /etc/openvpn/auth.txt

Pagkatapos ay kailangan naming i-edit ang config file upang matiyak na ang lahat ng mga landas ay tama at magdagdag ng isang sanggunian sa bagong nilikha na auth.txt file.

sudo nano swe.conf

Ang mga linya na kailangang baguhin ay ang tumutukoy sa iba pang mga file, kailangan nilang maging ganap na mga landas. Sa halimbawang ito ito ang hinahanap namin:

ca CACertandum.crt

cert UserCert Certificate.crt key PrivateKey.key

Binago namin ang mga ito sa ganap na mga landas na tulad nito:

ca /etc/openvpn/CACert Certificate.crt

cert /etc/openvpn/UserCert Certificate.crt key /etc/openvpn/PrivateKey.key

Pagkatapos sa dulo ng file ay nagdaragdag kami ng isang sanggunian sa auth.txt file, tulad nito:

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

Muli ay ginagamit namin ang CTRL + O upang mai-save ang file at pagkatapos ay CTRL + X upang lumabas sa nano. Ngayon ay maaari naming i-restart ang OpenVPN daemon at makita na gumagana ang tunnel.

sudo serbisyo openvpn restart

Kung patakbuhin mo ang utos na ifconfig dapat mong makita ang isang tun0 adapter bilang karagdagan sa iyong mga eth0 at lo adapters kung ang tunnel ay nakabukas. Maaari mo ring patakbuhin ang utos na utos na ito upang suriin ang iyong pampublikong IP:

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

Kung nagkakaroon ka ng mga isyu sa pagkuha ng lagusan muna subukang i-reboot ang iyong Raspberry Pi at pagkatapos ay i-double check ang pagsasaayos para sa mga error.

Hakbang 4: Pag-set up ng Ruta

Ngayon kailangan naming paganahin ang pagpapasa ng IP. Pinapayagan nitong dumaloy ang trapiko sa network mula sa isa sa mga interface ng network at palabas sa isa pa. Mahalagang paglikha ng isang router.

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

Kung nagpapatakbo ka ng sudo sysctl -p dapat mong makita ang naka-print na ito sa screen:

net.ipv4.ip_forward = 1

Ngayon ang pagruruta ay pinagana at ang trapiko ay maaaring dumaan sa Raspberry Pi, sa lagusan at palabas sa internet.

Hakbang 5: I-setup ang Firewall at NAT

Dahil magkakaroon kami ng maraming mga kliyente sa loob ng pag-access sa internet sa isang pampublikong IP address na kailangan namin upang magamit ang NAT. Ito ay kumakatawan sa pagsasalin ng network address at susubaybayan kung aling client ang humiling ng anong trapiko kapag bumalik ang impormasyon sa lagusan. Kailangan din naming i-set up ang ilang seguridad sa paligid ng sarili nitong Raspberry Pi at ang lagusan.

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

Pagpapagana sa NAT.

sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT

Pinapayagan ang anumang trapiko mula sa eth0 (panloob) na lumampas sa tun0 (tunnel).

sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED, ESTABLISHED -j ACCEPT

Pinapayagan ang trapiko mula sa tun0 (tunnel) na bumalik sa paglipas ng eth0 (panloob). Dahil tinukoy namin ang estado na KAUGNAYAN, NAGTATAYO malilimitahan ito sa koneksyon na pinasimulan mula sa panloob na network. Pag-block sa panlabas na trapiko na sinusubukang magpasimula ng isang bagong koneksyon.

sudo iptables -A INPUT -i lo -j ACCEPT

Pinapayagan ang sariling trapiko ng loop ng Raspberry Pi.

sudo iptables -A INPUT -i eth0 -p icmp -j ACCEPT

Pinapayagan ang mga computer sa lokal na network na i-ping ang Raspberry Pi.

sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

Pinapayagan ang SSH mula sa panloob na network.

sudo iptables -A INPUT -m estado --stado Naitaguyod, KAUGNAYAN -j TANGGAPIN

Pinapayagan ang lahat ng trapiko na pinasimulan ng Raspberry Pi na bumalik. Ito ang parehong punong-guro ng estado tulad ng mas maaga.

sudo iptables -P FORWARD DROP

sudo iptables -P INPUT DROP sudo iptables -L

Kung ang trapiko ay hindi tumutugma sa anuman sa mga tinukoy na patakaran ay ihuhulog ito.

sudo apt-get install iptables-persistent

sudo systemctl paganahin ang netfilter-persistent

Nag-i-install ang unang linya ng isang kapayapaan ng code na ginagawang iptable na mga patakaran na nilikha namin lamang na paulit-ulit sa pagitan ng mga reboot. Ang pangalawa ay nagse-save ng mga patakaran pagkatapos mong baguhin ang mga ito. Sa oras na ito ay sapat na upang patakbuhin ang una. Kung binago mo ang mga patakaran patakbuhin ang pangalawa upang makatipid. Ang mga naka-ture na patakaran ay may bisa sa sandaling idagdag mo ang mga ito kung gumulo ka at mawalan ng access i-reboot lamang at ang mga hindi pa nai-save ay babalik.

Hakbang 6: Konklusyon

Ngayon ay maaari mong gamitin ang tunnel na ito mula sa anumang aparato o computer sa parehong network. Baguhin lamang ang default gateway sa anumang IP-address na mayroon ang iyong Raspberry Pi. Sa aking kaso kapwa ang aking mga sentro ng media ng Kodi (isang silid-tulugan at isang silid-tulugan) ay gumagamit ng koneksyon na ito upang mai-stream ko ang aking mga Sweden play channel. Siyempre may iba pang mga bagay na maaari mo ring gamitin ito.

Tandaan lamang na depende sa napili mong tagapagtustos ng VPN at ang bilis ng iyong koneksyon sa internet ay maaaring mabagal ang pagganap.

Kung mayroon kang anumang mga katanungan o nais na linawin ko ang anumang ipaalam sa akin sa mga komento! Para sa karagdagang tech post mangyaring bisitahin ang aking blogg Hackviking!

Inirerekumendang: