Obsah:

Brána VPN Raspberry Pi: 6 krokov
Brána VPN Raspberry Pi: 6 krokov

Video: Brána VPN Raspberry Pi: 6 krokov

Video: Brána VPN Raspberry Pi: 6 krokov
Video: CS50 2014 – 7-я неделя 2024, Júl
Anonim
Brána VPN Raspberry Pi
Brána VPN Raspberry Pi

Aktualizácia 2018-01-07:

  • Aktualizované veci chýbajú a boli vykonané zmeny potrebné pre aktuálnu verziu Raspian.
  • Tiež bol vytvorený konkrétny sprievodca pre NordVPN.

Existuje niekoľko rôznych použití VPN. Buď chcete chrániť svoje súkromie a súkromné údaje pred zvedavými očami, alebo potrebujete zdroj z inej krajiny. Získavanie zdrojov z inej krajiny môže byť veľmi užitočné na získanie prístupu k službám, ktoré sa vo vašej krajine neposkytujú. V súčasnej dobe existuje množstvo služieb VPN a väčšina z nich ponúka ľahko použiteľný softvér pre váš počítač a aplikácie pre tablet alebo telefón. Ak však máte ďalšie zariadenia, ktoré softvér nepodporuje, chcete prejsť cez VPN? Potom vytvorte bránu, ktorá vám umožní prístup na internet prostredníctvom siete VPN.

Ak sa pozriete na svoje základné nastavenie siete, máte „predvolenú bránu“, ktorá sa používa pre akúkoľvek adresu IP, ktorá sa nenachádza vo vašej aktuálnej podsieti (veľmi zjednodušené). Ak teda nastavíte bránu, ktorá môže smerovať internetový prenos cez vytvorené pripojenie VPN, akékoľvek zariadenie s podporou siete môže využívať tunel VPN.

Môj hlavný prípad použitia v mojom byte v San Franciscu je tunel VPN do môjho rodného Švédska, aby som mohol streamovať švédske kanály prehrávania do svojich prehrávačov médií a inteligentnej televízie. Toto je celkom bežný prípad použitia pre väčšinu ľudí, ktorí potrebujú tunel VPN. Pretože moje prehrávače médií a inteligentné televízory nie sú podporované softvérom VPN, postavil som ich z Raspberry Pi.

Jeden si môžete vyzdvihnúť za menej ako 40 dolárov na Amazone. Odporúčam však, aby ste si kúpili aj puzdro a slušný napájací adaptér. Na tento návod potrebujete:

  • Raspberry Pi 2 alebo 3
  • Prípad podľa vášho vkusu
  • Slušný napájací adaptér
  • Sieťový kábel

Krok 1: Výber služby VPN

Výber služby VPN
Výber služby VPN

Pri výbere služby VPN je dôležité, aby spĺňala vaše požiadavky. Na tento prípad použitia som potreboval službu VPN so švédskym výstupným bodom, to je najdôležitejšia vec, pretože potrebujem, aby boli švédske služby presvedčené, že som vo Švédsku. V priebehu rokov som použil niekoľko rôznych doplnkov a nižšie sú uvedené veci, ktoré beriem do úvahy pri výbere dodávateľa VPN pre konkrétny prípad použitia:

Test zadarmo

Chcem, aby som si v softvéri alebo aplikácii vyskúšal bezplatné testovacie obdobie alebo malé množstvo testovacích údajov. Tiež chcem otestovať výkon a celkové skúsenosti predtým, ako za to zaplatím. Je tiež pekné skontrolovať, či môj nápad bude fungovať, než začnem platiť.

Ochrana osobných údajov

Ak ide o implementáciu z dôvodu ochrany osobných údajov, je skutočne dôležité, čo uvádzajú zásady ochrany osobných údajov. Je tiež dôležité, z ktorej krajiny spoločnosť pôsobí a aké zákony chránia vaše súkromie. Skutočne súkromní používatelia by sa mali pozrieť na službu, ktorá uvádza, že nie sú uložené žiadne denníky návštevnosti a umožňujú napríklad anonymné platby prostredníctvom bitcoínov.

Povolená premávka

Na typ návštevnosti, ktorú budete môcť spúšťať, môžu existovať obmedzenia. Vážnejší dodávatelia zvyčajne blokujú komunikáciu typu peer-to-peer. Cieľom je nielen vyhnúť sa právnym problémom, ale aj zaistiť výkonnosť pre všetkých používateľov. Existuje vždy veľa dobrých dodávateľov, ktorí umožňujú peer-to-peer a napriek tomu poskytujú vysoko kvalitné služby. Ak to však nie je vaša hlavná požiadavka, odporúčam vybrať si službu, ktorá neumožňuje peer-to-peer.

Dátový limit

Nikdy nepoužívajte službu, ktorá má nad platiacimi používateľmi obmedzený dátový limit. Toto sa spustí v najhoršom možnom čase, presne ako údaje vo vašom telefóne tesne pred zábavnou časťou videoklipu!

Vystúpiť z krajín

V závislosti od prípadu použitia to má rôzny význam. Pre prípad použitia, ako je ten môj, kde potrebujem skončiť v konkrétnej krajine, to samozrejme musí byť na zozname. Tiež mi musí byť umožnené vybrať si krajinu, z ktorej odchádzam. Existujú služby, v ktorých si nemôžete vybrať krajinu odchodu, držte sa od nich ďalej. Môžete skončiť v krajine so zlými výkonmi alebo zákonmi o ochrane osobných údajov. Aj keď nepotrebujete konkrétnu krajinu, mali by ste si vybrať službu s niekoľkými rôznymi krajinami, z ktorej sa budete zobrazovať, aby ste našli službu s dobrým výkonom.

Typ softvéru a podpora

To je jeden z hlavných dôvodov, prečo uprednostňujem služby s bezplatným testom. Existuje toľko poskytovateľov so zlým softvérom, ktorí sú buggy, neistí alebo jednoducho nefungujú. Na implementáciu Raspberry Pi potrebujem poskytovateľa, ktorý podporuje OpenVPN.

Môj výber

Pre túto stavbu som išiel s Tunnel Bear. Ponúka sa bezplatný test až do veľkosti 500 GB, aby som mohol otestovať, či môžem skutočne streamovať, kým niečo zaplatím. Sídli v Kanade, ktorá má vedľa Švédska jedny z najprísnejších zákonov o ochrane osobných údajov na svete. Žiadny dátový limit pre platené služby a taktiež môžem mať pripojených niekoľko zariadení naraz. Takže ochrana pre môj telefón, tablet a počítač pri cestovaní na nezabezpečenom wifi je tiež triedená. Výstupný uzol vo Švédsku je podporovaný, v skutočnosti je poskytovaný prostredníctvom Bahnhof, ktorý je vo Švédsku známy veľkým súkromím. Pri platených programoch ponúkajú podporu OpenVPN. Nechcú bezplatný test, ale stačilo to spustiť z prenosného počítača, aby som sa ubezpečil, že streamingové služby fungujú.

Krok 2: Nainštalujte Raspberry Pi

Na implementáciu ako je táto používam operačný systém Raspbian Lite. Pretože GUI vôbec nepotrebujem. Najnovšie vydanie môžete získať tu.

Na načítanie súboru.img na kartu SD pre Raspberry Pi používam Win32DiskImager.

Akonáhle sa Raspberry Pi naštartuje, pozriem sa do svojho zoznamu smerovačov DHCP, aby som získal IP adresu a potom sa pripojil cez SSH pomocou Putty. Štandardné používateľské meno a heslo sú pi/malina

Po pripojení spustím nástroj raspi-config, aby som zmenil základné nastavenia.

sudo raspi-config

Najdôležitejšie veci, o ktoré sa musíte v tejto konfigurácii postarať, sú:

  • Rozbaliť systém súborov
  • Zmeniť heslo

Ak chcete, môžete tiež zmeniť názov hostiteľa vášho Raspberry Pi. Môj DHCP má veľmi dlhé prenájmy a môžem si tiež rezervovať konkrétnu adresu. Ak túto schopnosť nemáte, musíte nakonfigurovať Raspberry Pi tak, aby používal statickú IP adresu. Pretože to budú používať ostatné zariadenia ako predvolenú bránu, je dôležité, aby používala rovnakú IP adresu. Tu je príspevok, ktorý som napísal o nastavení statickej IP adresy v Raspbian Jessie.

Potom musíme aktualizovať všetko na najnovšiu verziu:

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

Krok 3: Nainštalujte OpenVPN

Nainštalujte OpenVPN
Nainštalujte OpenVPN

Teraz musíme nainštalovať OpenVPN na Raspberry Pi.

sudo apt-get install openvpn

Potom sa musíme uistiť, že sa služba spustí správne.

sudo systemctl povoliť openvpn

Po dokončení inštalácie musíme skopírovať konfiguračné súbory a certifikáty OpenVPN do poľa. Toto vám poskytne váš poskytovateľ VPN. V mojom prípade som pomocou TunnelBear našiel blogový príspevok o podpore Linuxu. Na tejto stránke je odkaz na súbor zip obsahujúci všetko, čo potrebujeme.

Súbor obsahuje súbory certifikátov a konfiguračný súbor.opvn pre každú krajinu, do ktorej môžete tunelovať. Potrebujete všetky súbory certifikátov a konfiguračný súbor.opvn pre krajinu, ktorú si vyberiete, v mojom prípade pre Švédsko. Rozbaľte potrebné súbory a pomocou winscp nahrajte súbory na svoj Raspberry Pi. Rovnaké používateľské meno/heslo, aké sa používa pre SSH, vás zavedie na adresu/home/pi, stačí tam vložiť súbory.

Potom sa vrátime späť na terminál SSH a presunieme súbory do priečinka OpenVPN. Prvý príkaz je len uistiť sa, že sme v priečinku /home /pi.

cd /domov /pi

sudo mv */etc/openvpn/

Teraz musíme v súboroch vykonať niekoľko úprav. Najprv musíme premenovať konfiguračný súbor z.ovpn na.conf. Akýkoľvek súbor končiaci na.conf v priečinku /etc /openvpn sa automaticky spustí pri spustení démona OpenVPN. Najprv sa musíme dostať do tohto adresára.

cd /etc /openvpn

Potom zmeníme názov konfiguračného súboru. Môžete ho pomenovať ľubovoľne, pokiaľ má koncovku.conf. Radšej používam názvy súborov bez medzier, v tomto prípade idem s swe.conf.

sudo mv *.ovpn swe.conf

Potom potrebujeme autentifikačný súbor obsahujúci používateľské meno a heslo použité pre tunel VPN. Otvorte textový editor a napíšte používateľské meno a heslo do oddelených riadkov. Tento súbor nazveme auth.txt.

sudo nano auth.txt

Obsah by mal byť podobný tomuto príkladu:

používateľské meno

heslo

Potom použite CTRL + O na zápis do súboru a CTRL + X ukončite nano textový editor. Musíme tiež chrániť súbor auth.txt obsahujúci naše poverenia.

sudo chmod 600 /etc/openvpn/auth.txt

Potom musíme upraviť konfiguračný súbor, aby sme sa uistili, že sú všetky cesty správne, a pridať odkaz na novovytvorený súbor auth.txt.

sudo nano swe.conf

Riadky, ktoré je potrebné zmeniť, odkazujú na iné súbory, musia to byť absolútne cesty. V tomto prípade hľadáme toto:

ca CACertificate.crt

cert kľúč UserCertificate.crt PrivateKey.key

Meníme ich na absolútne cesty takto:

ca /etc/openvpn/CACertificate.crt

kľúč cert /etc/openvpn/UserCertificate.crt /etc/openvpn/PrivateKey.key

Potom na koniec súboru pridáme odkaz na súbor auth.txt, napríklad takto:

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

Opäť použijeme CTRL + O na uloženie súboru a potom CTRL + X na ukončenie nano. Teraz môžeme reštartovať démona OpenVPN a zistiť, že tunel funguje.

reštartovať službu sudo openvpn

Ak spustíte príkaz ifconfig, mali by ste v prípade tunela vidieť okrem adaptérov eth0 a lo aj adaptér tun0. Môžete tiež spustiť príkaz this command a skontrolovať svoju verejnú IP adresu:

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

Ak máte problémy so spustením tunela, skúste najskôr reštartovať počítač Raspberry Pi a potom dvakrát skontrolujte, či v konfigurácii nie sú chyby.

Krok 4: Nastavenie smerovania

Teraz musíme povoliť presmerovanie IP. Umožňuje sieťovému prenosu prúdiť z jedného zo sieťových rozhraní a von z druhého. V podstate vytvorenie smerovača.

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

Ak spustíte sudo sysctl -p, mali by ste to vidieť vytlačené na obrazovke:

net.ipv4.ip_forward = 1

Teraz je smerovanie povolené a premávka môže prechádzať cez Raspberry Pi, cez tunel a von na internet.

Krok 5: Nastavte bránu firewall a NAT

Pretože budeme mať niekoľko klientov zvnútra pristupujúcich na internet prostredníctvom jednej verejnej IP adresy, musíme použiť NAT. Znamená to preklad sieťových adries a bude sledovať, ktorý klient požadoval, akú návštevnosť, keď sa informácie vrátia cez tunel. Tiež musíme nastaviť určité zabezpečenie okolo samotného Raspberry Pi a tunela.

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

Povolenie NAT.

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

Umožnenie všetkej návštevnosti z eth0 (interná) prejsť cez tun0 (tunel).

sudo iptables -A DOPREDU -i tun0 -o eth0 -m stav -štát SÚVISIACE, ZARIADENÉ -j PRIJMEM

Umožní, aby sa premávka z tun0 (tunel) vrátila späť cez eth0 (interná). Pretože zadávame stav SÚVISIACE, ZARIADENÉ, bude obmedzený na pripojenie iniciované z internej siete. Blokovanie externého prenosu pri pokuse o nadviazanie nového pripojenia.

sudo iptables -A VSTUP -i lo -j AKCEPTOVAŤ

Umožnenie vlastnej spätnej premávky Raspberry Pi.

sudo iptables -A VSTUP -i eth0 -p icmp -j PRIJAŤ

Umožnenie počítačom v miestnej sieti odoslať ping na Raspberry Pi.

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

Povolenie SSH z vnútornej siete.

sudo iptables -A VSTUP

Umožnenie návratu všetkej návštevnosti iniciovanej Raspberry Pi. Toto je rovnaká štátna istina ako predtým.

sudo iptables -P Vpred DROP

sudo iptables -P VSTUP DROP sudo iptables -L

Ak návštevnosť nespĺňa žiadne z uvedených pravidiel, bude prerušená.

sudo apt-get install iptables-persistent

sudo systemctl povoliť netfilter-trvalý

Prvý riadok inštaluje mierku kódu, vďaka ktorej sú iptable pravidlá, ktoré sme práve vytvorili, medzi reštartmi trvalé. Druhý uloží pravidlá potom, čo ste ich zmenili. Tentoraz stačí rozbehnúť ten prvý. Ak zmeníte pravidlá, uložte druhé. Iptable pravidlá platia hneď, ako ich pridáte, ak sa pokazíte a stratíte prístup, stačí reštartovať a tie, ktoré ešte nie sú uložené, sa vrátia.

Krok 6: Záver

Teraz môžete tento tunel používať z akéhokoľvek zariadenia alebo počítača v rovnakej sieti. Stačí zmeniť predvolenú bránu na akúkoľvek adresu IP, ktorú má váš Raspberry Pi. V mojom prípade toto prepojenie používajú obe moje mediálne centrá Kodi (jedna spálňa a jedna obývačka), aby som mohol streamovať svoje švédske herné kanály. Samozrejme, existujú aj ďalšie veci, na ktoré môžete použiť toto.

Majte na pamäti, že v závislosti od dodávateľa VPN, ktorého ste si vybrali, a rýchlosti vášho internetového pripojenia môže dôjsť k pomalému výkonu.

Ak máte akékoľvek otázky alebo chcete, aby som niečo objasnil, dajte mi vedieť v komentároch! Ak chcete získať ďalší technologický príspevok, navštívte môj blog Hackviking!

Odporúča: