Kāpēc izmantot VPN, lai piekļūtu savai mājai
Ir daudz iemeslu, kāpēc vēlaties piekļūt savam mājas tīklam attālināti, un labākais veids, kā to izdarīt, ir VPN serveris. Daži maršrutētāji faktiski ļauj iestatīt VPN serveri tieši maršrutētājā, taču daudzos gadījumos tas būs jāiestata pašam.
Aveņu Pi ir lielisks veids, kā to paveikt. Lai palaistu, viņiem nav nepieciešams daudz enerģijas, un viņiem ir pietiekami daudz jaudas, lai palaistu VPN serveri. Jūs varat to iestatīt blakus maršrutētājam un būtībā aizmirst par to.
Ja jums ir piekļuve mājas tīklam attālināti, varat piekļūt failiem no jebkuras vietas. Mājas datorus var vadīt attālināti. Jūs pat varat izmantot savas mājas VPN savienojumu no ceļa. Šāda iestatīšana ļauj jūsu tālrunim, planšetdatoram vai klēpjdatoram darboties tāpat kā mājās no jebkuras vietas.
Iestatiet Pi
Pirms sākat iestatīt VPN, jums būs jāiestata Raspberry Pi. Vislabāk ir iestatīt Pi ar korpusu un pienācīga izmēra atmiņas karti, 16 GB vajadzētu būt vairāk nekā pietiekami. Ja iespējams, savienojiet savu Pi ar maršrutētāju, izmantojot Ethernet kabeli. Tas samazinās tīkla aizkavēšanos.
Instalējiet Raspbian
Vislabākā operētājsistēma, ko izmantot jūsu Pi, ir Raspbian. Tā ir Raspberry Pi fonda noklusējuma izvēle, un tā ir balstīta uz Debian, kas ir viena no drošākajām un stabilākajām pieejamajām Linux versijām.
Iet uz Rasbian lejupielādes lapa un paņemiet jaunāko versiju. Šeit varat izmantot Lite versiju, jo jums faktiski nav nepieciešama grafiskā darbvirsma.
Kamēr notiek lejupielāde, iegūstiet jaunāko versiju Kodinātājs jūsu operētājsistēmai. Pēc lejupielādes pabeigšanas izvelciet Raspbian attēlu. Pēc tam atveriet Etcher. Atlasiet Raspbian attēlu no vietas, kur to ieguvāt. Atlasiet savu SD karti (vispirms ievietojiet to). Visbeidzot, ierakstiet attēlu kartē.
kā jūs zināt, vai kāds jūs bloķēja
Kad tas ir pabeigts, atstājiet SD karti datorā. Atveriet failu pārvaldnieku un pārlūkojiet karti. Jums vajadzētu redzēt pāris dažādas starpsienas. Meklējiet sāknēšanas nodalījumu. Tas ir tas, kurā ir kernel.img fails. Sāknēšanas nodalījumā izveidojiet tukšu teksta failu un izsauciet to ssh bez faila paplašinājuma.
Jūs beidzot varat savienot savu Pi. Pārliecinieties, vai to pievienojāt pēdējam. Jums nebūs vajadzīgs ekrāns, tastatūra vai pele. Jūs no attāluma piekļūsit Raspberry Pi, izmantojot savu tīklu.
Dodiet Pi dažas minūtes, lai sevi iestatītu. Pēc tam atveriet tīmekļa pārlūkprogrammu un dodieties uz maršrutētāja pārvaldības ekrānu. Atrodiet Raspberry Pi un atzīmējiet tā IP adresi.
Neatkarīgi no tā, vai izmantojat operētājsistēmu Windows, Linux vai Mac, atveriet OpenSSH. Savienojiet ar Raspberry Pi ar SSH.
$ ssh [email protected]
Acīmredzot izmantojiet Pi faktisko IP adresi. Lietotājvārds irvienmēr pi, un parole iraveņu.
Iestatiet OpenVPN
OpenVPN nav gluži vienkārši iestatīt kā serveri. Labā ziņa ir tā, ka tas jādara tikai vienu reizi. Tāpēc, pirms iedziļināties, pārliecinieties, ka Raspbian ir pilnībā atjaunināts.
$ sudo apt update $ sudo apt upgrade
Pēc atjaunināšanas pabeigšanas jūs varat instalēt OpenVPN un nepieciešamo sertifikātu utilītu.
$ sudo apt install openvpn easy-rsa
Sertifikāta iestāde
Lai autentificētu jūsu ierīces, kad tās mēģina izveidot savienojumu ar serveri, jums jāiestata sertifikāta iestāde, lai izveidotu zīmēšanas atslēgas. Šie taustiņi nodrošinās, ka tikai jūsu ierīces varēs izveidot savienojumu ar jūsu mājas tīklu.
Vispirms izveidojiet direktoriju saviem sertifikātiem. Pārvietoties uz šo direktoriju.
$ sudo make-cadir /etc/openvpn/certs $ cd /etc/openvpn/certs
Apskatiet OpenSSL konfigurācijas failus. Pēc tam saistiet jaunāko aropenssl.cnf.
$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf
Tajā pašā sertifikātu mapē ir fails ar nosaukumu vars. Atveriet šo failu, izmantojot teksta redaktoru. Nano ir noklusējums, taču, ja jums tas ir ērtāk, instalējiet Vim.
AtrodiKEY_SIZEmainīgais vispirms. Tas ir iestatīts uz2048. gadspēc noklusējuma. Mainiet to uz4096.
export KEY_SIZE=4096
Galvenais bloks, kas jums jārisina, nosaka informāciju par jūsu sertifikāta iestādi. Tas palīdz, ja šī informācija ir precīza, taču viss, ko jūs atceraties, ir labi.
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'
Kad jums viss ir, saglabājiet un izejiet.
Iepriekš instalētajā Easy-RSA pakotnē ir daudz skriptu, kas palīdz iestatīt visu nepieciešamo. Jums vienkārši tie jāpalaiž. Vispirms pievienojiet vars failu kā avotu. Tas ielādēs visus tikko iestatītos mainīgos.
$ sudo source ./vars
Pēc tam notīriet atslēgas. Jums tādu nav, tāpēc neuztraucieties par ziņojumu, kurā teikts, ka jūsu atslēgas tiks izdzēstas.
$ sudo ./clean-install
Visbeidzot, izveidojiet savu sertifikāta iestādi. Jūs jau esat iestatījis noklusējumus, lai jūs varētu vienkārši pieņemt noklusējumus, kurus tas uzrāda. Neaizmirstiet iestatīt stingru paroli un atbildēt apstiprinoši uz pēdējiem diviem jautājumiem, ievērojot paroli.
$ sudo ./build-ca
Veikt dažas atslēgas
Jums radās visas grūtības, lai izveidotu sertifikāta iestādi, lai jūs varētu parakstīt atslēgas. Tagad ir pienācis laiks tos izveidot. Vispirms izveidojiet sava servera atslēgu.
$ sudo ./build-key-server server
Pēc tam izveidojiet Diffie-Hellman PEM. To OpenVPN izmanto, lai nodrošinātu jūsu klienta savienojumus ar serveri.
$ sudo openssl dhparam 4096 > /etc/openvpn/dh4096.pem
Pēdējo atslēgu, kas jums nepieciešama no šī brīža, sauc par HMAC atslēgu. OpenVPN izmanto šo atslēgu, lai parakstītu katru atsevišķo informācijas paketi, ar kuru apmainās starp klientu un serveri. Tas palīdz novērst noteikta veida uzbrukumus savienojumam.
$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key
Servera konfigurācija
Jums ir atslēgas. Nākamais elements OpenVPN iestatīšanā ir pati servera konfigurācija. Par laimi, šeit nav viss, kas jums jādara. Debian nodrošina bāzes konfigurāciju, kuru varat izmantot, lai sāktu darbu. Tātad, vispirms iegūstiet šo konfigurācijas failu.
$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
Lai atvērtu, vēlreiz izmantojiet teksta redaktoru/etc/openvpn/server.conf. Pirmās lietas, kas jums jāatrod, irto,sert, untaustiņufailus. Jums tie jāiestata tā, lai tie atbilstu jūsu izveidoto failu faktiskajām atrašanās vietām/ 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
Atroditiiestatījumu un mainiet to, lai tas atbilstu Diffie-Hellman.pemko jūs izveidojāt.
dh dh4096.pem
Iestatiet ceļu arī savai HMAC atslēgai.
tls-auth /etc/openvpn/certs/keys/ta.key 0
Atrodišifrsun pārliecinieties, ka tas atbilst zemāk redzamajam piemēram.
cipher AES-256-CBC
Ir pāris nākamās iespējas, taču tās ir komentētas ar;. Noņemiet semikolus katras opcijas priekšā, lai tos iespējotu.
push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'
Meklējietlietotājsungrupaiespējas. Nekomentējiet tos un mainietlietotājsuz openvpn.
user openvpn group nogroup
Visbeidzot, pēdējās divas rindas nav noklusējuma konfigurācijā. Tie būs jāpievieno faila beigās.
Iestatiet autentifikācijas kopsavilkumu, lai norādītu spēcīgāku šifrēšanu lietotāja autentifikācijai.
# Authentication Digest auth SHA512
Pēc tam ierobežojiet šifrus, kurus OpenVPN var izmantot, tikai stiprākiem. Tas palīdz ierobežot iespējamos uzbrukumus vājiem šifriem.
# 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
Tas viss konfigurācijai. Saglabājiet failu un izejiet.
Startējiet serveri
Lai varētu palaist serveri, tas ir jāizveidoopenvpnnorādītais lietotājs.
$ sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn
Tas ir īpašs lietotājs tikai OpenVPN palaišanai, un tas nedarīs neko citu.
Tagad palaidiet serveri.
$ sudo systemctl start openvpn $ sudo systemctl start [email protected]
Pārbaudiet, vai viņi abi darbojas
$ sudo systemctl status openvpn*.service
Ja viss izskatās labi, iespējojiet tos startēšanas laikā.
$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected]
Klienta iestatīšana
Jūs serveris tagad ir iestatīts un darbojas. Pēc tam jums jāiestata klienta konfigurācija. Šī ir konfigurācija, kuru izmantosit, lai ierīces savienotu ar serveri. Atgriezieties pienoteiktimapi un sagatavojieties klienta (-u) atslēgas (-u) izveidei. Jūs varat izvēlēties veidot atsevišķas atslēgas katram klientam vai vienu atslēgu visiem klientiem. Lietošanai mājās vienai atslēgai jābūt labi.
$ cd /etc/openvpn/certs $ sudo source ./vars $ sudo ./build-key client
Process ir gandrīz identisks serverim, tāpēc rīkojieties tāpat.
Klienta konfigurācija
Klientu konfigurācija ir ļoti līdzīga tai, kas paredzēta serverim. Atkal jums ir iepriekš sagatavota veidne, uz kuru balstīt savu konfigurāciju. Jums tas ir tikai jāpārveido, lai tas atbilstu serverim.
Mainīt uzklientsdirektorijā. Pēc tam izpakojiet parauga konfigurāciju.
$ cd /etc/openvpn/client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn
Atverietclient.ovpnfailu ar teksta redaktoru. Pēc tam atrodiettālvadības pultsopcija. Pieņemot, ka jūs vēl neizmantojat VPN, Google meklēšana Kas ir mans IP. Paņemiet adresi, kuru tā parāda, un iestatiettālvadības pultsIP adrese tai. Atstājiet porta numuru.
remote 107.150.28.83 1194 #That IP ironically is a VPN
Mainiet sertifikātus, lai tie atbilstu jūsu izveidotajiem, tāpat kā jūs to darījāt ar serveri.
ca ca.crt cert client.crt key client.key
Atrodiet lietotāja opcijas un atsauciet tās no komentāriem. Ir labi vadīt klientus kāneviens.
user nobody group nogroup
Komentēttls-authopcija HMAC.
tls-auth ta.key 1
Pēc tam meklējietšifrsun pārliecinieties, vai tas atbilst serverim.
cipher AES-256-CBC
Pēc tam faila apakšdaļā vienkārši pievienojiet autentifikācijas īssavilkuma un šifra ierobežojumus.
# 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
Kad viss izskatās pareizi, saglabājiet failu un izejiet. Izmantotdarvalai iesaiņotu konfigurāciju un sertifikātus, lai tos varētu nosūtīt klientam.
$ 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
Pārsūtiet šo paketi klientam, kā jūs izvēlaties. SFTP, FTP un USB disks ir lieliskas iespējas.
Ostu pārsūtīšana
Lai kaut kas no tā darbotos, jums ir jākonfigurē maršrutētājs, lai pārsūtītu ienākošo VPN trafiku uz Pi. Ja jūs jau izmantojat VPN, jums jāpārliecinās, vai savienojums nav vienā un tajā pašā ostā. Ja esat, nomainiet klienta un servera konfigurācijas portu.
Izveidojiet savienojumu ar maršrutētāja tīmekļa saskarni, pārlūkprogrammā ierakstot tā IP adresi.
Katrs maršrutētājs ir atšķirīgs. Pat joprojām viņiem visiem vajadzētu būt kaut kādai šīs funkcionalitātes formai. Atrodiet to savā maršrutētājā.
Uzstādīšana katrā maršrutētājā būtībā ir vienāda. Ievadiet sākuma un beigu porti. Tiem jābūt tādiem pašiem kā viens otram un tam, ko iestatījāt konfigurācijās. Pēc tam IP adresei iestatiet to uz Raspberry Pi IP. Saglabājiet izmaiņas.
Izveidojiet savienojumu ar klientu
Katrs klients ir atšķirīgs, tāpēc nav universāla risinājuma. Ja izmantojat operētājsistēmu Windows, jums tā būs nepieciešama Windows OpenVPN klients .
Operētājsistēmā Android varat atvērt savu lietojumprogrammu un pārsūtīt atslēgas uz tālruni. Pēc tam instalējiet lietotni OpenVPN. Atveriet lietotni un pievienojiet informāciju no konfigurācijas faila. Pēc tam atlasiet taustiņus.
Operētājsistēmā Linux jums jāinstalē OpenVPN daudz kā servera gadījumā.
$ sudo apt install openvpn
Tad mainieties uz/ etc / openvpnun izsaiņojiet pārsūtīto tarball.
$ cd /etc/openvpn $ sudo tar xJf /path/to/client.tar.xz
Pārdēvējiet klienta failu.
$ sudo mv client.ovpn client.conf
Vēl nesāciet klientu. Tas neizdosies. Vispirms maršrutētājā jāiespējo porta pārsūtīšana.
Noslēguma domas
Tagad jums vajadzētu būt darbojošai iestatīšanai. Izmantojot jūsu maršrutētāju, jūsu klients tieši izveidos savienojumu ar Pi. No turienes jūs varat kopīgot un izveidot savienojumu savā virtuālajā tīklā, ja vien visas ierīces ir savienotas ar VPN. Nav ierobežojumu, tāpēc jūs vienmēr varat savienot visus datorus ar Pi VPN.