Kodėl verta naudotis VPN, kad pasiektumėte savo namus
Yra daugybė priežasčių, dėl kurių norite pasiekti savo namų tinklą nuotoliniu būdu, o geriausias būdas tai padaryti yra naudojant VPN serverį. Kai kurie maršrutizatoriai iš tikrųjų leidžia jums nustatyti VPN serverį tiesiai maršrutizatoriuje, tačiau daugeliu atvejų jį turėsite nustatyti patys.
Avietė Pi yra puikus būdas tai pasiekti. Norėdami juos paleisti, jiems nereikia daug energijos, ir jie turi pakankamai energijos paleisti VPN serverį. Galite pastatyti vieną šalia savo maršrutizatoriaus ir iš esmės pamiršti.
Kai turite prieigą prie savo namų tinklo nuotoliniu būdu, prie failų galite patekti iš bet kur. Namų kompiuterius galite valdyti nuotoliniu būdu. Jūs netgi galite naudoti savo namų VPN ryšį iš kelio. Tokia sąranka leidžia jūsų telefonui, planšetiniam kompiuteriui ar nešiojamam kompiuteriui veikti taip, kaip buvo namuose iš bet kurios vietos.
Nustatykite „Pi“
Prieš pradėdami nustatyti VPN, turėsite nustatyti savo „Raspberry Pi“. Geriausia nustatyti „Pi“ su dėklu ir tinkamo dydžio atminties kortele, 16 GB turėtų būti daugiau nei pakankamai. Jei įmanoma, prijunkite Pi prie maršrutizatoriaus naudodami Ethernet kabelį. Tai sumažins bet kokį tinklo vėlavimą.
Įdiekite „Raspbian“
Geriausia „Pi“ operacinė sistema yra „Raspbian“. Tai yra numatytasis „Raspberry Pi“ fondo pasirinkimas ir jis pagrįstas „Debian“ - viena saugiausių ir stabiliausių „Linux“ versijų.
Eikite į Rasbian atsisiuntimo puslapis ir paimkite naujausią versiją. Čia galite naudoti „Lite“ versiją, nes jums iš tikrųjų nereikia grafinio darbalaukio.
Kol atsisiunčiate, gaukite naujausią versiją Ofortas jūsų operacinei sistemai. Baigę atsisiuntimą, ištraukite „Raspbian“ vaizdą. Tada atidarykite „Etcher“. Pasirinkite „Raspbian“ vaizdą iš ten, kur jį ištraukėte. Pasirinkite savo SD kortelę (pirmiausia įdėkite ją). Galiausiai užrašykite vaizdą į kortelę.
kaip pašalinti hipersaitą žodžiu
Kai tai bus padaryta, palikite SD kortelę kompiuteryje. Atidarykite failų tvarkyklę ir eikite į kortelę. Turėtumėte pamatyti porą skirtingų pertvarų. Ieškokite įkrovos skaidinio. Tai tas, kuriame yra failas kernel.img. Sukurkite tuščią tekstinį failą įkrovos skaidinyje ir pavadinkite jį ssh be failo plėtinio.
Pagaliau galite prijungti savo Pi. Įsitikinkite, kad prijungėte jį paskutinį kartą. Jums nereikės ekrano, klaviatūros ar pelės. Nuotoliniu būdu prieisite prie „Raspberry Pi“ per savo tinklą.
Duokite Pi keletą minučių, kol jis susitvarkys. Tada atidarykite žiniatinklio naršyklę ir eikite į savo maršrutizatoriaus valdymo ekraną. Suraskite „Raspberry Pi“ ir pažymėkite jo IP adresą.
Nesvarbu, ar naudojate „Windows“, „Linux“ ar „Mac“, atidarykite „OpenSSH“. Prisijunkite prie „Raspberry Pi“ naudodami SSH.
$ ssh [email protected]
Akivaizdu, kad naudokite tikrąjį Pi adresą. Vartotojo vardas yravisada piir slaptažodis yraaviečių.
Nustatykite „OpenVPN“
„OpenVPN“ nėra taip paprasta nustatyti kaip serverį. Geros naujienos yra tai, kad jums reikia tai padaryti tik vieną kartą. Taigi, prieš įsigilindami, įsitikinkite, kad „Raspbian“ yra visiškai atnaujinta.
$ sudo apt update $ sudo apt upgrade
Baigus naujinimą, galite įdiegti „OpenVPN“ ir jums reikalingą sertifikatų įrankį.
$ sudo apt install openvpn easy-rsa
Sertifikato institucija
Norėdami autentifikuoti savo įrenginius, kai jie bando prisijungti prie serverio, turite nustatyti sertifikato instituciją, kad sukurtumėte žymėjimo raktus. Šie raktai užtikrins, kad tik jūsų įrenginiai galės prisijungti prie jūsų namų tinklo.
Pirmiausia sukurkite katalogą savo sertifikatams. Perkelti į tą katalogą.
$ sudo make-cadir /etc/openvpn/certs $ cd /etc/openvpn/certs
Apsidairykite, ar nėra „OpenSSL“ konfigūracijos failų. Tada susiekite naujausią suopenssl.cnf.
$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf
Tame pačiame sertifikatų aplanke yra failas, vadinamas vars. Atidarykite tą failą naudodami teksto rengyklę. „Nano“ yra numatytasis nustatymas, tačiau nedvejodami įdiekite „Vim“, jei jums patogiau.
SuraskKEY_SIZEkintamas pirmiausia. Tai nustatyta2048 mpagal nutylėjimą. Pakeiskite jį į4096.
export KEY_SIZE=4096
Pagrindinis blokas, su kuriuo turite susidoroti, nustato informaciją apie jūsų sertifikato instituciją. Tai padeda, jei ši informacija yra tiksli, bet viskas, ką galite prisiminti, yra gerai.
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'
Kai viską turite, išsaugokite ir išeikite.
Tame „Easy-RSA“ pakete, kurį įdiegėte anksčiau, yra daug scenarijų, kurie padeda nustatyti viską, ko jums reikia. Jums tiesiog reikia juos paleisti. Pradėkite pridėdami „vars“ failą kaip šaltinį. Tai įkels visus jūsų ką tik nustatytus kintamuosius.
$ sudo source ./vars
Tada išvalykite raktus. Jūs neturite tokių, todėl nesijaudinkite dėl pranešimo, kuriame sakoma, kad raktai bus ištrinti.
$ sudo ./clean-install
Galiausiai sukurkite savo sertifikato instituciją. Jūs jau nustatėte numatytuosius nustatymus, todėl galite tiesiog sutikti su numatytaisiais. Nepamirškite nustatyti patikimo slaptažodžio ir atsakykite „taip“ į du paskutinius klausimus, vadovaudamiesi slaptažodžiu.
$ sudo ./build-ca
Padarykite keletą raktų
Jūs patyrėte visas problemas, kad sukurtumėte sertifikato instituciją, kad galėtumėte pasirašyti raktus. Dabar atėjo laikas juos pagaminti. Pirmiausia sukurkite savo serverio raktą.
$ sudo ./build-key-server server
Tada pastatykite „Diffie-Hellman PEM“. Tai, ką „OpenVPN“ naudoja, kad apsaugotų jūsų kliento ryšius su serveriu.
$ sudo openssl dhparam 4096 > /etc/openvpn/dh4096.pem
Paskutinis raktas, kurio jums reikia nuo šiol, vadinamas HMAC raktu. „OpenVPN“ naudoja šį raktą, norėdamas pasirašyti kiekvieną atskirą informacijos paketą, kuriuo keičiamasi tarp kliento ir serverio. Tai padeda užkirsti kelią tam tikroms ryšio atakoms.
$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key
Serverio konfigūracija
Jūs turite raktus. Kitas „OpenVPN“ nustatymo elementas yra pati serverio konfigūracija. Laimei, čia nėra tiek daug, ką jums reikia padaryti. „Debian“ pateikia pagrindinę konfigūraciją, kurią galite naudoti norėdami pradėti. Taigi, pirmiausia gaukite tą konfigūracijos failą.
$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
Norėdami atidaryti, dar kartą naudokite teksto rengyklę/etc/openvpn/server.conf. Pirmieji dalykai, kuriuos reikia rasti, yrakad,certirRaktasfailus. Turite juos nustatyti taip, kad jie atitiktų tikrąsias jūsų sukurtų failų vietas/ 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
Suraskt.ynustatymą ir pakeiskite jį taip, kad jis atitiktų „Diffie-Hellman“.pemkad sukūrei.
dh dh4096.pem
Nustatykite ir savo HMAC rakto kelią.
tls-auth /etc/openvpn/certs/keys/ta.key 0
Suraskšifrasir įsitikinkite, kad jis atitinka toliau pateiktą pavyzdį.
cipher AES-256-CBC
Yra keletas kitų variantų, tačiau jie yra pakomentuoti a;. Pašalinkite kabliataškius prieš kiekvieną parinktį, kad juos įgalintumėte.
push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'
IeškokiteVartotojasirgrupėgalimybės. Nekomentuokite jų ir pakeiskiteVartotojasį openvpn.
user openvpn group nogroup
Galiausiai šios dvi paskutinės eilutės nėra numatytosios konfigūracijos. Juos turėsite pridėti failo pabaigoje.
Nustatykite autentifikavimo santrauką, kad nurodytumėte stipresnį vartotojo autentifikavimo šifravimą.
# Authentication Digest auth SHA512
Tada apribokite šifrus, kuriuos „OpenVPN“ gali naudoti, tik stipresnius. Tai padeda apriboti galimas atakas prieš silpnus šifrus.
# 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
Tai viskas konfigūracijai. Išsaugokite failą ir išeikite.
Paleiskite serverį
Kad galėtumėte paleisti serverį, turite tai padarytiopenvpnnurodytą naudotoją.
$ sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn
Tai specialus vartotojas, skirtas tik paleisti „OpenVPN“, ir nieko daugiau nedarys.
Dabar paleiskite serverį.
$ sudo systemctl start openvpn $ sudo systemctl start [email protected]
Patikrinkite, ar jie abu veikia
$ sudo systemctl status openvpn*.service
Jei viskas atrodo gerai, įgalinkite juos paleisdami.
$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected]
Kliento sąranka
Jūsų serveris dabar nustatytas ir veikia. Tada turite nustatyti savo kliento konfigūraciją. Tai yra konfigūracija, kurią naudosite prijungdami įrenginius prie serverio. Grįžti įtam tikrasaplanką ir pasiruoškite sukurti kliento raktą (-us). Galite pasirinkti sukurti atskirus raktus kiekvienam klientui arba vieną raktą visiems klientams. Naudojant namuose, vienas raktas turėtų būti tinkamas.
$ cd /etc/openvpn/certs $ sudo source ./vars $ sudo ./build-key client
Procesas yra beveik identiškas serverio procesui, todėl atlikite tą pačią procedūrą.
Kliento konfigūracija
Klientų konfigūracija yra labai panaši į serverio konfigūraciją. Vėlgi, jūs turite iš anksto paruoštą šabloną, kuriuo grindžiate savo konfigūraciją. Jums tereikia jį modifikuoti, kad jis atitiktų serverį.
Keisti įklientaskataloge. Tada išpakuokite pavyzdžio konfigūraciją.
$ cd /etc/openvpn/client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn
Atidarykiteklientas.ovpnfailą su savo teksto redaktoriumi. Tada raskiteNuotolinisvariantą. Darant prielaidą, kad dar nenaudojate VPN, „Google“ paieška „Kas yra mano IP“. Paimkite jo rodomą adresą ir nustatykiteNuotolinisIP adresas jam. Palikite uosto numerį.
remote 107.150.28.83 1194 #That IP ironically is a VPN
Pakeiskite sertifikatus, kad jie atitiktų jūsų sukurtus, kaip tai darėte su serveriu.
ca ca.crt cert client.crt key client.key
Suraskite vartotojo parinktis ir jas komentuokite. Puiku valdyti klientus kaipniekas.
user nobody group nogroup
Negalima komentuotitls-autHMAC parinktis.
tls-auth ta.key 1
Tada ieškokitešifrasparinktį ir įsitikinkite, kad ji atitinka serverį.
cipher AES-256-CBC
Tada failo apačioje tiesiog pridėkite autentifikavimo santraukos ir šifro apribojimus.
# 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
Kai viskas atrodo gerai, išsaugokite failą ir išeikite. Naudokitedegutassupakuoti konfigūraciją ir sertifikatus, kad galėtumėte juos nusiųsti klientui.
$ 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
Perkelkite tą paketą klientui, kaip tik norite. SFTP, FTP ir USB diskas yra puikios galimybės.
Uosto ekspedijavimas
Norint, kad visa tai veiktų, turite sukonfigūruoti maršrutizatorių persiųsti gaunamą VPN srautą į Pi. Jei jau naudojate VPN, turite įsitikinti, kad jungiatės ne tame pačiame prievade. Jei esate, pakeiskite kliento ir serverio konfigūracijos prievadą.
Prisijunkite prie savo maršrutizatoriaus žiniatinklio sąsajos, naršyklėje įvesdami jo IP adresą.
Kiekvienas maršrutizatorius yra skirtingas. Net vis tiek jie visi turėtų turėti tam tikrą šios funkcijos formą. Raskite jį savo maršrutizatoriuje.
Kiekviename maršrutizatoriuje sąranka iš esmės yra vienoda. Įveskite pradžios ir pabaigos prievadus. Jie turėtų būti tokie patys kaip vienas kitas ir tas, kurį nustatote savo konfigūracijose. Tada, norėdami nustatyti IP adresą, nustatykite savo „Raspberry Pi“ IP adresą. Išsaugokite pakeitimus.
Prisijunkite prie kliento
Kiekvienas klientas yra skirtingas, todėl universalaus sprendimo nėra. Jei naudojate „Windows“, jums reikės „Windows OpenVPN“ klientas .
Jei naudojate „Android“, galite atidaryti „tarball“ ir perkelti raktus į savo telefoną. Tada įdiekite „OpenVPN“ programą. Atidarykite programą ir prijunkite informaciją iš savo konfigūracijos failo. Tada pasirinkite raktus.
„Linux“ sistemoje turite įdiegti „OpenVPN“ daug kaip ir serveryje.
$ sudo apt install openvpn
Tada pakeiskite į/ etc / openvpnir išpakuokite išsiųstą „tarball“.
$ cd /etc/openvpn $ sudo tar xJf /path/to/client.tar.xz
Pervardykite kliento failą.
$ sudo mv client.ovpn client.conf
Dar nepaleiskite kliento. Tai nepavyks. Pirmiausia turite įjungti uosto persiuntimą savo maršrutizatoriuje.
Uždarymo mintys
Dabar turėtumėte turėti veikiančią sąranką. Jūsų klientas tiesiogiai prisijungs per maršrutizatorių prie „Pi“. Iš ten galite dalytis ir prisijungti per savo virtualųjį tinklą, jei visi įrenginiai yra prijungti prie VPN. Nėra jokių apribojimų, todėl visada galite prijungti visus savo kompiuterius prie „Pi VPN“.