Sisällysluettelo:

Raspberry Pi VPN Gateway: 6 vaihetta
Raspberry Pi VPN Gateway: 6 vaihetta

Video: Raspberry Pi VPN Gateway: 6 vaihetta

Video: Raspberry Pi VPN Gateway: 6 vaihetta
Video: Public vs Private IP Address 2024, Marraskuu
Anonim
Raspberry Pi VPN Gateway
Raspberry Pi VPN Gateway

Päivitys 2018-01-07:

  • Päivitetyt asiat puuttuvat ja muutokset on tehty Raspianin nykyiseen versioon.
  • Luotu myös erityinen opas NordVPN: lle.

VPN: llä on muutama eri käyttötarkoitus. Joko haluat suojata yksityisyytesi ja yksityiset tietosi uteliailta katseilta tai sinun on hankittava lähde toisesta maasta. Hankinta toisesta maasta voi olla erittäin hyödyllistä päästäkseen käsiksi palveluihin, joita ei tarjota maassasi. Nykyään on olemassa useita VPN -palveluita, ja useimmat niistä tarjoavat helppokäyttöisen ohjelmiston tietokoneellesi ja sovelluksia tabletille tai puhelimelle. Mutta jos sinulla on muita laitteita, joita ohjelmisto ei tue, ja haluat käyttää VPN: ää? Rakenna sitten yhdyskäytävä, joka antaa sinulle Internet -yhteyden VPN: n kautta.

Jos tarkastelet verkon perusasetuksia, sinulla on "oletusyhdyskäytävä", jota käytetään kaikkiin IP-osoitteisiin, jotka eivät ole nykyisessä aliverkossa (hyvin yksinkertaistettu). Joten jos asennat yhdyskäytävän, joka voi reitittää Internet -liikennettä vakiintuneen VPN -yhteyden kautta, kaikki verkkoa tukevat laitteet voivat hyödyntää VPN -tunnelia.

Suurin käyttökohteeni San Franciscon asunnossani on VPN -tunneli kotimaahani Ruotsiin, jotta voin suoratoistaa ruotsalaisia toistokanavia mediasoittimissani ja älytelevisiossani. Tämä on melko yleinen käyttötapa useimmille VPN -tunnelin tarvitseville. Koska VPN -ohjelmisto ei tue mediasoittimiani ja älytelevisioitani, rakensin sellaisen Raspberry Pi: stä.

Voit noutaa sellaisen alle 40 dollarilla Amazonista. Suosittelen kuitenkin ostamaan myös kotelon ja kunnollisen virtalähteen. Tätä ohjeellista varten tarvitset:

  • Raspberry Pi 2 tai 3
  • Tapauksesi, josta pidät
  • Hyväkuntoinen virtalähde
  • Verkkokaapeli

Vaihe 1: VPN -palvelun valitseminen

VPN -palvelun valitseminen
VPN -palvelun valitseminen

Tärkeä asia VPN -palvelua valittaessa on, että se täyttää vaatimukset. Tätä käyttötapausta varten tarvitsin ruotsalaisen poistumispisteen omaavan VPN -palvelun, mikä on tärkeintä, koska tarvitsen ruotsalaisia palveluja vakuuttaakseni, että olen Ruotsissa. Vuosien aikana olen käyttänyt useita eri toimittajia, ja alla on asioita, jotka otan huomioon, kun valitsen VPN -toimittajan tiettyyn käyttötapaukseen:

Ilmainen testi

Haluan ilmaisen testijakson tai pienen määrän testidataa, jotta saan tuntuman ohjelmistosta tai sovelluksesta. Haluan myös testata suorituskykyä ja kokonaiskokemusta ennen kuin maksan siitä. On myös mukava tarkistaa, että ideani toimii, ennen kuin aloitan maksamisen.

Yksityisyys

Jos toteutus koskee yksityisyyden suojaa, on todella tärkeää, mitä tietosuojakäytäntö sanoo. On myös tärkeää, mistä maasta yritys toimii ja mitkä lait suojaavat yksityisyyttäsi. Todella yksityisyyttä huolestuttavien käyttäjien tulisi katsoa palvelua, jossa todetaan, ettei liikennelokeja tallenneta, ja sallia nimettömät maksut esimerkiksi Bitcoinin kautta.

Sallittu liikenne

Saattaa olla rajoituksia sille, minkä tyyppistä liikennettä saat ajaa. Vakavimmat toimittajat estävät yleensä vertaisliikenteen. Tämä ei ole pelkästään oikeudellisten ongelmien välttäminen, vaan kaikkien käyttäjien suorituskyvyn ylläpitäminen. On olemassa paljon hyviä toimittajia, jotka mahdollistavat vertaisverkon ja tarjoavat silti korkealaatuista palvelua. Mutta jos tämä ei ole tärkein toipumisesi, suosittelen valitsemaan palvelun, joka ei salli vertaisverkkoa.

Tietojen yläraja

Älä koskaan käytä palvelua, joka pitää datakaton maksaville käyttäjilleen. Tämä loppuu pahimmassa mahdollisessa ajassa aivan kuten puhelimesi tiedot juuri ennen videoleikkeen hauskaa osaa!

Poistu maista

Käyttötarkoituksesta riippuen tällä on eri merkitys. Minun kaltaisessa käyttötapauksessa, jossa minun on päätettävä tiettyyn maahan, tietysti sen on oltava luettelossa. Minun on myös sallittava valita, mihin maahan poistun. On palveluita, joissa et voi valita poistumaa, pysy kaukana niistä. Voit päätyä maahan, jossa suorituskyky tai tietosuojalaki ovat huonot. Vaikka et tarvitse tiettyä maata, sinun on silti valittava palvelu, jossa on muutamia eri maita näytettäväksi, jotta voit löytää sellaisen, jolla on hyvä suorituskyky.

Ohjelmiston tyyppi ja tuki

Tämä on yksi tärkeimmistä syistä, miksi pidän parempana ilmaisen testin palveluita. On niin monia palveluntarjoajia, joilla on huonoja ohjelmistoja, jotka ovat viallisia, epävarmoja tai eivät vain toimi. Raspberry Pi -ratkaisuun tarvitsen palveluntarjoajan, joka tukee OpenVPN: ää.

Oma valinta

Tätä rakennetta varten menin Tunnel Bearin kanssa. Tarjolla on ilmainen 500 Gt: n testi, jotta voisin testata, että voisin todella suoratoistaa ennen kuin maksoin mitään. Heidän kotipaikkansa on Kanada, jossa Ruotsin rinnalla on joitakin maailman tiukimpia yksityisyyslakeja. Maksullisessa palvelussa ei ole datakattoa, ja minulla on myös oikeus liittää useita laitteita kerralla. Joten puhelimen, tabletin ja tietokoneen suojaus suojattuna wifi -yhteydellä on myös järjestetty. Ruotsin poistumissolmu on tuettu, se tarjotaan itse asiassa Bahnhofin kautta, joka tunnetaan Ruotsin vahvasta yksityisyydestä. Maksetuissa suunnitelmissa he tarjoavat OpenVPN -tukea. He eivät tee ilmaista testiä, mutta se riitti suorittamaan sen kannettavalta tietokoneeltani varmistaakseni, että suoratoistopalvelut toimivat.

Vaihe 2: Asenna Raspberry Pi

Tällaisissa toteutuksissa käytän Raspbian Lite -käyttöjärjestelmää. Koska minulla ei ole tarvetta GUI: lle ollenkaan. Voit ladata uusimman julkaisun täältä.

Käytän Win32DiskImageria lataamaan.img-tiedosto Raspberry Pi: n SD-kortille.

Kun Raspberry Pi on käynnistynyt, etsin IP-osoitteen reitittimeni DHCP-luettelosta ja muodostan sitten yhteyden SSH: n kautta Puttyn kanssa. Vakiotunnus ja salasana ovat pi/vadelma

Kun yhteys on muodostettu, suoritan raspi-config-työkalun muuttaaksesi perusasetuksia.

sudo raspi-config

Tärkeimmät asiat tässä kokoonpanossa on huolehtia:

  • Laajenna tiedostojärjestelmä
  • Vaihda salasana

Voit myös halutessasi vaihtaa Raspberry Pi -laitteen isäntänimen. DHCP: lläni on erittäin pitkät vuokrasopimukset, ja voin myös varata tietyn osoitteen. Jos sinulla ei ole tätä kykyä, sinun on määritettävä Raspberry Pi käyttämään staattista IP-osoitetta. Koska muut laitteet käyttävät tätä oletusyhdyskäytävänä, on tärkeää, että se käyttää edelleen samaa IP-osoitetta. Tässä on viesti, jonka kirjoitin staattisen IP -osoitteen asettamisesta Raspbian Jessielle.

Sitten meidän on päivitettävä kaikki uusimpaan versioon:

sudo apt-get updates sudo apt-get upgrade sudo apt-get dist-upgrade

Vaihe 3: Asenna OpenVPN

Asenna OpenVPN
Asenna OpenVPN

Nyt meidän on asennettava OpenVPN Raspberry Pi: hen.

sudo apt-get install openvpn

Sitten meidän on varmistettava, että palvelu käynnistyy oikein.

sudo systemctl ottaa käyttöön openvpn

Kun asennus on valmis, meidän on kopioitava OpenVPN -määritystiedostot ja varmenteet laatikkoon. Tämän antaa sinulle VPN -palveluntarjoajasi. Minun tapauksessani, käyttäen TunnelBearia, löysin sieltä blogikirjoituksen Linux -tuesta. Tällä sivulla on linkki zip -tiedostoon, joka sisältää kaiken tarvitsemamme.

Tiedosto sisältää varmennetiedostot ja.opvn -määritystiedoston kullekin maalle, johon voit tunneloida. Tarvitset kaikki varmennetiedostot ja.opvn -määritystiedoston valitsemallesi maalle, minun tapauksessani Ruotsille. Pura tarvittavat tiedostot ja käytä Wincp: tä tiedostojen lataamiseen Raspberry Pi -laitteeseesi. Sama käyttäjätunnus/salasana, jota käytettiin SSH: ssa, vie sinut kansioon/home/pi, pudota tiedostot sinne.

Sitten palaamme SSH -päätelaitteeseen ja siirrämme tiedostot OpenVPN -kansioon. Ensimmäinen komento on vain varmistaa, että olemme /home /pi -kansiossa.

cd /koti /pi

sudo mv */etc/openvpn/

Nyt meidän on tehtävä joitain muutoksia tiedostoihin. Ensin meidän on nimettävä asetustiedosto uudelleen.ovpn -tiedostosta.conf -tiedostoksi. Kaikki.conf -päätteiset tiedostot /etc /openvpn -kansiossa käynnistyvät automaattisesti, kun OpenVPN -demoni käynnistetään. Ensin meidän on päästävä kyseiseen hakemistoon.

cd /etc /openvpn

Sitten muutamme kokoonpanotiedoston nimeä. Voit nimetä sen haluamallasi tavalla, kunhan se päättyy.conf. Käytän mieluiten tiedostonimiä ilman tyhjiä välilyöntejä, tässä tapauksessa käytän swe.conf -tiedostoa.

sudo mv *.ovpn swe.conf

Sitten tarvitsemme todennustiedoston, joka sisältää VPN -tunnelin käyttäjätunnuksen ja salasanan. Avaa tekstieditori ja kirjoita käyttäjätunnus ja salasana eri riveille. Kutsumme tätä tiedostoa auth.txt.

sudo nano auth.txt

Sisällön pitäisi olla seuraavanlainen:

käyttäjätunnus

Salasana

Kirjoita sitten tiedostoon painamalla CTRL + O ja sulje nano -tekstieditori painamalla CTRL + X. Meidän on myös suojattava tunnistetietomme sisältävä auth.txt -tiedosto.

sudo chmod 600 /etc/openvpn/auth.txt

Sitten meidän on muokattava asetustiedostoa varmistaaksemme, että kaikki polut ovat oikein, ja lisättävä viittaus äskettäin luotuun auth.txt -tiedostoon.

sudo nano swe.conf

Muutettavat rivit viittaavat muihin tiedostoihin, niiden on oltava ehdottomia polkuja. Tässä esimerkissä etsimme tätä:

ca CACertificate.crt

cert UserCertificate.crt -avain PrivateKey.key

Muutamme ne absoluuttisiksi poluiksi seuraavasti:

ca /etc/openvpn/CACertificate.crt

cert /etc/openvpn/UserCertificate.crt -avain /etc/openvpn/PrivateKey.key

Sitten lisätään tiedoston loppuun viittaus auth.txt -tiedostoon, kuten tämä:

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

Jälleen kerran käytämme CTRL + O tiedoston tallentamiseen ja sitten CTRL + X poistuaksesi nanosta. Nyt voimme käynnistää OpenVPN -demonin uudelleen ja nähdä, että tunneli toimii.

sudo -palvelu openvpn uudelleenkäynnistys

Jos suoritat ifconfig -komennon, sinun pitäisi nähdä tun0 -sovitin eth0- ja lo -sovittimien lisäksi, jos tunneli on ylhäällä. Voit myös tarkistaa tämän julkisen IP -osoitteen komennolla tämä komento:

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

Jos sinulla on ongelmia tunnelin saamisessa, kokeile käynnistää Raspberry Pi uudelleen ja tarkista sitten virheiden määritys.

Vaihe 4: Määritä reititys

Nyt meidän on otettava IP -edelleenlähetys käyttöön. Sen avulla verkkoliikenne voi virrata yhdestä verkkoliittymästä ja toisesta ulos. Pohjimmiltaan reitittimen luominen.

sudo /bin /su -c "echo -e '\ n#Ota IP -reititys käyttöön / nnet.ipv4.ip_forward = 1'> /etc/sysctl.conf"

Jos suoritat sudo sysctl -p, tämän pitäisi näkyä näytöllä:

net.ipv4.ip_forward = 1

Nyt reititys on käytössä ja liikenne voi kulkea Raspberry Pi: n kautta, tunnelin yli ja Internetissä.

Vaihe 5: Asenna palomuuri ja NAT

Koska sisäpuolella on useita asiakkaita, jotka käyttävät Internetiä yhden julkisen IP -osoitteen kautta, meidän on käytettävä NAT: ää. Se tarkoittaa verkko -osoitteen kääntämistä ja seuraa, kuka asiakas pyysi mitä liikennettä, kun tiedot palaavat tunnelin yli. Meidän on myös määritettävä tietoturva Raspberry Pi: n itsensä ja tunnelin ympärille.

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

Otetaan käyttöön NAT.

sudo iptables -A Eteenpäin -i eth0 -o tun0 -j HYVÄKSY

Kaiken eth0: n (sisäinen) liikenteen salliminen ylittää tun0 (tunneli).

sudo iptables -A ETEENPÄIN -i tun0 -o eth0 -m -tila --tila LIITTYVÄ, PERUSTETTU -j HYVÄKSY

Liikenteen salliminen tun0: sta (tunneli) taaksepäin eth0: n (sisäinen) kautta. Koska määritämme tilan LIITTYVÄ, PERUSTETTU, se rajoittuu sisäverkosta aloitettuun yhteyteen. Ulkoisen liikenteen estäminen yrittäessäsi luoda uutta yhteyttä.

sudo iptables -A INPUT -i lo -j HYVÄKSY

Raspberry Pi: n oman loopback -liikenteen salliminen.

sudo iptables -A INPUT -i eth0 -p icmp -j HYVÄKSY

Salli paikallisen verkon tietokoneiden pingottaa Raspberry Pi.

sudo iptables -A INPUT -i eth0 -p tcp --port 22 -j HYVÄKSY

SSH: n salliminen sisäverkosta.

sudo iptables -A INPUT -m tila -tila PERUSTETTU, LIITTYVÄ -j HYVÄKSY

Salli kaiken Raspberry Pi: n käynnistämän liikenteen palata. Tämä on sama valtion päämies kuin aiemmin.

sudo iptables -P FORWARD DROP

sudo iptables -P INPUT DROP sudo iptables -L

Jos liikenne ei vastaa mitään määritetyistä säännöistä, se hylätään.

sudo apt-get install iptables-persistent

sudo systemctl mahdollistaa netfilter-pysyvän

Ensimmäinen rivi asentaa koodin rauhan, joka tekee juuri luomistamme iptable -säännöistä pysyviä uudelleenkäynnistysten välillä. Toinen tallentaa säännöt sen jälkeen, kun olet muuttanut niitä. Tällä kertaa riittää suorittaa ensimmäinen. Jos muutat sääntöjä, suorita toinen tallennus. Iptable -säännöt ovat voimassa heti, kun lisäät ne, jos sotket ja menetät käyttöoikeuden, käynnistä vain uudelleen ja ne, joita ei ole vielä tallennettu, palautuvat.

Vaihe 6: Johtopäätös

Nyt voit käyttää tätä tunnelia mistä tahansa laitteesta tai tietokoneesta samassa verkossa. Vaihda vain oletusyhdyskäytävä mihin tahansa Raspberry Pi: n IP-osoitteeseen. Minun tapauksessani molemmat Kodi -mediakeskukseni (yksi makuuhuone ja yksi olohuone) käyttävät tätä yhteyttä, jotta voin suoratoistaa ruotsalaisia pelikanaviani. Tietysti on muitakin asioita, joihin voit käyttää tätä.

Muista vain, että valitsemastasi VPN -toimittajasta ja Internet -yhteyden nopeudesta riippuen suorituskyky voi olla hidas.

Jos sinulla on kysyttävää tai haluat minun selventävän jotain, kerro minulle kommenteissa! Lisää teknistä viestiä löydät blogistani Hackviking!

Suositeltava: