Prečo používať VPN na prístup k domovu
Existuje veľa dôvodov, pre ktoré by ste chceli mať vzdialený prístup k domácej sieti, a najlepší spôsob, ako to urobiť, je server VPN. Niektoré smerovače vám umožňujú nastaviť server VPN priamo v smerovači, ale v mnohých prípadoch si ho budete musieť nastaviť sami.
Raspberry Pi je skvelý spôsob, ako to dosiahnuť. Na prevádzku nepotrebujú veľa energie a majú dostatok energie na prevádzku servera VPN. Môžete si jednu nastaviť vedľa smerovača a v podstate na ňu zabudnúť.
Ak máte vzdialený prístup k domácej sieti, môžete sa k svojim súborom dostať odkiaľkoľvek. Domáce počítače môžete spúšťať na diaľku. Môžete dokonca použiť domáce pripojenie VPN z cesty. Takéto nastavenie umožňuje, aby váš telefón, tablet alebo notebook fungoval odkiaľkoľvek, ako doma.
Nastaviť Pi
Skôr ako začnete nastavovať sieť VPN, budete si musieť nastaviť Raspberry Pi. Najlepšie je Pi vybaviť puzdrom a pamäťovou kartou slušnej veľkosti, 16 GB by malo byť viac ako dosť. Ak je to možné, pripojte svoje Pi k smerovaču pomocou ethernetového kábla. Minimalizuje sa tak akékoľvek oneskorenie v sieti.
Nainštalujte si Raspbian
Najlepším operačným systémom, ktorý môžete na svojom počítači Pi používať, je Raspbian. Je to predvolená voľba, ktorú kladie nadácia Raspberry Pi, a je založená na Debiane, jednej z najbezpečnejších a najstabilnejších dostupných verzií Linuxu.
Choďte do Rasbická stránka na stiahnutie a získajte najnovšiu verziu. Tu môžete použiť verziu Lite, pretože v skutočnosti nepotrebujete grafickú plochu.
Počas sťahovania získate najnovšiu verziu Etcher pre váš operačný systém. Po dokončení sťahovania extrahujte obraz Raspbian. Potom otvorte Etcher. Vyberte obrázok Raspbian, odkiaľ ste ho extrahovali. Vyberte kartu SD (najskôr ju vložte). Nakoniec obrázok napíšte na kartu.
Môžete si zmeniť svoje meno
Keď bude karta SD hotová, nechajte ju v počítači. Otvorte správcu súborov a prejdite na kartu. Mali by ste vidieť niekoľko rôznych oddielov. Vyhľadajte bootovací oddiel. Je to ten, ktorý obsahuje súbor kernel.img. Vytvorte prázdny textový súbor na bootovacom oddiele a nazvite ho ssh bez prípony súboru.
Konečne môžete pripojiť svoje Pi. Nezabudnite ho zapojiť ako posledný. Nebudete potrebovať obrazovku, klávesnicu ani myš. Chystáte sa na diaľku získať prístup k Raspberry Pi prostredníctvom svojej siete.
Dajte Pi pár minút na to, aby sa nastavil. Potom otvorte webový prehliadač a prejdite na obrazovku správy smerovača. Nájdite Raspberry Pi a poznačte si jeho IP adresu.
Či už máte Windows, Linux alebo Mac, otvorte OpenSSH. Pripojte sa k Raspberry Pi pomocou SSH.
$ ssh [email protected]
Je zrejmé, že použite skutočnú IP adresu čísla Pi. Používateľské meno jevždy pia heslo jemalina.
Nastavte OpenVPN
OpenVPN nie je úplne jednoduché nastaviť ako server. Dobrá správa je, že to musíte urobiť iba raz. Než sa do toho ponoríte, uistite sa, že je Raspbian úplne aktuálny.
$ sudo apt update $ sudo apt upgrade
Po dokončení aktualizácie môžete nainštalovať OpenVPN a potrebný certifikačný program.
$ sudo apt install openvpn easy-rsa
Certifikačná autorita
Ak chcete autentifikovať svoje zariadenia pri pokuse o pripojenie k serveru, musíte nastaviť certifikačnú autoritu na vytvorenie podpisových kľúčov. Tieto kľúče zabezpečia, že sa k vašej domácej sieti budú môcť pripojiť iba vaše zariadenia.
Najskôr vytvorte adresár pre svoje certifikáty. Presuňte sa do tohto adresára.
$ sudo make-cadir /etc/openvpn/certs $ cd /etc/openvpn/certs
Poobzerajte sa po konfiguračných súboroch OpenSSL. Potom prepojte ten najnovší sopenssl.cnf.
$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf
V rovnakom priečinku certs je súbor s názvom vars. Otvorte tento súbor pomocou textového editora. Nano je predvolené, ale môžete si nainštalovať Vim, ak vám to vyhovuje viac.
NájsťKEY_SIZEpremenná prvá. Je nastavený na2048predvolene. Zmeňte to na4096.
export KEY_SIZE=4096
Hlavný blok, s ktorým sa musíte vyrovnať, poskytuje informácie o vašej certifikačnej autorite. Pomáha, ak sú tieto informácie presné, ale všetko, na čo si spomeniete, je v poriadku.
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'
Keď máte všetko, uložte a ukončite.
Tento balík Easy-RSA, ktorý ste nainštalovali predtým, obsahuje veľa skriptov, ktoré pomáhajú nastaviť všetko, čo potrebujete. Musíte ich len spustiť. Začnite pridaním súboru vars ako zdroja. Načítajú sa všetky premenné, ktoré ste práve nastavili.
$ sudo source ./vars
Ďalej vyčistite kľúče. Nemáte žiadne, takže si nerobte starosti so správou, ktorá vám hovorí, že vaše kľúče budú odstránené.
$ sudo ./clean-install
Nakoniec vytvorte svoju certifikačnú autoritu. Už ste nastavili predvolené hodnoty, takže môžete iba prijať predvolené hodnoty, ktoré predstavuje. Nezabudnite nastaviť silné heslo a po hesle odpovedať na posledné dve otázky kladne.
$ sudo ./build-ca
Vytvorte niekoľko kľúčov
Všetky tieto ťažkosti ste prešli nastavením certifikačnej autority, aby ste mohli podpisovať kľúče. Teraz je čas nejaké vyrobiť. Začnite vytvorením kľúča pre váš server.
$ sudo ./build-key-server server
Ďalej postavte Diffie-Hellman PEM. To je to, čo OpenVPN používa na zabezpečenie vašich klientských pripojení k serveru.
$ sudo openssl dhparam 4096 > /etc/openvpn/dh4096.pem
Posledný kľúč, ktorý odteraz budete potrebovať, sa nazýva kľúč HMAC. OpenVPN používa tento kľúč na podpisovanie každého jednotlivého paketu informácií vymieňaných medzi klientom a serverom. Pomáha predchádzať určitým druhom útokov na pripojenie.
$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key
Konfigurácia servera
Máte kľúče. Ďalším krokom pri nastavovaní OpenVPN je samotná konfigurácia servera. Našťastie tu nie je všetko, čo musíte urobiť. Debian poskytuje základnú konfiguráciu, ktorú môžete použiť na začiatok. Začnite teda získaním tohto konfiguračného súboru.
$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
Na otvorenie znova použite textový editor/etc/openvpn/server.conf. Prvé, čo musíte nájsť, súže,certakľúčsúbory. Musíte ich nastaviť tak, aby zodpovedali skutočnému umiestneniu súborov, ktoré ste vytvorili a ktoré sú všetky v ňom/ 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
Nájsťtjnastavenie a zmeňte ho tak, aby zodpovedalo Diffie-Hellman.pemktoré ste vytvorili.
dh dh4096.pem
Nastavte cestu aj pre svoj kľúč HMAC.
tls-auth /etc/openvpn/certs/keys/ta.key 0
Nájsťšifraa uistite sa, že zodpovedá príkladu uvedenému nižšie.
cipher AES-256-CBC
Existuje niekoľko ďalších možností, ktoré sú však doplnené o;. Odstráňte bodkočiarky pred každou možnosťou, aby ste ich povolili.
push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'
Hľadajtepoužívateľaskupinamožnosti. Odkomentujte ich a zmeňtepoužívateľotvoriťvpn.
user openvpn group nogroup
Nakoniec tieto dva posledné riadky nie sú v predvolenej konfigurácii. Budete ich musieť pridať na koniec súboru.
Nastavte súhrn autentifikácie tak, aby určoval silnejšie šifrovanie pre autentifikáciu používateľov.
# Authentication Digest auth SHA512
Potom obmedzte cipery, ktoré môže OpenVPN používať, iba na silnejšie. To pomáha obmedziť možné útoky na slabé šifry.
# 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 všetko pre konfiguráciu. Uložte súbor a ukončite prácu.
Spustite server
Pred spustením servera je potrebné to urobiťopenvpnpoužívateľ, ktorého ste zadali.
$ sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn
Je to špeciálny používateľ iba na spustenie OpenVPN a neurobí nič iné.
Teraz spustite server.
$ sudo systemctl start openvpn $ sudo systemctl start [email protected]
Skontrolujte, či sú obe spustené
$ sudo systemctl status openvpn*.service
Ak všetko vyzerá dobre, povoľte ich pri štarte.
$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected]
Nastavenie klienta
Váš server je teraz nastavený a spustený. Ďalej musíte nastaviť konfiguráciu klienta. Toto je konfigurácia, ktorú použijete na pripojenie svojich zariadení k serveru. Vráťte sa doistýpriečinok a pripravte sa na zostavenie kľúčov klienta. Môžete sa rozhodnúť vytvoriť samostatné kľúče pre každého klienta alebo jeden kľúč pre všetkých klientov. Pre domáce použitie by mal byť jeden kľúč v poriadku.
$ cd /etc/openvpn/certs $ sudo source ./vars $ sudo ./build-key client
Proces je takmer totožný so serverovým, preto postupujte rovnako.
Konfigurácia klienta
Konfigurácia pre klientov je veľmi podobná konfigurácii pre server. Opäť máte vopred pripravenú šablónu, na ktorej bude založená vaša konfigurácia. Musíte ho iba upraviť, aby zodpovedal serveru.
Zmeňte sa nazákazníkadresár. Potom rozbaľte ukážkovú konfiguráciu.
$ cd /etc/openvpn/client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn
Otvorteklient.ovpnsúbor s textovým editorom. Potom vyhľadajtediaľkovýmožnosť. Za predpokladu, že ešte nepoužívate VPN, hľadajte Google Aká je moja IP adresa. Vezmite adresu, ktorá sa zobrazuje, a nastavtediaľkovýIP adresa. Ponechajte číslo portu.
remote 107.150.28.83 1194 #That IP ironically is a VPN
Zmeňte certifikáty tak, aby odrážali tie, ktoré ste vytvorili, rovnako ako to bolo so serverom.
ca ca.crt cert client.crt key client.key
Nájdite možnosti používateľa a odkomentujte ich. Je v poriadku riadiť klientov akonikto.
user nobody group nogroup
Odkomentujtetls-authmožnosť pre HMAC.
tls-auth ta.key 1
Ďalej vyhľadajtešifraa uistite sa, že sa zhoduje so serverom.
cipher AES-256-CBC
Potom stačí pridať obmedzenia overenia a šifrovania do dolnej časti súboru.
# 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
Keď bude všetko v poriadku, uložte súbor a ukončite prácu. Použitedechtzbaliť konfiguráciu a certifikáty, aby ste ich mohli poslať klientovi.
$ 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
Preneste tento balík na klienta, akokoľvek si zvolíte. SFTP, FTP a jednotka USB sú vynikajúce možnosti.
Presmerovanie prístavu
Aby niečo z toho fungovalo, musíte nakonfigurovať smerovač tak, aby preposielal prichádzajúce prenosy VPN do Pi. Ak už VPN používate, musíte sa ubezpečiť, že sa nepripojujete na rovnakom porte. Ak ste, zmeňte port v konfigurácii klienta a servera.
Pripojte sa k webovému rozhraniu smerovača zadaním jeho adresy IP v prehliadači.
Každý router je iný. Aj napriek tomu by všetci mali mať určitú formu tejto funkcionality. Nájdete ho na svojom smerovači.
Nastavenie je v podstate rovnaké na každom smerovači. Zadajte počiatočný a koncový port. Mali by byť rovnaké ako všetky ostatné a tie, ktoré ste nastavili vo svojich konfiguráciách. Potom pre adresu IP nastavte adresu IP vášho Raspberry Pi. Uložte zmeny.
Pripojiť sa ku klientovi
Každý klient je iný, takže neexistuje univerzálne riešenie. Ak máte Windows, budete potrebovať Klient Windows OpenVPN .
V systéme Android môžete otvoriť tarball a preniesť kľúče do telefónu. Potom nainštalujte aplikáciu OpenVPN. Otvorte aplikáciu a pripojte informácie z konfiguračného súboru. Potom vyberte svoje kľúče.
V systéme Linux je potrebné nainštalovať OpenVPN podobne, ako ste to urobili pre server.
$ sudo apt install openvpn
Potom sa zmeňte na/ etc / openvpna rozbaľte tarball, ktorý ste poslali.
$ cd /etc/openvpn $ sudo tar xJf /path/to/client.tar.xz
Premenujte súbor klienta.
$ sudo mv client.ovpn client.conf
Zatiaľ klienta nespúšťajte. Zlyhá to. Najprv musíte povoliť presmerovanie portov na smerovači.
Záverečné myšlienky
Teraz by ste mali mať funkčné nastavenie. Váš klient sa pripojí priamo cez smerovač k počítaču Pi. Odtiaľ môžete zdieľať a pripájať sa prostredníctvom svojej virtuálnej siete, pokiaľ sú všetky zariadenia pripojené k sieti VPN. Neexistuje žiadny limit, takže môžete kedykoľvek pripojiť všetky svoje počítače k sieti Pi VPN.