Proč používat VPN pro přístup do vašeho domova
Existuje spousta důvodů, proč byste chtěli vzdáleně přistupovat k domácí síti, a nejlepší způsob, jak to udělat, je server VPN. Některé směrovače vám umožňují nastavit server VPN přímo v routeru, ale v mnoha případech si jej budete muset nastavit sami.
Raspberry Pi je skvělý způsob, jak toho dosáhnout. K provozu nevyžadují mnoho energie a mají dostatek energie pro provoz serveru VPN. Můžete si jeden nastavit vedle svého routeru a v podstatě na něj zapomenout.
Pokud máte vzdálený přístup k domácí síti, můžete se k souborům dostat odkudkoli. Domácí počítače můžete spouštět na dálku. Můžete dokonce použít domácí připojení VPN ze silnice. Díky takovému nastavení bude váš telefon, tablet nebo notebook fungovat odkudkoli, jako by byl doma.
Nastavte Pi
Než budete moci začít nastavovat VPN, budete si muset nastavit Raspberry Pi. Nejlepší je nastavit Pi s pouzdrem a paměťovou kartou slušné velikosti, 16 GB by mělo být víc než dost. Pokud je to možné, připojte své Pi k routeru pomocí ethernetového kabelu. Minimalizuje se tak zpoždění v síti.
Nainstalujte Raspbian
Nejlepší operační systém na vašem Pi je Raspbian. Je to výchozí volba, kterou dal základ Raspberry Pi, a je založena na Debianu, jedné z nejbezpečnějších a nejstabilnějších dostupných verzí Linuxu.
Přejít na Rasbická stránka ke stažení a vezměte si nejnovější verzi. Zde můžete použít verzi Lite, protože ve skutečnosti nepotřebujete grafickou plochu.
Během stahování si stáhněte nejnovější verzi Etcher pro váš operační systém. Po dokončení stahování extrahujte obraz Raspbian. Poté otevřete Etcher. Vyberte obrázek Raspbian, ze kterého jste jej extrahovali. Vyberte SD kartu (vložte ji jako první). Nakonec obrázek zapište na kartu.
jak udělat facebook temný režim
Až bude karta SD hotová, ponechejte ji v počítači. Otevřete správce souborů a přejděte na kartu. Mělo by se zobrazit několik různých oddílů. Vyhledejte spouštěcí oddíl. Je to ten, který obsahuje soubor kernel.img. Vytvořte na spouštěcím oddílu prázdný textový soubor a nazvěte jej ssh bez přípony souboru.
Nakonec můžete připojit své Pi. Nezapomeňte jej připojit jako poslední. Nebudete potřebovat obrazovku, klávesnici ani myš. Chystáte se vzdáleně přistupovat k Raspberry Pi přes vaši síť.
Dejte Pi několik minut, aby se nastavil. Poté otevřete webový prohlížeč a přejděte na obrazovku správy routeru. Najděte Raspberry Pi a poznamenejte si jeho IP adresu.
Ať už používáte Windows, Linux nebo Mac, otevřete OpenSSH. Připojte se k Raspberry Pi pomocí SSH.
$ ssh [email protected]
Je zřejmé, že použijte skutečnou IP adresu Pi. Uživatelské jméno jevždy pia heslo jemalina.
Nastavit OpenVPN
OpenVPN není úplně jednoduché nastavit jako server. Dobrá zpráva je, že to musíte udělat pouze jednou. Než se do toho pustíte, ujistěte se, že Raspbian je zcela aktuální.
$ sudo apt update $ sudo apt upgrade
Po dokončení aktualizace můžete nainstalovat OpenVPN a nástroj pro certifikát, který potřebujete.
$ sudo apt install openvpn easy-rsa
Certifikační autorita
Chcete-li ověřit svá zařízení, když se pokouší připojit k serveru, musíte nastavit certifikační autoritu pro vytváření signovacích klíčů. Tyto klíče zajistí, že se k vaší domácí síti budou moci připojit pouze vaše zařízení.
Nejprve vytvořte adresář pro své certifikáty. Přesuňte se do tohoto adresáře.
$ sudo make-cadir /etc/openvpn/certs $ cd /etc/openvpn/certs
Rozhlédněte se po konfiguračních souborech OpenSSL. Poté propojte nejnovější sopenssl.cnf.
$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf
Ve stejné složce certs je soubor s názvem vars. Otevřete tento soubor pomocí textového editoru. Výchozí nastavení je Nano, ale pokud vám to vyhovuje, můžete si nainstalovat Vim.
NajítKEY_SIZEproměnná jako první. Je nastaveno na2048ve výchozím stavu. Změnit na4096.
export KEY_SIZE=4096
Hlavní blok, se kterým se musíte vypořádat, zavádí informace o vaší certifikační autoritě. Pomůže, pokud jsou tyto informace přesné, ale vše, na co si vzpomenete, je v pořádku.
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'
Když máte vše, uložte a ukončete.
Balíček Easy-RSA, který jste nainstalovali dříve, obsahuje spoustu skriptů, které pomáhají nastavit vše, co potřebujete. Musíte je jen spustit. Začněte přidáním souboru vars jako zdroje. Načtou se všechny proměnné, které jste právě nastavili.
$ sudo source ./vars
Dále vyčistěte klíče. Nemáte žádné, takže si nedělejte starosti se zprávou, která vám říká, že vaše klíče budou smazány.
$ sudo ./clean-install
Nakonec vytvořte svou certifikační autoritu. Výchozí nastavení jste již nastavili, takže můžete pouze přijmout výchozí nastavení, která jsou uvedena. Nezapomeňte nastavit silné heslo a po hesle odpovědět na poslední dvě otázky ano.
$ sudo ./build-ca
Vyrobte pár klíčů
Prošli jste všemi těmi problémy, abyste nastavili certifikační autoritu, abyste mohli podepisovat klíče. Nyní je čas něco udělat. Začněte vytvořením klíče pro váš server.
$ sudo ./build-key-server server
Dále postavte Diffie-Hellman PEM. To je to, co OpenVPN používá k zabezpečení připojení klientů k serveru.
$ sudo openssl dhparam 4096 > /etc/openvpn/dh4096.pem
Poslední klíč, který od nynějška potřebujete, se nazývá klíč HMAC. OpenVPN používá tento klíč k podepsání každého jednotlivého paketu informací vyměňovaných mezi klientem a serverem. Pomáhá předcházet určitým druhům útoků na připojení.
$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key
Konfigurace serveru
Máte klíče. Dalším krokem v nastavení OpenVPN je samotná konfigurace serveru. Naštěstí zde není vše, co musíte udělat. Debian poskytuje základní konfiguraci, kterou můžete použít, abyste mohli začít. Začněte tedy tím, že získáte konfigurační soubor.
$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
Otevřete znovu svůj textový editor/etc/openvpn/server.conf. První věci, které musíte najít, jsouže,cert, aklíčsoubory. Musíte je nastavit tak, aby odpovídaly skutečnému umístění souborů, které jste vytvořili a které jsou všechny v/ 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
Najíttjnastavení a změňte jej tak, aby odpovídal Diffie-Hellman.pemkteré jste vytvořili.
dh dh4096.pem
Nastavte také cestu ke svému klíči HMAC.
tls-auth /etc/openvpn/certs/keys/ta.key 0
Najítšifraa ujistěte se, že odpovídá příkladu níže.
cipher AES-256-CBC
Existuje několik dalších možností, ale jsou okomentovány pomocí;. Odeberte středníky před každou možností a povolte je.
push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'
Podívejte se nauživatelaskupinamožnosti. Odkomentujte je a změňteuživatelotevřítvpn.
user openvpn group nogroup
Nakonec tyto poslední dva řádky nejsou ve výchozí konfiguraci. Budete je muset přidat na konec souboru.
Nastavte souhrn ověřování tak, aby určoval silnější šifrování pro ověřování uživatelů.
# Authentication Digest auth SHA512
Potom omezte cipery, které OpenVPN může použít, pouze na silnější. To pomáhá omezit 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še pro konfiguraci. Uložte soubor a ukončete.
Spusťte server
Než budete moci server spustit, musíte to udělatopenvpnuživatel, kterého jste zadali.
$ sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn
Je to speciální uživatel pouze pro běh OpenVPN a nic jiného nedělá.
Nyní spusťte server.
$ sudo systemctl start openvpn $ sudo systemctl start [email protected]
Zkontrolujte, zda jsou oba spuštěné
$ sudo systemctl status openvpn*.service
Pokud vše vypadá dobře, povolte je při spuštění.
$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected]
Nastavení klienta
Váš server je nyní nastaven a spuštěn. Dále musíte nastavit konfiguraci klienta. Toto je konfigurace, kterou použijete k připojení zařízení k serveru. Zpět naurčitýsložku a připravte se na sestavení klientských klíčů. Můžete se rozhodnout vytvořit samostatné klíče pro každého klienta nebo jeden klíč pro všechny klienty. Pro domácí použití by měl být jeden klíč v pořádku.
$ cd /etc/openvpn/certs $ sudo source ./vars $ sudo ./build-key client
Proces je téměř totožný se serverovým, proto postupujte stejným způsobem.
Konfigurace klienta
Konfigurace pro klienty je velmi podobná konfiguraci pro server. Opět máte předem připravenou šablonu, na které můžete svou konfiguraci založit. Musíte jej pouze upravit, aby odpovídal serveru.
Změňte naklientadresář. Poté rozbalte ukázkovou konfiguraci.
$ cd /etc/openvpn/client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn
Otevřeteklient.ovpnsoubor s textovým editorem. Poté najdětedálkovývolba. Za předpokladu, že ještě nepoužíváte VPN, vyhledávejte Google What is my IP. Vezměte adresu, kterou zobrazuje, a nastavtedálkovýIP adresa. Ponechte číslo portu.
remote 107.150.28.83 1194 #That IP ironically is a VPN
Změňte certifikáty tak, aby odrážely ty, které jste vytvořili, stejně jako u serveru.
ca ca.crt cert client.crt key client.key
Najděte možnosti uživatele a odkomentujte je. Je v pořádku spustit klienty jakonikdo.
user nobody group nogroup
Odkomentujtetls-authmožnost pro HMAC.
tls-auth ta.key 1
Dále vyhledejtešiframožnost a ujistěte se, že odpovídá serveru.
cipher AES-256-CBC
Pak stačí přidat ověřovací digest a šifrovací omezení ve spodní části souboru.
# 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
Když vše vypadá dobře, uložte soubor a ukončete. Použitídehetzabalit konfiguraci a certifikáty, abyste je mohli odeslat 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
Přeneste tento balíček klientovi, jakkoli si vyberete. SFTP, FTP a jednotka USB jsou skvělé možnosti.
Přesměrování přístavu
Aby cokoli z toho fungovalo, musíte nakonfigurovat směrovač tak, aby předával příchozí provoz VPN do Pi. Pokud již používáte VPN, musíte se ujistit, že se nepřipojujete na stejný port. Pokud ano, změňte port v konfiguraci klienta a serveru.
Připojte se k webovému rozhraní routeru zadáním jeho IP adresy v prohlížeči.
Každý router je jiný. I přesto by všichni měli mít nějakou formu této funkce. Najděte jej na routeru.
Nastavení je v zásadě stejné na každém routeru. Zadejte počáteční a koncový port. Měly by být stejné jako ostatní a ty, které jste nastavili ve svých konfiguracích. Poté u adresy IP nastavte IP adresu vašeho Raspberry Pi. Uložte změny.
Připojte se ke klientovi
Každý klient je jiný, takže neexistuje univerzální řešení. Pokud používáte Windows, budete potřebovat Klient Windows OpenVPN .
V systému Android můžete otevřít svůj tarball a přenést klíče do telefonu. Poté nainstalujte aplikaci OpenVPN. Otevřete aplikaci a připojte informace z konfiguračního souboru. Poté vyberte své klíče.
V systému Linux je třeba nainstalovat OpenVPN podobně, jako jste to udělali pro server.
$ sudo apt install openvpn
Poté se změňte na/ etc / openvpna rozbalte tarball, který jste odeslali.
$ cd /etc/openvpn $ sudo tar xJf /path/to/client.tar.xz
Přejmenujte soubor klienta.
$ sudo mv client.ovpn client.conf
Klienta zatím nespouštějte. Selže to. Nejprve musíte povolit přesměrování portů na routeru.
Závěrečné myšlenky
Nyní byste měli mít funkční nastavení. Váš klient se připojí přímo přes váš router k Pi. Odtud můžete sdílet a připojovat se přes svou virtuální síť, pokud jsou všechna zařízení připojena k síti VPN. Neexistuje žádný limit, takže k Pi VPN můžete kdykoli připojit všechny své počítače.