Proč používat VPN pro přístup k vašemu domovu
Rychlé odkazy
- Proč používat VPN pro přístup k vašemu domovu
- Nastavit Pi
- Nainstalujte Raspbian
- Nastavit OpenVPN
- Certifikační autorita
- Udělejte pár klíčů
- Konfigurace serveru
- Spusťte server
- Nastavení klienta
- Konfigurace klienta
- Port Forwarding
- Připojte se ke klientovi
- Závěrečné myšlenky
Existuje mnoho důvodů, proč byste chtěli vzdáleně přistupovat k vaší domácí síti, a nejlepší způsob, jak toho dosáhnout, je pomocí serveru VPN. Některé směrovače vám vlastně umožňují nastavit server VPN přímo v routeru, ale v mnoha případech budete muset jeden nastavit sami.
Raspberry Pi je skvělý způsob, jak toho dosáhnout. Nevyžadují ke spuštění spoustu energie a mají dostatek energie pro provozování serveru VPN. Můžete si nastavit jeden vedle routeru a v podstatě na to zapomenout.
Pokud máte přístup k domácí síti na dálku, můžete se k souborům dostat odkudkoli. Domácí počítače můžete provozovat vzdáleně. Můžete dokonce použít připojení VPN vašeho domova ze silnice. Nastavení, jako je toto, umožňuje vašemu telefonu, tabletu nebo notebooku chovat se stejně jako kdekoli doma.
Nastavit Pi
Než začnete nastavovat VPN, budete 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íce než dost. Pokud je to možné, připojte svůj Pi k routeru pomocí kabelu Ethernet. Minimalizuje to zpoždění v síti.
Nainstalujte Raspbian
Nejlepším operačním systémem, který můžete použít ve vašem Pi, je Raspbian. Je to výchozí volba vydaná nadací Raspberry Pi a je založena na Debianu, jedné z nejbezpečnějších a nejstabilnějších verzí Linuxu, které jsou k dispozici.
Přejděte na stránku rasbského stahování a uchopte nejnovější verzi. Zde můžete použít verzi „Lite“, protože ve skutečnosti nepotřebujete grafickou plochu.
Během stahování získáte nejnovější verzi Etcher pro svůj operační systém. Po dokončení stahování rozbalte Raspbian obrázek. Potom otevřete Etcher. Vyberte raspbianský obraz, odkud jste jej extrahovali. Vyberte SD kartu (vložte ji jako první). Nakonec zapište obrázek na kartu.
Po dokončení ponechte kartu SD v počítači. Otevřete správce souborů a přejděte na kartu. Měli byste vidět několik různých oddílů. Vyhledejte oddíl „boot“. Je to ten, který obsahuje soubor „kernel.img“. Vytvořte prázdný textový soubor v oddílu „boot“ a nazvejte jej „ssh“ bez přípony souboru.
Nakonec můžete připojit svůj Pi. Ujistěte se, že jste jej připojili jako poslední. Nepotřebujete obrazovku, klávesnici ani myš. Budete vzdáleně přistupovat k Raspberry Pi přes síť.
Dejte Pi několik minut, aby se připravil. 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
Samozřejmě použijte skutečnou IP adresu Pi. Uživatelské jméno je vždy pi a heslo je malina.
Nastavit OpenVPN
OpenVPN není úplně jednoduché nastavit jako server. Dobrou zprávou je, že to musíte udělat pouze jednou. Než se tedy 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 potřebný obslužný program certifikátů.
$ sudo apt install openvpn easy-rsa
Certifikační autorita
Chcete-li ověřit zařízení při pokusu o připojení k serveru, musíte nastavit certifikační autoritu pro vytváření signalizačních klíčů. Tyto klíče zajistí, že k vaší domácí síti se 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
Vyhledejte konfigurační soubory OpenSSL. Pak propojte nejnovější s openssl.cnf.
$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf
Ve stejné složce „certs“ je soubor nazvaný „vars“. Otevřete tento soubor pomocí textového editoru. Nano je výchozí, ale neváhejte a nainstalujte Vim, pokud s ním budete spokojenější.
Nejprve najděte proměnnou KEY_SIZE. Ve výchozím nastavení je nastavena na 2048. Změňte na 4096.
export KEY_SIZE = 4096
Hlavní blok, se kterým se musíte vypořádat, stanoví informace o vaší certifikační autoritě. Pomáhá, pokud jsou tyto informace přesné, ale cokoli si pamatujete, je v pořádku.
export KEY_COUNTRY = "US" export KEY_PROVINCE = "CA" export KEY_CITY = "SanFrancisco" export KEY_ORG = "Fort-Funston" export KEY_EMAIL = "" export KEY_OU = "MyOrganizationalUnit" export KEY_NAME = "HomeVPN"
Až budete mít vše, uložte jej a ukončete.
Tento balíček Easy-RSA, který jste nainstalovali dříve, obsahuje mnoho skriptů, které pomáhají nastavit vše, co potřebujete. Stačí je spustit. Začněte přidáním souboru „vars“ jako zdroje. Načte všechny proměnné, které jste právě nastavili.
$ sudo source ./vars
Dále vyčistěte klíče. Nemáte žádné, takže se nemusíte starat o zprávu, že vaše klíče budou smazány.
$ sudo ./clean-install
Nakonec vytvořte certifikační autoritu. Výchozí hodnoty jste již nastavili, takže můžete pouze přijmout výchozí nastavení, která představuje. Nezapomeňte nastavit silné heslo a odpovědět na „ano“ na poslední dvě otázky, které následují po hesle.
Udělejte pár klíčů
Prošli jste všemi těmito problémy a zřídili jste certifikační autoritu, abyste mohli podepisovat klíče. Nyní je čas na nějaké. Začněte vytvořením klíče pro váš server.
$ sudo ./build-key-server server
Dále postavte PEM Diffie-Hellman. OpenVPN používá k zabezpečení připojení klientů k serveru.
$ sudo openssl dhparam 4096> /etc/openvpn/dh4096.pem
Poslední klíč, který od této chvíle potřebujete, se nazývá klíč HMAC. OpenVPN používá tento klíč k podpisu 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ší součástí nastavení OpenVPN je samotná konfigurace serveru. Naštěstí zde není vše, co musíte udělat. Debian poskytuje základní konfiguraci, pomocí které můžete začít. Začněte tedy získáním tohoto konfiguračního souboru.
$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz> /etc/openvpn/server.conf
Pomocí textového editoru znovu otevřete /etc/openvpn/server.conf. Nejprve musíte najít soubory ca, cert a key. Musíte je nastavit tak, aby odpovídaly skutečným umístěním 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 # Tento soubor by měl být utajen
Vyhledejte nastavení dh a změňte ho tak, aby odpovídal Diffie-Hellman .pem, který jste vytvořili.
dh dh4096.pem
Nastavte také cestu pro svůj klíč HMAC.
tls-auth /etc/openvpn/certs/keys/ta.key 0
Najděte šifru a ujistěte se, že odpovídá příkladu níže.
šifra AES-256-CBC
Dalších pár možností je, ale jsou komentovány pomocí;;. Chcete-li je aktivovat, odstraňte středníky před každou možnost.
push "přesměrovaná brána def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"
Vyhledejte možnosti uživatele a skupiny. Uvolněte je a změňte uživatele na „openvpn“.
uživatel openvpn skupina nogroup
Nakonec tyto poslední dva řádky nejsou ve výchozí konfiguraci. Budete je muset přidat na konec souboru.
Nastavte výtah autentizace pro určení silnějšího šifrování pro autentizaci uživatele.
# Authentication Digest auth SHA512
Potom omezte šifry, které OpenVPN může použít, pouze na ty silnější. To pomáhá omezit možné útoky na slabé šifry.
# Limitní šifry tls-šifra TLS-DHE-RSA-S-AES-256-GCM-SHA384: TLS-DHE-RSA-S-AES-128-GCM-SHA256: TLS-DHE-RSA-S-AES-256- CBC-SHA: TLS-DHE-RSA-S-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-S-AES-128-CBC-SHA: TLS-DHE-RSA-S-CAMELLIA-128-CBC- SHA
To je vše pro konfiguraci. Uložte soubor a ukončete.
Spusťte server
Před spuštěním serveru musíte provést zadaného uživatele openvpn.
$ sudo adduser - system - shell / usr / sbin / nologin - no-create-home openvpn
Je to speciální uživatel pouze pro spuštění OpenVPN a nic jiného neudělá.
Nyní spusťte server.
$ sudo systemctl start openvpn $ sudo systemctl start
Zkontrolujte, zda oba běží
$ sudo systemctl status openvpn * .service
Pokud všechno vypadá dobře, povolte je při spuštění.
$ sudo systemctl enable openvpn $ sudo systemctl enable
Nastavení klienta
Váš server je nyní nastaven a spuštěn. Dále je třeba nastavit konfiguraci klienta. Toto je konfigurace, kterou budete používat pro připojení zařízení k serveru. Vraťte se do složky certs a připravte se na sestavení klientských klíčů. Můžete si vybrat sestavení samostatných klíčů pro každého klienta nebo jednoho klíče 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ěř stejný jako u serveru, proto postupujte stejným způsobem.
Konfigurace klienta
Konfigurace pro klienty je velmi podobná konfiguraci pro server. Opět platí, že máte předem připravenou šablonu, na které je založena vaše konfigurace. Musíte pouze upravit, aby odpovídaly serveru.
Přejděte do adresáře klienta. 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řete soubor client.ovpn pomocí textového editoru. Poté vyhledejte vzdálenou možnost. Za předpokladu, že již nepoužíváte síť VPN, vyhledejte Google „Co je moje IP“. Vezměte adresu, která se zobrazí, a nastavte na ni vzdálenou IP adresu. Opusťte číslo portu.
vzdálené 107.150.28.83 1194 #Tato IP je ironicky VPN
Změňte certs tak, aby odrážely ty, které jste vytvořili, stejně jako to udělali se serverem.
ca ca.crt cert client.crt key client.key
Najděte možnosti uživatele a odkomentujte je. Je dobré provozovat klienty jako nikdo.
uživatel nikdo skupina nogroup
Uvolněte volbu tls-auth pro HMAC.
tls-auth ta.key 1
Dále vyhledejte možnost šifry a ujistěte se, že odpovídá serveru.
šifra AES-256-CBC
Poté jednoduše přidejte omezení pro ověřování a šifrování na konec souboru.
# Authentication Digest auth SHA512 # Omezení šifry TLS-DHE-RSA-S-AES-256-GCM-SHA384: TLS-DHE-RSA-S-AES-128-GCM-SHA256: TLS-DHE-RSA-WITH -AES-256-CBC-SHA: TLS-DHE-RSA-S-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-S-AES-128-CBC-SHA: TLS-DHE-RSA-S-CAMELLIA -128-CBC-SHA
Když všechno vypadá dobře, uložte soubor a ukončete. Pomocí dehtu zabalte konfiguraci a certs, takže je můžete 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, jak si vyberete. SFTP, FTP a jednotka USB jsou skvělé možnosti.
Port Forwarding
Aby cokoli z toho fungovalo, musíte nakonfigurovat směrovač tak, aby předával příchozí VPN přenos do Pi. Pokud již používáte VPN, musíte se ujistit, že se nepřipojujete ke stejnému portu. Pokud ano, změňte port v konfiguraci klienta a serveru.
Připojte se k webovému rozhraní routeru zadáním jeho IP adresy do prohlížeče.
Každý router je jiný. Přesto by všichni měli mít nějakou formu této funkce. Najděte ji na routeru.
Nastavení je v podstatě 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é pro IP adresu 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 klienta 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 musíte nainstalovat OpenVPN stejně jako pro server.
$ sudo apt install openvpn
Poté přejděte do / etc / openvpn a 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
Ještě nespusťte klienta. Selže to. Nejprve musíte na směrovači povolit přesměrování portů.
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řipojit se přes virtuální síť, pokud jsou všechna zařízení připojena k VPN. Neexistuje žádný limit, takže můžete vždy připojit všechny své počítače k Pi VPN.
