Anonim

Hvorfor bruge en VPN til at få adgang til dit hjem

hurtige links

  • Hvorfor bruge en VPN til at få adgang til dit hjem
  • Opsæt Pi
    • Installer Raspbian
  • Opsæt OpenVPN
    • Certificate Authority
    • Lav nogle nøgler
    • Serverkonfiguration
    • Start serveren
  • Klientopsætning
    • Klientkonfiguration
  • Portvideresendelse
  • Opret forbindelse til klienten
  • Lukende tanker

Der er mange grunde til, at du ønsker at få adgang til dit hjemmenetværk eksternt, og den bedste måde at gøre det på er med en VPN-server. Nogle routere lader dig faktisk konfigurere en VPN-server direkte i routeren, men i mange tilfælde bliver du nødt til at konfigurere en selv.

En hindbærpi er en fantastisk måde at opnå dette på. De kræver ikke meget energi for at køre, og de har nok strøm til at køre en VPN-server. Du kan sætte en op ved siden af ​​din router og dybest set glemme den.

Når du har fjernadgang til dit hjemmenetværk, kan du komme til dine filer hvor som helst. Du kan køre dine hjemmecomputere eksternt. Du kan endda bruge dit hjem VPN-forbindelse fra vejen. En sådan opsætning lader din telefon, tablet eller laptop fungere, ligesom den var derhjemme overalt.

Opsæt Pi

Inden du kan begynde at konfigurere VPN, bliver du nødt til at konfigurere din Raspberry Pi. Det er bedst at opsætte Pi med et kasse og et anstændigt hukommelseskort, 16 GB skal være mere end nok. Tilslut om muligt din Pi til din router med et Ethernet-kabel. Det minimerer alle netværksforsinkelser.

Installer Raspbian

Det bedste operativsystem, du kan bruge på din Pi, er Raspbian. Det er standardvalget, der er sat ud af Raspberry Pi-stiftelsen, og det er baseret på Debian, en af ​​de mest sikre og stabile Linux-versioner, der er tilgængelige.

Gå til Rasbian-downloadsiden, og tag den seneste version. Du kan bruge "Lite" -versionen her, fordi du faktisk ikke har brug for et grafisk skrivebord.

Mens det downloades, skal du hente den nyeste version af Etcher til dit operativsystem. Når download er afsluttet, trækkes Raspbian-billedet ud. Åbn derefter Etcher. Vælg Raspbian-billedet, hvorfra du udpakkede det. Vælg dit SD-kort (Indsæt det først). Til sidst skriver du billedet til kortet.

Efterlad SD-kortet på din computer, når det er gjort. Åbn en filhåndtering og gennemsøg kortet. Du skal se et par forskellige partitioner. Se efter "boot" -partitionen. Det er den, der indeholder en "kernel.img" -fil. Opret en tom tekstfil på "boot" -partitionen, og kald den "ssh" uden filtypenavn.

Du kan endelig tilslutte din Pi. Sørg for, at du sidst tilslutter den. Du har ikke brug for en skærm, et tastatur eller en mus. Du får fjernadgang til Raspberry Pi over dit netværk.

Giv Pi et par minutter til at indstille sig selv. Åbn derefter en webbrowser og naviger til din routers styringsskærm. Find Raspberry Pi, og noter dens IP-adresse.

Uanset om du er på Windows, Linux eller Mac, skal du åbne OpenSSH. Opret forbindelse til Raspberry Pi med SSH.

$ ssh

Brug naturligvis Pi's faktiske IP-adresse. Brugernavnet er altid pi, og adgangskoden er hindbær.

Opsæt OpenVPN

OpenVPN er ikke nøjagtigt let at konfigurere som server. Den gode nyhed er, at du kun behøver at gøre det en gang. Så før du graver dig ind, skal du sørge for, at Raspbian er helt opdateret.

$ sudo apt-opdatering $ sudo apt-opgradering

Når opdateringen er afsluttet, kan du installere OpenVPN og det certifikatværktøj, du har brug for.

$ sudo apt installere openvpn easy-rsa

Certificate Authority

For at autentificere dine enheder, når de prøver at oprette forbindelse til serveren, skal du oprette en certifikatmyndighed for at oprette signeringstaster. Disse taster sikrer, at kun dine enheder vil være i stand til at oprette forbindelse til dit hjemmenetværk.

Opret først et bibliotek til dine certifikater. Gå ind i det bibliotek.

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

Se dig omkring for OpenSSL-konfigurationsfiler. Link derefter den seneste med openssl.cnf.

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

I den samme "certs" -mappe er en fil kaldet "vars." Åbn den fil op med din teksteditor. Nano er standard, men du er velkommen til at installere Vim, hvis du er mere komfortabel med det.

Find variablen KEY_SIZE først. Det er som standard indstillet til 2048. Skift det til 4096.

eksport KEY_SIZE = 4096

Den vigtigste blok, som du har brug for at håndtere, fastlægger oplysninger om din certifikatmyndighed. Det hjælper, hvis denne info er nøjagtig, men alt hvad du kan huske er fint.

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, skal du gemme og afslutte.

Denne Easy-RSA-pakke, som du installerede før, indeholder en masse scripts, der hjælper med at opsætte alt, hvad du har brug for. Du skal bare køre dem. Start med at tilføje “vars” -filen som kilde. Det indlæser alle de variabler, du lige har angivet.

$ sudo kilde ./vars

Rens derefter tasterne. Du har ikke nogen, så du skal ikke bekymre dig om meddelelsen, der fortæller dig, at dine nøgler bliver slettet.

$ sudo ./clean-install

Endelig skal du opbygge din certifikatmyndighed. Du har allerede indstillet standarderne, så du kan bare acceptere de standarder, den præsenterer. Husk at indstille en stærk adgangskode og svare “ja” på de to sidste spørgsmål, efter adgangskoden.

$ sudo ./bygning-ca

Lav nogle nøgler

Du gennemgik alle de problemer med at oprette en certifikatmyndighed, så du kan underskrive nøgler. Nu er det tid til at lave nogle. Start med at bygge nøglen til din server.

$ sudo ./build-key-server server

Dernæst bygges Diffie-Hellman PEM. Det er, hvad OpenVPN bruger til at sikre dine klientforbindelser til serveren.

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

Den sidste nøgle, du har brug for fra nu, kaldes en HMAC-nøgle. OpenVPN bruger denne nøgle til at signere hver enkelt pakke information, der udveksles mellem klienten og serveren. Det hjælper med at forhindre visse former for angreb på forbindelsen.

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

Serverkonfiguration

Du har nøglerne. Det næste stykke ved opsætning af OpenVPN er selve serverkonfigurationen. Heldigvis er der ikke så meget, du skal gøre her. Debian leverer en basiskonfiguration, som du kan bruge til at komme i gang. Så begynd med at hente den konfigurationsfil.

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

Brug din teksteditor igen til at åbne /etc/openvpn/server.conf. De første ting, du har brug for at finde, er ca, cert og nøglefiler. Du skal indstille dem til at matche de faktiske placeringer af de filer, du oprettede, som alle er i / etc / openvpn / certs / nøgler.

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

Find indstillingen dh, og ændre den til at matche Diffie-Hellman .pem, som du oprettede.

dh dh4096.pem

Indstil stien til din HMAC-nøgle også.

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

Find chifferen, og sørg for, at den stemmer overens med eksemplet herunder.

chiffer AES-256-CBC

De næste par muligheder er der, men de kommenteres med en ;. Fjern semikolonerne foran hver mulighed for at aktivere dem.

skub "omdirigering-gateway def1 bypass-dhcp" skub "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"

Se efter bruger- og gruppemuligheder. Frakobl dem, og skift brugeren til “openvpn.”

bruger openvpn gruppe nogroup

Endelig er disse to sidste linjer ikke i standardkonfigurationen. Du skal tilføje dem i slutningen af ​​filen.

Indstil godkendelsesfordøjelsen til at specificere stærkere kryptering til brugergodkendelse.

# Autentificering Digest-autorisation SHA512

Begræns derefter de cipere, som OpenVPN kun kan bruge til kun stærkere. Dette hjælper med at begrænse mulige angreb på svage cifre.

# Begrænsning af cifere tls-chiffer TLS-DHE-RSA-MED-AES-256-GCM-SHA384: TLS-DHE-RSA-MED-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 sammen til konfiguration. Gem filen og afslutt.

Start serveren

Inden du kan starte serveren, skal du oprette den openvpn-bruger, som du har angivet.

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

Det er en speciel bruger bare til at køre OpenVPN, og det gør ikke noget andet.

Start nu serveren.

$ sudo systemctl start openvpn $ sudo systemctl start

Kontroller, at de begge kører

$ sudo systemctl status openvpn * .service

Hvis alt ser godt ud, skal du aktivere dem ved opstart.

$ sudo systemctl enable openvpn $ sudo systemctl enable

Klientopsætning

Din server er nu konfigureret og kørt. Derefter skal du konfigurere din klientkonfiguration. Dette er den konfiguration, du vil bruge til at forbinde dine enheder til din server. Vend tilbage til mappen Certs, og forbered dig på at opbygge klientnøglen. Du kan vælge at oprette separate nøgler til hver klient eller en nøgle for alle klienter. Til hjemmebrug skal en nøgle være i orden.

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

Processen er næsten identisk med serveren, så følg den samme procedure.

Klientkonfiguration

Konfigurationen for klienter svarer meget til den for serveren. Igen har du en foruddannet skabelon at basere din konfiguration på. Du behøver kun at ændre det for at matche serveren.

Skift til klientmappen. Pak derefter prøvekonfigurationen ud.

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

Åbn filen client.ovpn med din teksteditor. Find derefter fjernindstillingen. Forudsat at du ikke allerede bruger en VPN, søg Google “Hvad er min IP.” Tag den adresse, den viser, og indstil den eksterne IP-adresse til den. Efterlad portnummeret.

fjernbetjening 107.150.28.83 1194 #Det IP ironisk nok er en VPN

Skift certs for at afspejle dem, du har oprettet, ligesom du gjorde med serveren.

ca ca. crt cert client.crt nøgle client.key

Find brugerindstillingerne, og tag dem fra. Det er fint at køre klienterne som ingen.

bruger ingen gruppe gruppe

Fravælg tls-autor-indstillingen for HMAC.

tls-autor ta.key 1

Derefter skal du kigge efter cifferindstillingen, og sørg for, at den matcher serveren.

chiffer AES-256-CBC

Derefter skal du bare tilføje begrænsningerne for autentificering af fordøjelse og chiffer i bunden af ​​filen.

# Autentificering Digest Author SHA512 # Krypteringsbegrænsninger 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 godt ud, skal du gemme filen og afslutte. Brug tjære til at pakke konfigurationen og certsne, så du kan sende dem videre til klienten.

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

Overfør denne pakke til klienten, uanset hvor du vælger. SFTP, FTP og et USB-drev er alle gode muligheder.

Portvideresendelse

For at noget af dette kan fungere, skal du konfigurere din router til at videresende indkommende VPN-trafik til Pi. Hvis du allerede bruger en VPN, skal du sørge for, at du ikke opretter forbindelse til den samme port. Hvis du er det, skal du ændre porten på din klient- og serverkonfigurationer.

Opret forbindelse til din routers webgrænseflade ved at indtaste dens IP-adresse i din browser.

Hver router er forskellig. Selv stadig skal de alle have en form for denne funktionalitet. Find det på din router.

Opsætningen er stort set den samme på hver router. Indtast start- og slutporte. De skal være de samme som hinanden og den, du angiver i dine konfigurationer. For IP-adressen skal du derefter indstille den til din Raspberry Pis IP. Gem dine ændringer.

Opret forbindelse til klienten

Hver klient er forskellig, så der er ikke en universel løsning. Hvis du er på Windows, skal du bruge Windows OpenVPN-klienten .

På Android kan du åbne din tarball og overføre tasterne til din telefon. Installer derefter OpenVPN-appen. Åbn appen, og tilslut oplysningerne fra din konfigurationsfil. Vælg derefter dine taster.

På Linux skal du installere OpenVPN meget, som du gjorde for serveren.

$ sudo apt install openvpn

Skift derefter til / etc / openvpn, og pak den tarball, som du sendte over.

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

Omdøb kundefilen.

$ sudo mv client.ovpn client.conf

Start ikke klienten endnu. Det vil mislykkes. Du skal først aktivere portvideresendelse på din router.

Lukende tanker

Du skal nu have en fungerende opsætning. Din klient opretter forbindelse direkte via din router til Pi. Derfra kan du dele og oprette forbindelse via dit virtuelle netværk, så længe alle enheder er forbundet til VPN. Der er ingen grænse, så du kan altid forbinde alle dine computere til Pi VPN.

Gør en hindbærpi til en vpn for at få adgang til dit netværk hvor som helst