Zakaj uporabljati VPN za dostop do vašega doma
Obstaja veliko razlogov, zaradi katerih bi radi dostopali do domačega omrežja na daljavo, in to je najbolje storiti s strežnikom VPN. Nekateri usmerjevalniki vam dejansko omogočajo nastavitev strežnika VPN neposredno v usmerjevalniku, vendar ga boste morali v mnogih primerih nastaviti sami.
Raspberry Pi je odličen način za to. Za zagon ne potrebujejo veliko energije, za zagon strežnika VPN pa imajo dovolj moči. Lahko ga nastavite poleg usmerjevalnika in v bistvu pozabite nanj.
Ko imate dostop do domačega omrežja na daljavo, lahko do datotek pridete od koder koli. Domače računalnike lahko zaženete na daljavo. VPN povezavo vašega doma lahko uporabite celo s ceste. Takšna nastavitev omogoča, da se telefon, tablični računalnik ali prenosni računalnik obnaša tako, kot da bi bil doma od koder koli.
Nastavite Pi
Preden začnete nastavljati VPN, boste morali nastaviti Raspberry Pi. Najbolje je, da Pi nastavite s ohišjem in pomnilniško kartico dostojne velikosti, 16 GB bi moralo biti več kot dovolj. Če je mogoče, povežite Pi z usmerjevalnikom z ethernetnim kablom. Zmanjšali bodo morebitne zamude v omrežju.
Namestite Raspbian
Najboljši operacijski sistem za uporabo na vašem Pi je Raspbian. To je privzeta izbira, ki jo je izdala fundacija Raspberry Pi, temelji pa na Debianu, eni najvarnejših in najstabilnejših različic Linuxa.
Pojdi na Stran za prenos Rasbian in zgrabite najnovejšo različico. Tu lahko uporabite različico Lite, ker dejansko ne potrebujete grafičnega namizja.
Medtem ko se to prenaša, dobite najnovejšo različico Jedkar za vaš operacijski sistem. Po končanem prenosu izvlecite sliko Raspbian. Nato odprite Etcher. Izberite sliko Raspbian, kjer ste jo izvlekli. Izberite kartico SD (najprej jo vstavite). Na koncu sliko napišite na kartico.
kako izbrisati zgodovino ogledov na
Ko končate, pustite kartico SD v računalniku. Odprite upravitelja datotek in poiščite kartico. Morali bi videti nekaj različnih particij. Poiščite zagonsko particijo. To je tisto, v katerem je datoteka kernel.img. Na zagonski particiji ustvarite prazno besedilno datoteko in jo pokličite ssh brez pripone datoteke.
Končno lahko povežete svoj Pi. Prepričajte se, da ste ga priklopili zadnji. Ne boste potrebovali zaslona, tipkovnice ali miške. Do Raspberry Pi boste dostopali na daljavo prek svojega omrežja.
Dajte Pi nekaj minut, da se nastavi. Nato odprite spletni brskalnik in se pomaknite do zaslona za upravljanje usmerjevalnika. Poiščite Raspberry Pi in si zapišite njegov naslov IP.
Ne glede na to, ali uporabljate Windows, Linux ali Mac, odprite OpenSSH. Povežite se z Raspberry Pi s SSH.
$ ssh [email protected]
Očitno uporabite dejanski IP naslov Pi. Uporabniško ime jenenehno piin geslo jemalina.
Nastavite OpenVPN
OpenVPN ni ravno enostavno nastaviti kot strežnik. Dobra novica je, da to morate storiti le enkrat. Torej, preden kopate, se prepričajte, da je Raspbian popolnoma posodobljen.
$ sudo apt update $ sudo apt upgrade
Po končani posodobitvi lahko namestite OpenVPN in pripomoček za potrdila, ki ga potrebujete.
$ sudo apt install openvpn easy-rsa
Certifikacijski organ
Če želite preveriti pristnost svojih naprav, ko se poskušajo povezati s strežnikom, morate nastaviti overitelja potrdil za ustvarjanje podpisnih ključev. Ti ključi bodo zagotovili, da se bodo samo vaše naprave lahko povezale z domačim omrežjem.
Najprej ustvarite imenik za svoja potrdila. Premaknite se v ta imenik.
$ sudo make-cadir /etc/openvpn/certs $ cd /etc/openvpn/certs
Poiščite konfiguracijske datoteke OpenSSL. Nato najnovejšega povežite zopenssl.cnf.
$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf
V isti mapi Certs je datoteka z imenom vars. Datoteko odprite z urejevalnikom besedil. Nano je privzeta nastavitev, vendar namestite Vim, če vam je bolj všeč.
PoiščiKEY_SIZEnajprej spremenljivka. Nastavljeno je2048privzeto. Spremenite v4096.
export KEY_SIZE=4096
Glavni blok, s katerim se morate spoprijeti, vsebuje informacije o vašem overitelju potrdil. Pomaga, če so te informacije točne, toda vse, česar se spomnite, je v redu.
export KEY_COUNTRY='US' export KEY_PROVINCE='CA' export KEY_CITY='SanFrancisco' export KEY_ORG='Fort-Funston' export KEY_EMAIL=' [email protected] ' export KEY_OU='MyOrganizationalUnit' export KEY_NAME='HomeVPN'
Ko imate vse, shranite in zapustite.
Ta paket Easy-RSA, ki ste ga prej namestili, vsebuje veliko skriptov, ki pomagajo nastaviti vse, kar potrebujete. Samo zagnati jih morate. Začnite z dodajanjem datoteke vars kot vira. To bo naložilo vse spremenljivke, ki ste jih pravkar nastavili.
$ sudo source ./vars
Nato očistite ključe. Nimate nobenega, zato vas ne skrbi, da vam sporočilo sporoča, da bodo ključi izbrisani.
$ sudo ./clean-install
Nazadnje zgradite svoj overitelj. Privzete nastavitve ste že nastavili, zato lahko samo sprejmete privzete, ki jih predstavlja. Ne pozabite nastaviti močnega gesla in na geslo odgovoriti na zadnji dve vprašanji.
$ sudo ./build-ca
Naredite nekaj ključev
Šli ste skozi vse te težave pri nastavitvi overitelja potrdil, da lahko podpišete ključe. Zdaj je čas, da jih nekaj naredite. Najprej zgradite ključ za svoj strežnik.
$ sudo ./build-key-server server
Nato zgradite Diffie-Hellman PEM. To OpenVPN uporablja za zaščito odjemalskih povezav s strežnikom.
$ sudo openssl dhparam 4096 > /etc/openvpn/dh4096.pem
Zadnji ključ, ki ga potrebujete od zdaj, se imenuje ključ HMAC. OpenVPN uporablja ta ključ za podpisovanje vsakega posameznega paketa informacij, izmenjanih med odjemalcem in strežnikom. Pomaga preprečiti nekatere vrste napadov na povezavo.
$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key
Konfiguracija strežnika
Ti imaš ključe. Naslednji del pri nastavitvi OpenVPN je sama konfiguracija strežnika. Na srečo tukaj ni vsega, kar bi morali storiti. Debian ponuja osnovno konfiguracijo, s katero lahko začnete. Začnite tako, da dobite to konfiguracijsko datoteko.
$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
Znova uporabite urejevalnik besedil, da se odpre/etc/openvpn/server.conf. Najprej morate najtito,cert, intipkodatotek. Nastaviti jih morate tako, da se ujemajo z dejanskimi lokacijami datotek, ki ste jih ustvarili in v katerih so vse/ 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 # This file should be kept secret
Poiščitjnastavitev in jo spremenite tako, da ustreza Diffie-Hellmanu.pemki ste ga ustvarili.
dh dh4096.pem
Nastavite pot tudi za svoj ključ HMAC.
tls-auth /etc/openvpn/certs/keys/ta.key 0
Poiščišifrain se prepričajte, da se ujema s spodnjim primerom.
cipher AES-256-CBC
Na voljo je naslednjih nekaj možnosti, vendar jih komentirajo z;. Odstranite podpičja pred vsako možnostjo, da jih omogočite.
push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'
Poiščiteuporabnikinskupinoopcije. Prekomentirajte jih in spremeniteuporabnikdo openvpn.
user openvpn group nogroup
Nazadnje, zadnji dve vrstici nista v privzeti konfiguraciji. Dodati jih boste morali na koncu datoteke.
Nastavite izvleček za preverjanje pristnosti, da določite močnejše šifriranje za preverjanje pristnosti uporabnika.
# Authentication Digest auth SHA512
Nato omejite ciperje, ki jih lahko OpenVPN uporablja, samo na močnejše. To pomaga omejiti možne napade na šibke šifre.
# Limit Ciphers tls-cipher 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-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
To je vse za konfiguracijo. Shranite datoteko in zapustite.
Zaženite strežnik
Preden lahko zaženete strežnik, morate to nareditiopenvpnuporabnika, ki ste ga navedli.
$ sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn
Je poseben uporabnik samo za zagon OpenVPN in ne bo počel ničesar drugega.
Zdaj zaženite strežnik.
$ sudo systemctl start openvpn $ sudo systemctl start [email protected]
Preverite, ali oba tečeta
$ sudo systemctl status openvpn*.service
Če je vse videti dobro, jih omogočite ob zagonu.
$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected]
Nastavitev odjemalca
Vaš strežnik je zdaj nastavljen in deluje. Nato morate nastaviti konfiguracijo odjemalca. To je konfiguracija, ki jo boste uporabili za povezavo naprav s strežnikom. Vrnite se nagotovomapo in se pripravite na izdelavo odjemalskih ključev. Za vsako stranko lahko izberete ločene ključe ali enega ključa za vse stranke. Za domačo uporabo bi moral biti en ključ v redu.
$ cd /etc/openvpn/certs $ sudo source ./vars $ sudo ./build-key client
Postopek je skoraj enak strežniškemu, zato sledite istemu postopku.
Konfiguracija odjemalca
Konfiguracija za odjemalce je zelo podobna konfiguraciji za strežnik. Spet imate vnaprej izdelano predlogo, na kateri temelji vaša konfiguracija. Spremeniti ga morate le tako, da se ujema s strežnikom.
Spremenite se vstrankaimenik. Nato razpakirajte vzorčno konfiguracijo.
$ cd /etc/openvpn/client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn
Odpriteodjemalec.ovpndatoteko z urejevalnikom besedil. Nato poiščitena daljavomožnost. Ob predpostavki, da še ne uporabljate omrežja VPN, iskanje v Googlu Kaj je moj IP. Vzemite naslov, ki se prikaže, in nastavitena daljavoIP naslov. Pustite številko vrat.
remote 107.150.28.83 1194 #That IP ironically is a VPN
Spremenite certifikate, da bodo odražali tiste, ki ste jih ustvarili, tako kot ste storili s strežnikom.
ca ca.crt cert client.crt key client.key
Poiščite uporabniške možnosti in jih komentirajte. V redu je, če stranke vodimo kotnihče.
user nobody group nogroup
Odstavite komentartls-authmožnost za HMAC.
tls-auth ta.key 1
Nato poiščitešifrain se prepričajte, da se ujema s strežnikom.
cipher AES-256-CBC
Nato na dno datoteke preprosto dodajte izvleček in omejitve šifriranja.
# Authentication Digest auth SHA512 # Cipher Restrictions tls-cipher 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-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
Ko je vse videti pravilno, shranite datoteko in zapustite. Uporabakatranda spakirate konfiguracijo in potrdila, da jih lahko pošljete stranki.
$ 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
Ta paket prenesite stranki, kakor koli izberete. SFTP, FTP in pogon USB so odlične možnosti.
Posredovanje vrat
Da bi kar koli od tega delovalo, morate usmerjevalnik konfigurirati tako, da dohodni promet VPN posreduje na Pi. Če že uporabljate VPN, se prepričajte, da se ne povezujete na istih vratih. Če ste, spremenite vrata na konfiguracijah odjemalca in strežnika.
Povežite se s spletnim vmesnikom usmerjevalnika, tako da v njegov brskalnik vnesete njegov naslov IP.
Vsak usmerjevalnik je drugačen. Kljub temu bi morali vsi imeti neko obliko te funkcije. Poiščite ga na svojem usmerjevalniku.
Namestitev je v bistvu enaka pri vseh usmerjevalnikih. Vnesite začetna in končna vrata. Morali bi biti enaki drug drugemu in tisti, ki ste ga nastavili v svojih konfiguracijah. Nato za naslov IP nastavite na IP vašega Raspberry Pi. Shranite spremembe.
Povežite se s stranko
Vsaka stranka je drugačna, zato ni univerzalne rešitve. Če uporabljate Windows, boste potrebovali Odjemalec Windows OpenVPN .
V Androidu lahko odprete tarball in ključe prenesete v telefon. Nato namestite aplikacijo OpenVPN. Odprite aplikacijo in priklopite podatke iz konfiguracijske datoteke. Nato izberite svoje tipke.
V Linux morate namestiti OpenVPN podobno kot za strežnik.
$ sudo apt install openvpn
Nato se spremenite v/ etc / openvpnin razpakirajte tarball, ki ste ga poslali.
$ cd /etc/openvpn $ sudo tar xJf /path/to/client.tar.xz
Preimenujte datoteko odjemalca.
$ sudo mv client.ovpn client.conf
Odjemalca še ne zaženite. Ne bo uspelo. Najprej morate na usmerjevalniku omogočiti posredovanje vrat.
Zaključne misli
Zdaj bi morali imeti delujočo nastavitev. Vaš odjemalec se bo prek vašega usmerjevalnika neposredno povezal s Pi. Od tam lahko delite in se povezujete prek navideznega omrežja, če so vse naprave povezane z VPN. Ni omejitev, zato lahko vse svoje računalnike vedno povežete s Pi VPN.