Innholdsfortegnelse:

Raspberry Pi VPN Gateway: 6 trinn
Raspberry Pi VPN Gateway: 6 trinn

Video: Raspberry Pi VPN Gateway: 6 trinn

Video: Raspberry Pi VPN Gateway: 6 trinn
Video: Как настроить VPN на маршрутизаторе | NordVPN 2024, Juli
Anonim
Raspberry Pi VPN Gateway
Raspberry Pi VPN Gateway

Oppdatering 2018-01-07:

  • Oppdaterte ting mangler og endringer er nødvendig for den nåværende versjonen av Raspian.
  • Lagde også en spesifikk guide for NordVPN.

Det er noen forskjellige bruksområder for VPN. Enten vil du beskytte personvernet ditt og private data mot nysgjerrige øyne, eller så må du få kilde fra et annet land. Å kjøpe fra et annet land kan være veldig nyttig for å få tilgang til tjenester som ikke tilbys i ditt land. Det er en rekke VPN -tjenester der ute i dag, og de fleste av dem tilbyr brukervennlig programvare for datamaskinen din og apper for nettbrettet eller telefonen. Men hvis du har andre enheter som ikke støttes av programvaren, vil du gå over VPN? Bygg deretter en gateway som gir deg internettilgang via VPN.

Hvis du ser på det grunnleggende nettverksoppsettet ditt, har du en "standard gateway" som brukes for enhver ip-adresse som ikke er lokalisert i ditt nåværende delnett (veldig forenklet). Så hvis du konfigurerer en gateway som kan dirigere internettrafikk over en etablert VPN -tilkobling, kan en hvilken som helst nettverksaktivert enhet dra nytte av VPN -tunnelen.

Min viktigste brukstilfelle i leiligheten min i San Francisco er en VPN -tunnel til hjemlandet mitt, slik at jeg kan streame svenske spillkanaler på mediespillere og smart -TV. Dette er en ganske vanlig brukstilfelle for de fleste som trenger en VPN -tunnel. Siden mine mediespillere og smart -TV -er ikke støttes av VPN -programvaren, bygde jeg en av en Raspberry Pi.

Du kan hente en for under $ 40 på Amazon. Jeg anbefaler imidlertid at du også kjøper etui og en anstendig strømadapter. For denne instruerbare trenger du:

  • Raspberry Pi 2 eller 3
  • Et tilfelle du liker
  • En grei strømadapter
  • En nettverkskabel

Trinn 1: Velge VPN -tjenesten din

Velge VPN -tjenesten din
Velge VPN -tjenesten din

Det viktige når du velger en VPN -tjeneste er at den oppfyller dine krav. For denne brukstilfellet trengte jeg en VPN -tjeneste med et svensk utgangspunkt, det er det viktigste siden jeg trenger de svenske tjenestene for å være overbevist om at jeg er i Sverige. Gjennom årene har jeg brukt flere forskjellige leverandører, og nedenfor er tingene jeg tar i betraktning når jeg velger VPN -leverandør for den spesifikke brukstilfellet:

Gratis test

Jeg vil ha en gratis testperiode eller en liten mengde testdata for å få en følelse av programvaren eller appen. Jeg vil også teste ytelsen og den generelle opplevelsen før jeg betaler for det. Det er også hyggelig å sjekke at ideen min vil fungere før jeg begynner å betale.

Personvern

Hvis implementeringen er av hensyn til personvern, er det veldig viktig hva personvernerklæringen sier. Det er også viktig hvilket land selskapet opererer fra og hvilke lover som beskytter personvernet ditt. De virkelig bekymrede brukerne bør se på en tjeneste som sier at ingen trafikklogger lagres og tillater anonyme betalinger via Bitcoin for eksempel.

Tillatt trafikk

Det kan være begrensninger på hvilken type trafikk du får kjøre. De mer seriøse leverandørene blokkerer vanligvis peer-to-peer-trafikk. Dette er ikke bare for å unngå juridiske problemer, men for å kunne opprettholde ytelsen for alle brukere. Det er mange gode leverandører der ute som tillater node-til-node og fremdeles leverer tjenester av høy kvalitet. Men hvis det ikke er din viktigste rekruttering, anbefaler jeg å velge en tjeneste som ikke tillater node-til-node.

Datatak

Bruk aldri en tjeneste som holder en datakapital over sine betalende brukere. Dette vil bare gå tomt på det verst tenkelige tidspunktet akkurat som dataene på telefonen din like før den morsomme delen i et videoklipp!

Avslutt land

Avhengig av brukstilfellet har dette ulik betydning. For en brukstilfelle som min, der jeg må havne i et bestemt land, må det selvfølgelig stå på listen. Jeg må også få lov til å velge hvilket land jeg forlater. Det er tjenester der du ikke kan velge utreiseland, hold deg unna dem. Du kan ende opp i et land med dårlige ytelser eller personvernlover. Selv om du ikke trenger et bestemt land, bør du fortsatt velge en tjeneste med noen få forskjellige land å vise fra for å kunne finne et med god ytelse.

Type programvare og støtte

Dette er en av hovedgrunnene til at jeg foretrekker tjenester med en gratis test. Det er så mange leverandører med dårlig programvare som er buggy, usikre eller bare ikke fungerer. For en Raspberry Pi -implementering trenger jeg en leverandør som støtter OpenVPN.

Mitt utvalg

For denne bygningen gikk jeg med Tunnel Bear. En gratis test på opptil 500 GB tilbys, slik at jeg kan teste at jeg faktisk kunne streame før jeg betalte noe. De er basert i Canada, som ved siden av Sverige har noen av de sterkeste personvernlovene i verden. Ingen datatak for betalt tjeneste, og jeg har også lov til å ha flere enheter tilkoblet samtidig. Så beskyttelse for telefonen, nettbrettet og datamaskinen min mens jeg reiser på usikkert wifi, blir også sortert. Utgangsnode i Sverige støttes, den leveres faktisk via Bahnhof som er kjent for sterkt personvern i Sverige. For de betalte planene tilbyr de OpenVPN -støtte. De gjør det ikke for gratis testen, men det var nok å kjøre det fra min bærbare datamaskin for å sikre at strømmetjenestene fungerte.

Trinn 2: Installer Raspberry Pi

For implementeringer som dette bruker jeg Raspbian Lite -operativsystemet. Siden jeg ikke har behov for GUI i det hele tatt. Du kan få den siste utgaven her.

Jeg bruker Win32DiskImager til å laste.img-filen på SD-kortet for Raspberry Pi.

Når Raspberry Pi har startet, ser jeg i DHCP-listen til ruterne for å få IP-adressen og deretter koble til over SSH med Putty. Standard brukernavn og passord er pi/bringebær

Når jeg var tilkoblet, kjører jeg raspi-config-verktøyet for å endre de grunnleggende innstillingene.

sudo raspi-config

De viktigste tingene å ta vare på i denne konfigurasjonen er:

  • Utvid filsystemet
  • Bytt passord

Du kan også endre vertsnavnet til din Raspberry Pi hvis du vil. Min DHCP har veldig lange leieavtaler, og jeg kan også reservere en bestemt adresse. Hvis du ikke har den muligheten, må du konfigurere Raspberry Pi til å bruke en statisk IP-adresse. Siden andre enheter vil bruke denne som standard gateway, er det viktig at den fortsetter å bruke den samme IP-adressen. Her er et innlegg jeg skrev om å sette en statisk IP i Raspbian Jessie.

Da må vi oppgradere alt til den nyeste versjonen:

sudo apt-get oppdateringer sudo apt-get oppgradering sudo apt-get dist-upgrade

Trinn 3: Installer OpenVPN

Installer OpenVPN
Installer OpenVPN

Nå må vi installere OpenVPN på Raspberry Pi.

sudo apt-get install openvpn

Da må vi sørge for at tjenesten starter som den skal.

sudo systemctl aktiver openvpn

Når installasjonen er fullført, må vi kopiere OpenVPN -konfigurasjonsfilene og sertifikatene til boksen. Dette vil bli gitt deg av VPN -leverandøren. I mitt tilfelle, ved hjelp av TunnelBear, fant jeg et blogginnlegg om Linux -støtte. På den siden er det en lenke til zip -fil som inneholder alt vi trenger.

Filen inneholder sertifikatfilene og en.opvn -konfigurasjonsfil for hvert land du kan tunnelere til. Du trenger alle sertifikatfilene og.opvn -konfigurasjonsfilen for landet du ønsker, i mitt tilfelle Sverige. Pakk ut filene som trengs, og bruk winscp for å laste opp filene til Raspberry Pi. Det samme brukernavnet/passordet som brukes for SSH vil bringe deg til/home/pi, bare slipp filene der.

Deretter går vi tilbake til SSH -terminalen og flytter filene til OpenVPN -mappen. Første kommando er bare å sørge for at vi er i mappen /home /pi.

cd /home /pi

sudo mv */etc/openvpn/

Nå må vi gjøre noen endringer i filene. Først må vi gi nytt navn til konfigurasjonsfilen fra.ovpn til.conf. Enhver fil som slutter på.conf i mappen /etc /openvpn starter automatisk når OpenVPN -demonen startes. Først må vi komme inn i den katalogen.

cd /etc /openvpn

Deretter endrer vi navnet på konfigurasjonsfilen. Du kan kalle den hva du vil så lenge den ender på.conf. Jeg foretrekker å bruke filnavn uten tomme mellomrom, i dette tilfellet går jeg med swe.conf.

sudo mv *.ovpn swe.conf

Deretter trenger vi en autentiseringsfil som inneholder brukernavnet og passordet som brukes for VPN -tunnelen. Åpne et tekstredigeringsprogram og skriv brukernavn og passord på separate linjer. Vi vil kalle denne filen auth.txt.

sudo nano auth.txt

Innholdet skal være som dette eksempelet:

brukernavn

passord

Deretter bruker du CTRL + O til å skrive til filen og CTRL + X for å gå ut av tekstredigeringsprogrammet. Vi må også beskytte auth.txt -filen som inneholder legitimasjonen vår.

sudo chmod 600 /etc/openvpn/auth.txt

Deretter må vi redigere konfigurasjonsfilen for å sikre at alle baner er riktige og legge til en referanse til den nyopprettede auth.txt -filen.

sudo nano swe.conf

Linjene som må endres er de som refererer til andre filer, de må være absolutte baner. I dette eksemplet er dette det vi leter etter:

ca CACertificate.crt

cert UserCertificate.crt -nøkkel PrivateKey.key

Vi endrer dem til absolutte baner slik:

ca /etc/openvpn/CACertificate.crt

cert /etc/openvpn/UserCertificate.crt nøkkel /etc/openvpn/PrivateKey.key

På slutten av filen legger vi til en referanse til auth.txt -filen, slik:

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

Igjen bruker vi CTRL + O for å lagre filen og deretter CTRL + X for å avslutte nano. Nå kan vi starte OpenVPN -demonen på nytt og se at tunnelen fungerer.

sudo service openvpn start på nytt

Hvis du kjører kommandoen ifconfig, bør du se en tun0 -adapter i tillegg til eth0 og lo -adaptere hvis tunnelen er oppe. Du kan også kjøre kommandoen denne kommandoen for å kontrollere din offentlige IP:

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

Hvis du har problemer med å få opp tunnelen, kan du først prøve å starte Raspberry Pi på nytt og deretter sjekke konfigurasjonen for feil.

Trinn 4: Konfigurer ruting

Nå må vi aktivere IP -videresending. Det gjør at nettverkstrafikken kan strømme inn fra det ene av nettverksgrensesnittene og ut av det andre. Oppretter i hovedsak en ruter.

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

Hvis du kjører sudo sysctl -p, bør du se dette skrevet ut på skjermen:

net.ipv4.ip_forward = 1

Nå er ruting aktivert og trafikk kan gå gjennom Raspberry Pi, over tunnelen og ut på internett.

Trinn 5: Konfigurer brannmur og NAT

Siden vi vil ha flere klienter på innsiden som får tilgang til internett over en offentlig IP -adresse, må vi bruke NAT. Det står for nettverksadresseoversettelse og vil holde oversikt over hvilken klient som ba om hvilken trafikk når informasjonen returnerer over tunnelen. Vi må også sette opp litt sikkerhet rundt Raspberry Pi selv og tunnelen.

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

Aktiverer NAT.

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

La all trafikk fra eth0 (intern) gå over tun0 (tunnel).

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

La trafikk fra tun0 (tunnel) gå tilbake over eth0 (internt). Siden vi spesifiserer staten RELATERT, ESTABLISHED, vil den være begrenset til tilkobling som starter fra det interne nettverket. Blokkerer ekstern trafikk og prøver å starte en ny tilkobling.

sudo iptables -A INPUT -i lo -j GODTAK

Tillater Raspberry Pi sin egen loopback -trafikk.

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

La datamaskiner på det lokale nettverket pinge Raspberry Pi.

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

Tillater SSH fra det interne nettverket.

sudo iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT

Lar all trafikk som er startet av Raspberry Pi komme tilbake. Dette er den samme statlige rektor som tidligere.

sudo iptables -P FREMSETT DROP

sudo iptables -P INPUT DROP sudo iptables -L

Hvis trafikken ikke samsvarer med noen av reglene som er angitt, blir den droppet.

sudo apt-get install iptables-persistent

sudo systemctl aktivere netfilter-persistent

Første linje installerer en kodefrid som gjør at de iptable reglene vi nettopp har opprettet, varer ved mellom omstart. Den andre lagrer reglene etter at du har endret dem. Denne gangen er det nok å kjøre den første. Hvis du endrer reglene, kjører du den andre for å lagre. Iptable -regler gjelder så snart du legger dem til hvis du roter og mister tilgangen, bare start på nytt og de som ikke allerede er lagret, går tilbake.

Trinn 6: Konklusjon

Nå kan du bruke denne tunnelen fra hvilken som helst enhet eller datamaskin på samme nettverk. Bare endre standard gateway til hvilken som helst IP-adresse Raspberry Pi har. I mitt tilfelle bruker begge mine Kodi mediesentre (ett soverom og en stue) denne tilkoblingen, slik at jeg kan streame mine svenske spillkanaler. Selvfølgelig er det andre ting du kan bruke dette til også.

Bare husk at avhengig av VPN -leverandøren du valgte og hastigheten på internettforbindelsen din, kan det være treg ytelse.

Gi meg beskjed i kommentarene hvis du har spørsmål eller vil at jeg skal avklare noe! For mer teknisk innlegg, vennligst besøk bloggen min Hackviking!

Anbefalt: