Anonim

Hvorfor bruke en VPN for å få tilgang til hjemmet ditt

Hurtigkoblinger

  • Hvorfor bruke en VPN for å få tilgang til hjemmet ditt
  • Sett opp Pi
    • Installer Raspbian
  • Sett opp OpenVPN
    • Certificate Authority
    • Lag noen nøkler
    • Serverkonfigurasjon
    • Start serveren
  • Klientoppsett
    • Klientkonfigurasjon
  • Port Videresending
  • Koble til klienten
  • Lukkende tanker

Det er mange grunner til at du ønsker å få tilgang til hjemmenettverket ditt eksternt, og den beste måten å gjøre det på er med en VPN-server. Noen rutere lar deg faktisk sette opp en VPN-server direkte i ruteren, men i mange tilfeller trenger du å konfigurere en selv.

En Raspberry Pi er en flott måte å oppnå dette på. De krever ikke mye energi for å kjøre, og de har nok kraft til å kjøre en VPN-server. Du kan sette opp en ved siden av ruteren din og i utgangspunktet glemme den.

Når du eksternt har tilgang til hjemmenettverket ditt, kan du komme til filene dine hvor som helst. Du kan kjøre hjemme-datamaskiner eksternt. Du kan til og med bruke hjemmets VPN-forbindelse fra veien. Et oppsett som dette lar telefonen, nettbrettet eller den bærbare datamaskinen fungere akkurat som den var hjemme hvor som helst.

Sett opp Pi

Før du kan begynne å sette opp VPN, må du konfigurere Raspberry Pi. Det er best å sette opp Pi med et etui og minnekort med anstendig størrelse, 16 GB bør være mer enn nok. Hvis mulig, kobler du Pi-en til ruteren din med en Ethernet-kabel. Det vil minimere eventuelle nettverksforsinkelser.

Installer Raspbian

Det beste operativsystemet du bruker på din Pi er Raspbian. Det er standardvalget satt ut av Raspberry Pi-stiftelsen, og det er basert på Debian, en av de mest sikre og stabile Linux-versjonene som er tilgjengelige.

Gå til Rasbian nedlastningsside, og ta tak i den nyeste versjonen. Du kan bruke "Lite" -versjonen her, fordi du faktisk ikke trenger et grafisk skrivebord.

Mens du laster ned det, får du den siste versjonen av Etcher for operativsystemet ditt. Når nedlastingen er fullført, trekker du ut Raspbian-bildet. Deretter åpner du Etcher. Velg Raspbian-bilde der du hentet det ut. Velg SD-kortet ditt (sett det inn først). Til slutt skriver du bildet til kortet.

La SD-kortet ligge på datamaskinen din når det er ferdig. Åpne en filbehandling og bla gjennom kortet. Du bør se et par forskjellige partisjoner. Se etter "boot" -partisjonen. Det er den med en "kernel.img" -fil. Lag en tom tekstfil på "boot" -partisjonen, og kalle den "ssh" uten filtype.

Du kan endelig koble opp Pi-en din. Forsikre deg om at du kobler den til sist. Du trenger ikke ha en skjerm, et tastatur eller en mus. Du kommer til å få ekstern tilgang til Raspberry Pi over nettverket ditt.

Gi Pi noen minutter å sette seg opp. Åpne deretter en nettleser og naviger til ruteren sin styringsskjerm. Finn Raspberry Pi og noter dens IP-adresse.

Enten du er på Windows, Linux eller Mac, åpne OpenSSH. Koble til Raspberry Pi med SSH.

$ ssh

Åpenbart bruker du den faktiske IP-adressen til Pi. Brukernavnet er alltid pi, og passordet er bringebær.

Sett opp OpenVPN

OpenVPN er ikke akkurat enkelt å konfigurere som server. Den gode nyheten er at du bare trenger å gjøre det en gang. Så før du graver deg inn, må du forsikre deg om at Raspbian er helt oppdatert.

$ sudo apt oppdatering $ sudo apt upgrade

Etter at oppdateringen er fullført, kan du installere OpenVPN og sertifikatverktøyet du trenger.

$ sudo apt installere openvpn easy-rsa

Certificate Authority

For å autentisere enhetene dine når de prøver å koble til serveren, må du sette opp en sertifikatmyndighet for å opprette signeringsnøkler. Disse tastene vil sikre at bare enhetene dine vil kunne koble seg til hjemmenettverket.

Lag først en katalog for sertifikatene dine. Flytt inn i den katalogen.

$ sudo make-cadir / etc / openvpn / certs $ cd / etc / openvpn / certs

Se deg om etter OpenSSL-konfigurasjonsfiler. Deretter kan du koble den siste med openssl.cnf.

$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf

I den samme “certs” -mappen er det en fil som heter “vars.” Åpne filen opp med tekstredigereren. Nano er standard, men installer Vim gjerne hvis du er mer komfortabel med det.

Finn variabelen KEY_SIZE først. Den er satt til 2048 som standard. Endre den til 4096.

eksport KEY_SIZE = 4096

Hovedblokken du trenger å håndtere, viser informasjon om sertifikatmyndigheten. Det hjelper hvis denne informasjonen er nøyaktig, men alt du kan huske er bra.

eksport KEY_COUNTRY = "USA" eksport KEY_PROVINCE = "CA" eksport KEY_CITY = "SanFrancisco" eksport KEY_ORG = "Fort-Funston" eksport KEY_EMAIL = "" eksport KEY_OU = "MyOrganizationalUnit" eksport KEY_NAME = "HjemVPN"

Når du har alt, lagre og avslutt.

Den Easy-RSA-pakken som du installerte før, inneholder mange skript som hjelper deg med å sette opp alt du trenger. Du trenger bare å kjøre dem. Begynn med å legge til “vars” -filen som kilde. Det vil laste inn alle variablene du nettopp har angitt.

$ sudo kilde ./vars

Deretter rydder du opp tastene. Du har ingen, så ikke bekymre deg for meldingen som forteller deg at nøklene dine blir slettet.

$ sudo ./clean-install

Til slutt, bygg sertifikatmyndigheten din. Du har allerede angitt standardverdiene, slik at du bare kan godta standardverdiene som den presenterer. Husk å stille et sterkt passord og svare “ja” på de to siste spørsmålene, etter passordet.

$ sudo ./bygg-ca

Lag noen nøkler

Du gikk gjennom alle de problemer med å sette opp en sertifikatmyndighet slik at du kan signere nøkler. Nå er det på tide å lage noen. Start med å bygge nøkkelen til serveren din.

$ sudo ./build-key-server server

Deretter bygger du Diffie-Hellman PEM. Det er det OpenVPN bruker for å sikre klientforbindelsene dine til serveren.

$ sudo openssl dhparam 4096> /etc/openvpn/dh4096.pem

Den siste nøkkelen du trenger fra nå, kalles en HMAC-nøkkel. OpenVPN bruker denne nøkkelen til å signere hver enkelt pakke med informasjon som utveksles mellom klienten og serveren. Det hjelper til med å forhindre visse typer angrep på forbindelsen.

$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key

Serverkonfigurasjon

Du har nøklene. Det neste stykket ved å sette opp OpenVPN er selve serverkonfigurasjonen. Heldigvis er det ikke så mye du trenger å gjøre her. Debian tilbyr en basiskonfigurasjon som du kan bruke for å komme i gang. Så begynn med å få den konfigurasjonsfilen.

$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz> /etc/openvpn/server.conf

Bruk tekstredigereren din igjen for å åpne /etc/openvpn/server.conf. De første tingene du trenger å finne er ca-, cert- og nøkkelfilene. Du må angi dem slik at de samsvarer med de faktiske plasseringene av filene du opprettet, som alle er i / etc / openvpn / certs / keys.

ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs/keys/server.crt key /etc/openvpn/certs/keys/server.key # Denne filen skal holdes hemmelig

Finn dh-innstillingen, og endre den slik at den samsvarer med Diffie-Hellman .pem som du opprettet.

dh dh4096.pem

Angi banen for HMAC-nøkkelen din også.

tls-autor /etc/openvpn/certs/keys/ta.key 0

Finn chifferen og sørg for at den samsvarer med eksemplet nedenfor.

chiffer AES-256-CBC

De neste par alternativene er der, men de blir kommentert med en ;. Fjern semikolonene foran hvert alternativ for å aktivere dem.

trykk "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"

Se etter bruker- og gruppealternativene. Fjern kammeret fra dem, og endre brukeren til “openvpn.”

bruker openvpn gruppe nogroup

Endelig er disse to siste linjene ikke i standardkonfigurasjonen. Du må legge dem til på slutten av filen.

Angi autentiseringsfordøyelsen for å spesifisere sterkere kryptering for brukerautentisering.

# Autentisering Digest-autorisasjon SHA512

Begrens deretter ciprene som OpenVPN kan bruke til bare sterkere. Dette hjelper til med å begrense mulige angrep på svake chiffer.

# Limit Chifhers tls-chiffer TLS-DHE-RSA-WITH-AES-256-GCM-SHA384: TLS-DHE-RSA-With-AES-128-GCM-SHA256: TLS-DHE-RSA-With-AES-256- CBC-SHA: TLS-DHE-RSA-MED-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-MED-AES-128-CBC-SHA: TLS-DHE-RSA-MED-CAMELLIA-128-CBC- SHA

Det er alt for konfigurasjon. Lagre filen og avslutt.

Start serveren

Før du kan starte opp serveren, må du lage den openvpn-brukeren som du spesifiserte.

$ sudo adduser - system - shell / usr / sbin / nologin - no-create-home openvpn

Det er en spesiell bruker bare for å kjøre OpenVPN, og den vil ikke gjøre noe annet.

Nå, start opp serveren.

$ sudo systemctl start openvpn $ sudo systemctl start

Sjekk at de begge løper

$ sudo systemctl status openvpn * .service

Hvis alt ser bra ut, kan du aktivere dem ved oppstart.

$ sudo systemctl enable openvpn $ sudo systemctl enable

Klientoppsett

Serveren din er nå konfigurert og kjørt. Deretter må du konfigurere klientkonfigurasjonen. Dette er konfigurasjonen du vil bruke for å koble enhetene dine til serveren din. Gå tilbake til mappen Certs og forbered deg på å bygge klientnøkkel (er). Du kan velge å bygge separate nøkler for hver klient eller en nøkkel for alle klienter. For hjemmebruk skal en nøkkel være bra.

$ cd / etc / openvpn / certs $ sudo source ./vars $ sudo ./build-key client

Prosessen er nesten identisk med serveren, så følg samme prosedyre.

Klientkonfigurasjon

Konfigurasjonen for klienter er veldig lik den for serveren. Igjen, du har en ferdig laget mal å basere konfigurasjonen på. Du trenger bare å endre den for å matche serveren.

Endre til klientkatalogen. Pakk deretter ut prøvekonfigurasjonen.

$ cd / etc / openvpn / client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn

Åpne client.ovpn-filen med teksteditoren din. Finn deretter det eksterne alternativet. Forutsatt at du ikke allerede bruker en VPN, søker Google “Hva er min IP.” Ta adressen som den viser, og sett den eksterne IP-adressen til den. Legg igjen portnummeret.

fjernkontroll 107.150.28.83 1194 #Det IP ironisk nok er en VPN

Endre sertifikatene for å gjenspeile de du opprettet, akkurat som du gjorde med serveren.

ca ca. crt cert client.crt key client.key

Finn brukeralternativene, og kammenter dem. Det er greit å drive klientene som ingen.

bruker ingen gruppe gruppe

Fjern merket for tls-autor-alternativet for HMAC.

tls-autor ta.key 1

Neste, se etter chifferalternativet og sørg for at det stemmer med serveren.

chiffer AES-256-CBC

Deretter er det bare å legge til autentiseringsfordøyelses- og chifferbegrensninger nederst i filen.

# Autentisering Digest authent SHA512 # Krypteringsbegrensninger tls-chiffer TLS-DHE-RSA-MED-AES-256-GCM-SHA384: TLS-DHE-RSA-WITH-AES-128-GCM-SHA256: TLS-DHE-RSA-WITH -AES-256-CBC-SHA: TLS-DHE-RSA-MED-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-MED-AES-128-CBC-SHA: TLS-DHE-RSA-MED-CAMELLIA -128-CBC-SHA

Når alt ser riktig ut, lagrer du filen og avslutter. Bruk tjære til å pakke konfigurasjonen og sertifikatene, slik at du kan sende dem til klienten.

$ sudo tar cJf /etc/openvpn/clients/client.tar.xz -C / etc / openvpn / certs / keys ca.crt client.crt client.key ta.key -C /etc/openvpn/clients/client.ovpn

Overfør pakken til klienten uansett hvordan du velger. SFTP, FTP og en USB-stasjon er alle gode alternativer.

Port Videresending

For at noe av dette skal fungere, må du konfigurere ruteren din til å videresende innkommende VPN-trafikk til Pi. Hvis du allerede bruker et VPN, må du forsikre deg om at du ikke kobler til i samme port. Hvis du er det, endre porten på klient- og serverkonfigurasjonene.

Koble til ruterenes nettgrensesnitt ved å skrive inn IP-adressen i nettleseren din.

Hver ruter er forskjellig. Selv om de alle burde ha en form for denne funksjonaliteten. Finn det på ruteren din.

Oppsettet er i utgangspunktet det samme på hver ruter. Angi start- og sluttporter. De skal være de samme som hverandre og den du angir i konfigurasjonene. Deretter, for IP-adressen, angi den til Raspberry Pis IP. Lagre endringene dine.

Koble til klienten

Hver klient er forskjellig, så det er ikke en universell løsning. Hvis du er på Windows, trenger du Windows OpenVPN-klienten .

På Android kan du åpne tarballen din og overføre nøklene til telefonen. Deretter installerer du OpenVPN-appen. Åpne appen, og koble til informasjonen fra konfigurasjonsfilen. Velg deretter tastene dine.

På Linux må du installere OpenVPN mye som du gjorde for serveren.

$ sudo apt install openvpn

Deretter bytter du til / etc / openvpn, og pakker ut tarballen du sendte over.

$ cd / etc / openvpn $ sudo tar xJf /path/to/client.tar.xz

Gi nytt navn til klientfilen.

$ sudo mv client.ovpn client.conf

Ikke start klienten ennå. Det vil mislykkes. Du må aktivere portvideresending på ruteren først.

Lukkende tanker

Du skal nå ha et fungerende oppsett. Klienten din vil koble seg direkte gjennom ruteren din til Pi. Derfra kan du dele og koble deg over det virtuelle nettverket ditt, så lenge alle enhetene er koblet til VPN. Det er ingen grense, så du kan alltid koble alle datamaskinene dine til Pi VPN.

Gjør bringebærpi til en vpn for å få tilgang til nettverket ditt hvor som helst