Anonim

Kodėl norint naudotis jūsų namais reikia naudoti VPN?

Greitos nuorodos

  • Kodėl norint naudotis jūsų namais reikia naudoti VPN?
  • Nustatykite Pi
    • Įdiekite „Raspbian“
  • Nustatykite „OpenVPN“
    • Sertifikatų institucija
    • Padaryti keletą raktų
    • Serverio konfigūracija
    • Paleiskite serverį
  • Kliento sąranka
    • Kliento konfigūracija
  • Uosto ekspedijavimas
  • Prisijungimas prie kliento
  • Minčių uždarymas

Yra daugybė priežasčių, dėl kurių norite prisijungti prie savo namų tinklo nuotoliniu būdu, o geriausias būdas tai padaryti yra naudojant VPN serverį. Kai kurie maršrutizatoriai leidžia jums nustatyti VPN serverį tiesiogiai maršrutizatoriuje, tačiau daugeliu atvejų turėsite patys jį nustatyti.

Aviečių pi yra puikus būdas tai padaryti. Joms paleisti nereikia daug energijos, jos pakanka ir norint valdyti VPN serverį. Galite nustatyti jį šalia savo maršrutizatoriaus ir iš esmės jį pamiršti.

Kai nuotoliniu būdu turite prieigą prie savo namų tinklo, prie savo failų galite patekti iš bet kurios vietos. Namų kompiuterius galite paleisti nuotoliniu būdu. Jūs netgi galite naudotis namų VPN ryšiu iš kelio. Ši sąranka leidžia jūsų telefonui, planšetiniam kompiuteriui ar nešiojamajam kompiuteriui elgtis taip, kaip namuose buvo 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 eterneto laidu. 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ų galimų „Linux“ versijų.

Eikite į „ Rasbian“ atsisiuntimo puslapį ir įsigykite naujausią versiją. Čia galite naudoti „Lite“ versiją, nes jums iš tikrųjų nereikia grafinio darbalaukio.

Kol tai atsisiunčiate, įsigykite naujausią operacinės sistemos „ Etcher“ versiją. Baigę atsisiųsti, ištraukite Raspbian atvaizdą. Tada atidarykite „Etcher“. Pasirinkite „Raspbian“ atvaizdą iš ten, kur jį ištraukėte. Pasirinkite SD kortelę (pirmiausia įdėkite ją). Galiausiai parašykite atvaizdą į kortelę.

Palikite SD kortelę savo kompiuteryje, kai ji bus baigta. Atidarykite failų tvarkyklę ir suraskite kortelę. Turėtumėte pamatyti porą skirtingų skaidinių. Ieškokite „įkrovos“ skaidinio. Tai tas, kuriame yra „kernel.img“ failas. Sukurkite tuščią teksto failą „įkrovos“ skaidinyje ir pavadinkite jį „ssh“ be failo plėtinio.

Pagaliau galite prijungti savo Pi. Įsitikinkite, kad jį įjungėte paskutinį kartą. Jums nereikės ekrano, klaviatūros ar pelės. Ketinate nuotoliniu būdu pasiekti „Raspberry Pi“ per savo tinklą.

Skirkite Pi kelias minutes pasiruošti. Tada atidarykite žiniatinklio naršyklę ir eikite į maršrutizatoriaus valdymo ekraną. Raskite Raspberry Pi ir atkreipkite dėmesį į jo IP adresą.

Nesvarbu, ar naudojate „Windows“, „Linux“ ar „Mac“, atidarykite „OpenSSH“. Prijunkite prie Raspberry Pi naudodami SSH.

$ ssh

Akivaizdu, kad naudokite tikrąjį Pi adresą. Vartotojo vardas visada yra pi, o slaptažodis - avietinis.

Nustatykite „OpenVPN“

„OpenVPN“ nėra visiškai 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 atnaujintas.

$ sudo apt atnaujinimas $ sudo apt atnaujinimas

Baigę naujinimą, galite įdiegti „OpenVPN“ ir jums reikalingą sertifikatų paslaugų programą.

$ sudo apt įdiegti „openvpn easy-rsa“

Sertifikatų institucija

Norėdami autentifikuoti savo įrenginius, kai jie bando prisijungti prie serverio, turite nustatyti pažymėjimo autoritetą, kad galėtumėte sukurti pasirašymo raktus. Šie klavišai užtikrins, kad tik jūsų įrenginiai galės prisijungti prie jūsų namų tinklo.

Pirmiausia sukurkite savo sertifikatų katalogą. Perkelkite į tą katalogą.

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

Ieškokite „OpenSSL“ konfigūracijos failų. Tada susiekite naujausią su openssl.cnf.

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

Tame pačiame aplanke „certs“ yra failas, vadinamas „vars“. Atidarykite tą failą naudodami teksto rengyklę. „Nano“ yra numatytasis, tačiau nedvejodami įdiekite „Vim“, jei jums tai patogiau.

Pirmiausia raskite KEY_SIZE kintamąjį. Pagal numatytuosius nustatymus jis yra 2048 m. Pakeiskite jį į 4096.

eksportuoti KEY_SIZE = 4096

Pagrindinis blokas, kurį reikia spręsti, nustato informaciją apie jūsų sertifikatų instituciją. Padeda, jei ši informacija tiksli, tačiau viskas, ką galite atsiminti, yra gerai.

eksportuoti KEY_COUNTRY = "JAV" eksportuoti KEY_PROVINCE = "CA" eksportuoti KEY_CITY = "SanFrancisco" eksportuoti KEY_ORG = "Fort-Funston" eksportuoti KEY_EMAIL = "" eksportuoti KEY_OU = "MyOrganizationalUnit" eksportuoti KEY_NAME = "HomeVPN"

Kai viską turėsite, išsaugokite ir išeikite.

Tame anksčiau įdiegtame „Easy-RSA“ pakete yra daug scenarijų, kurie padeda nustatyti viską, ko jums reikia. Jums tiesiog reikia juos paleisti. Pradėkite pridėdami failą „vars“ kaip šaltinį. Bus įkelti visi ką tik nustatyti kintamieji.

$ sudo šaltinis ./vars

Kitas, išvalykite klavišus. Neturite nė vieno, todėl nesijaudinkite dėl pranešimo, kad jums bus ištrinti jūsų raktai.

$ sudo ./clean-install

Galiausiai sukurkite savo pažymėjimo instituciją. Jūs jau nustatėte numatytuosius nustatymus, todėl galite tiesiog sutikti su numatytaisiais numatytaisiais. Nepamirškite nustatyti tvirto slaptažodžio ir atsakykite „taip“ į du paskutinius klausimus, naudodamiesi slaptažodžiu.

$ sudo ./build-ca

Padaryti keletą raktų

Visą tą sunkumą jūs patyrėte, kad nustatytumėte sertifikatų tarnybą, kad galėtumėte pasirašyti raktus. Dabar atėjo laikas juos padaryti. Pirmiausia sukurkite savo serverio raktą.

$ sudo ./build-key-server serveris

Tada pastatykite „Diffie-Hellman PEM“. Tai yra tai, ką „OpenVPN“ naudoja norėdamas apsaugoti jūsų kliento ryšius su serveriu.

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

Paskutinis raktas, kurio jums dabar reikia, vadinamas HMAC raktu. „OpenVPN“ šį raktą naudoja pasirašydamas kiekvieną atskirą informacijos paketą, kuriuo keičiasi klientas ir serveris. Tai padeda užkirsti kelią tam tikros rūšies atakoms.

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

Serverio konfigūracija

Jūs turite raktus. Kitas žingsnis nustatant „OpenVPN“ yra pati serverio konfigūracija. Laimei, čia nėra tiek daug, ką jums reikia padaryti. „Debian“ pateikia bazinę konfigūraciją, kurią galite naudoti norėdami pradėti. Taigi, pradėkite gavę tą konfigūracijos failą.

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

Dar kartą naudokite teksto rengyklę, kad atidarytumėte /etc/openvpn/server.conf. Pirmieji dalykai, kuriuos jums reikia rasti, yra „ca“, „cert“ ir pagrindiniai failai. Turite juos nustatyti taip, kad jie atitiktų faktines jūsų sukurtų failų, kurie yra aplanke / etc / openvpn / certs / keys, vietas.

ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs/keys/server.crt key /etc/openvpn/certs/keys/server.key # Šis failas turėtų būti laikomas paslaptyje

Raskite dh nustatymą ir pakeiskite jį, kad jis atitiktų jūsų sukurtą Diffie-Hellman .pem.

dh dh4096.pem

Taip pat nustatykite savo HMAC rakto kelią.

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

Suraskite šifrą ir įsitikinkite, kad jis atitinka žemiau pateiktą pavyzdį.

šifras AES-256-CBC

Kitos kelios galimybės yra, tačiau jas pakomentuosite; Pašalinkite kabliataškius priešais kiekvieną parinktį, kad juos įjungtumėte.

stumti „nukreipti„ gateway def1 “aplinkkelį-dhcp“ stumti „dhcp-option DNS 208.67.222.222“ stumti „dhcp-option DNS 208.67.220.220“

Ieškokite vartotojo ir grupės parinkčių. Atšaukite jų pasirinkimą ir pakeiskite vartotoją į „openvpn“.

vartotojo openvpn grupės nogroup

Galiausiai šios dvi paskutinės eilutės nėra numatytosios konfigūracijos. Juos turėsite pridėti failo pabaigoje.

Nustatykite autentifikavimo santrauką ir nurodykite stipresnį vartotojo autentifikavimo šifravimą.

# Authentication Digest auth SHA512

Tuomet apribokite švirkštus, kuriuos gali naudoti „OpenVPN“, tik stipresniems. Tai padeda apriboti galimas silpnų šifrų atakas.

# Ribinių šifrų TLS-DHE-RSA-SU-AES-256-GCM-SHA384: TLS-DHE-RSA-SU-AES-128-GCM-SHA256: TLS-DHE-RSA-WITH-AES-256- CBC-SHA: TLS-DHE-RSA-SU-KAMELIJA-256-CBC-SHA: TLS-DHE-RSA-SU-AES-128-CBC-SHA: TLS-DHE-RSA-SU-CAMELLIA-128-CBC- ŠA

Viskas dėl konfigūracijos. Išsaugokite failą ir išeikite.

Paleiskite serverį

Kad galėtumėte paleisti serverį, turite padaryti jūsų nurodytą „openvpn“ vartotoją.

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

Tai specialus vartotojas, skirtas tik paleisti „OpenVPN“, ir jis nieko daugiau nepadarys.

Dabar paleiskite serverį.

$ sudo systemctl start openvpn $ sudo systemctl start

Patikrinkite, ar jie abu veikia

$ sudo systemctl statusas openvpn * .service

Jei viskas atrodo gerai, įgalinkite juos paleisdami.

$ sudo systemctl įjungti

Kliento sąranka

Dabar jūsų serveris nustatytas ir veikia. Tada turite nustatyti savo kliento konfigūraciją. Tai yra konfigūracija, kurią naudosite įrenginiams prijungti prie serverio. Grįžkite į aplanką „certs“ ir pasiruoškite sukurti kliento raktą (-us). Galite pasirinkti sukurti atskirus raktus kiekvienam klientui arba vieną raktą visiems klientams. Naudojimui namuose vienas raktas turėtų būti puikus.

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

Procesas yra beveik identiškas serverio procesoriui, 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 galite pagrįsti savo konfigūraciją. Jums tereikia jį modifikuoti, kad jis atitiktų serverį.

Pakeiskite į klientų katalogą. 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

Naudodamiesi teksto rengykle, atidarykite failą client.ovpn. Tada raskite nuotolinio valdymo parinktį. Darant prielaidą, kad dar nenaudojate VPN, „Google“ paieška „Kas yra mano IP“. Paimkite rodomą adresą ir nustatykite jam nuotolinį IP adresą. Palikite prievado numerį.

nuotolinis 107.150.28.83 1194 #Tai IP ironiškai yra VPN

Pakeiskite pažymėjimus taip, kad jie atspindėtų jūsų sukurtus, taip, kaip tai darėte su serveriu.

ca ca.crt sert client.crt raktas client.key

Raskite vartotojo parinktis ir atšaukite jas. Puiku paleisti klientus kaip niekus.

vartotojas niekas negrupuoja grupės

Atšaukite HMAC parinktį „tls-auth“.

tls-auth ta.key 1

Tada ieškokite šifravimo parinkties ir įsitikinkite, kad ji atitinka serverį.

šifras AES-256-CBC

Tada tiesiog pridėkite autentifikavimo santrauką ir šifravimo apribojimus failo apačioje.

# Autentifikavimo santrauka auth SHA512 # Šifravimo apribojimai tls-šifras 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-SU CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-SU-AES-128-CBC-SHA: TLS-DHE-RSA-WITH-CAMELLIA -128-CBC-SHA

Kai viskas atrodo teisingai, išsaugokite failą ir išeikite. Norėdami supakuoti konfigūraciją ir pažymėjimus, naudokite degutą, 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, kad ir kurį pasirinktumėte. Puikios parinktys yra SFTP, FTP ir USB diskas.

Uosto ekspedijavimas

Kad bet kuris iš jų veiktų, turite sukonfigūruoti maršrutizatorių, kad jis persiųstų gaunamus VPN srautus į Pi. Jei jau naudojate VPN, turite įsitikinti, kad neprisijungiate prie to paties prievado. Jei esate, pakeiskite prievadą kliento ir serverio konfigūracijose.

Prisijunkite prie maršrutizatoriaus žiniatinklio sąsajos, naršyklėje įvesdami jo IP adresą.

Kiekvienas maršrutizatorius yra skirtingas. Vis dėlto jie visi turėtų turėti tam tikrą šios funkcijos formą. Raskite jį savo maršrutizatoriuje.

Iš esmės kiekvieno maršrutizatoriaus sąranka yra tokia pati. Įveskite pradžios ir pabaigos prievadus. Jie turėtų būti tokie patys kaip vienas ir tas pats, kurį nustatėte savo konfigūracijose. Tada nustatykite IP adresą savo Raspberry Pi IP. Išsaugokite pakeitimus.

Prisijungimas prie kliento

Kiekvienas klientas yra skirtingas, todėl nėra universalaus sprendimo. Jei naudojate „Windows“, jums reikės „ Windows OpenVPN“ kliento .

„Android“ sistemoje galite atidaryti savo tarbalą ir perkelti klavišus į savo telefoną. Tada įdiekite „OpenVPN“ programą. Atidarykite programą ir įjunkite informaciją iš savo konfigūracijos failo. Tada pasirinkite savo klavišus.

„Linux“ įrenginyje turite įdiegti „OpenVPN“ panašiai, kaip tai padarėte serveryje.

$ sudo apt install openvpn

Tada pakeiskite į / etc / openvpn ir išpakuokite tarbolą, kurį išsiuntėte.

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

Pervardykite kliento failą.

$ sudo mv client.ovpn client.conf

Dar nepradėkite kliento. Tai nepavyks. Pirmiausia turite įjungti prievadų peradresavimą maršrutizatoriuje.

Minčių uždarymas

Dabar turėtumėte turėti veikiančią sąranką. Jūsų klientas prisijungs tiesiai per jūsų maršrutizatorių prie „Pi“. Iš čia galite dalytis ir prisijungti per savo virtualų tinklą, jei visi įrenginiai yra prijungti prie VPN. Nėra jokių apribojimų, todėl visada galite visus savo kompiuterius prijungti prie Pi VPN.

Paverskite aviečių pi į VPN, kad iš bet kurios vietos galėtumėte pasiekti savo tinklą