Główny Prochowiec Zmień Raspberry Pi w VPN, aby uzyskać dostęp do sieci z dowolnego miejsca

Zmień Raspberry Pi w VPN, aby uzyskać dostęp do sieci z dowolnego miejsca



Dlaczego warto korzystać z VPN, aby uzyskać dostęp do domu?

Istnieje wiele powodów, dla których chcesz uzyskać zdalny dostęp do sieci domowej, a najlepszym sposobem na to jest serwer VPN. Niektóre routery faktycznie umożliwiają skonfigurowanie serwera VPN bezpośrednio w routerze, ale w wielu przypadkach będziesz musiał skonfigurować go samodzielnie.

Raspberry Pi to świetny sposób na osiągnięcie tego. Nie wymagają dużo energii do działania i mają wystarczającą moc, aby uruchomić serwer VPN. Możesz ustawić go obok routera i w zasadzie o nim zapomnieć.

Gdy masz zdalny dostęp do sieci domowej, możesz uzyskać dostęp do swoich plików z dowolnego miejsca. Możesz zdalnie sterować swoimi domowymi komputerami. Możesz nawet korzystać z domowego połączenia VPN z drogi. Taka konfiguracja pozwala Twojemu telefonowi, tabletowi lub laptopowi zachowywać się tak, jak w domu, z dowolnego miejsca.

Skonfiguruj Pi

Zanim zaczniesz konfigurować VPN, musisz skonfigurować Raspberry Pi. Najlepiej skonfigurować Pi z obudową i kartą pamięci przyzwoitej wielkości, 16 GB powinno wystarczyć. Jeśli to możliwe, podłącz Pi do routera za pomocą kabla Ethernet. Zminimalizuje to wszelkie opóźnienia w sieci.

Zainstaluj Raspbian

Najlepszym systemem operacyjnym do użycia na Twoim Pi jest Raspbian. Jest to domyślny wybór wydany przez fundację Raspberry Pi i jest oparty na Debianie, jednej z najbezpieczniejszych i najbardziej stabilnych dostępnych wersji Linuksa.

Przejdź do Strona pobierania Rasbian i pobierz najnowszą wersję. Możesz tutaj użyć wersji Lite, ponieważ tak naprawdę nie potrzebujesz graficznego pulpitu.

Podczas pobierania pobierz najnowszą wersję Akwaforcista dla twojego systemu operacyjnego. Po zakończeniu pobierania wyodrębnij obraz Raspbian. Następnie otwórz Etchera. Wybierz obraz Raspbian, z którego został wyodrębniony. Wybierz swoją kartę SD (włóż ją najpierw). Na koniec zapisz obrazek na karcie.

jak sprawdzić, czy port jest otwarty w systemie Windows

Po zakończeniu pozostaw kartę SD w komputerze. Otwórz menedżera plików i przejdź do karty. Powinieneś zobaczyć kilka różnych partycji. Poszukaj partycji rozruchowej. To ten z plikiem kernel.img. Utwórz pusty plik tekstowy na partycji rozruchowej i nazwij go ssh bez rozszerzenia pliku.

Możesz wreszcie podłączyć swoje Pi. Upewnij się, że podłączasz go jako ostatni. Nie będziesz potrzebować ekranu, klawiatury ani myszy. Zamierzasz zdalnie uzyskać dostęp do Raspberry Pi przez swoją sieć.

Daj Pi kilka minut na ustawienie się. Następnie otwórz przeglądarkę internetową i przejdź do ekranu zarządzania routerem. Znajdź Raspberry Pi i zanotuj jego adres IP.

Niezależnie od tego, czy korzystasz z systemu Windows, Linux czy Mac, otwórz OpenSSH. Połącz się z Raspberry Pi za pomocą SSH.

$ ssh [email protected] 

Oczywiście użyj rzeczywistego adresu IP Pi. Nazwa użytkownika tozawsze Liczba Pi, a hasło tomalina.

Skonfiguruj OpenVPN

OpenVPN nie jest łatwy do skonfigurowania jako serwer. Dobra wiadomość jest taka, że ​​wystarczy to zrobić tylko raz. Tak więc, zanim się zagłębisz, upewnij się, że Raspbian jest całkowicie aktualny.

$ sudo apt update $ sudo apt upgrade

Po zakończeniu aktualizacji możesz zainstalować OpenVPN i potrzebne narzędzie do certyfikatów.

$ sudo apt install openvpn easy-rsa

Urząd certyfikacji

Aby uwierzytelnić swoje urządzenia, gdy próbują połączyć się z serwerem, musisz skonfigurować urząd certyfikacji do tworzenia kluczy podpisujących. Te klucze zapewnią, że tylko Twoje urządzenia będą mogły łączyć się z Twoją siecią domową.

Najpierw utwórz katalog dla swoich certyfikatów. Przejdź do tego katalogu.

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

Rozejrzyj się za plikami konfiguracyjnymi OpenSSL. Następnie połącz najnowszy zopensl.cnf.

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

W tym samym folderze certs znajduje się plik o nazwie vars. Otwórz ten plik za pomocą edytora tekstu. Nano jest domyślnym, ale możesz zainstalować Vima, jeśli czujesz się z nim bardziej komfortowo.

Edytuj plik Vars

ZnaleźćKEY_SIZEnajpierw zmienna. Jest ustawiony na2048domyślnie. Zmień to na4096.

export KEY_SIZE=4096

Główny blok, z którym musisz się zmierzyć, zawiera informacje o Twoim urzędzie certyfikacji. Pomaga, jeśli te informacje są dokładne, ale wszystko, co pamiętasz, jest w porzą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'

Kiedy masz wszystko, zapisz i wyjdź.

Ten pakiet Easy-RSA, który zainstalowałeś wcześniej, zawiera wiele skryptów, które pomagają skonfigurować wszystko, czego potrzebujesz. Wystarczy je uruchomić. Zacznij od dodania pliku vars jako źródła. Spowoduje to załadowanie wszystkich zmiennych, które właśnie ustawiłeś.

$ sudo source ./vars

Następnie wyczyść klucze. Nie masz żadnego, więc nie martw się komunikatem informującym, że Twoje klucze zostaną usunięte.

$ sudo ./clean-install

Utwórz urząd certyfikacji

Na koniec zbuduj swój urząd certyfikacji. Ustawiłeś już wartości domyślne, więc możesz po prostu zaakceptować wartości domyślne, które przedstawia. Pamiętaj, aby ustawić silne hasło i odpowiedzieć twierdząco na dwa ostatnie pytania, po nim.

$ sudo ./build-ca

Zrób kilka kluczy

Zbuduj klucz serwera

Przeszedłeś przez wszystkie te kłopoty, aby skonfigurować urząd certyfikacji, aby móc podpisywać klucze. Teraz nadszedł czas, aby zrobić kilka. Zacznij od zbudowania klucza dla swojego serwera.

$ sudo ./build-key-server server

Zbuduj Diffie-Hellman

Następnie zbuduj Diffie-Hellman PEM. To jest to, czego używa OpenVPN do zabezpieczania połączeń klienta z serwerem.

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

Ostatni klucz, którego potrzebujesz od teraz, nazywa się kluczem HMAC. OpenVPN używa tego klucza do podpisywania każdego pojedynczego pakietu informacji wymienianego między klientem a serwerem. Pomaga zapobiegać niektórym rodzajom ataków na połączenie.

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

Konfiguracja serwera

Masz klucze. Kolejnym elementem konfiguracji OpenVPN jest sama konfiguracja serwera. Na szczęście nie musisz tutaj wiele robić. Debian dostarcza podstawową konfigurację, której możesz użyć na początku. Zacznij więc od pobrania tego pliku konfiguracyjnego.

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

Użyj ponownie edytora tekstu, aby otworzyć/etc/openvpn/server.conf. Pierwszą rzeczą, którą musisz znaleźć, sąże,certyfikat, ikluczakta. Musisz ustawić je tak, aby pasowały do ​​rzeczywistych lokalizacji plików, które utworzyłeś, które są w/etc/openvpn/certyfikaty/klucze.

Klucze konfiguracji serwera OpenVPN

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

Znaleźćto znaczyustawienie i zmień je, aby pasowały do ​​Diffie-Hellman.pemktóre stworzyłeś.

dh dh4096.pem

Ustaw również ścieżkę dla swojego klucza HMAC.

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

Znaleźćszyfri upewnij się, że pasuje do poniższego przykładu.

cipher AES-256-CBC

Istnieje kilka następnych opcji, ale są one skomentowane z;. Usuń średniki przed każdą opcją, aby je włączyć.

push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'

Spójrz naużytkownikiGrupaopcje. Odkomentuj je i zmieńużytkownikotworzyć VPN.

user openvpn group nogroup

Wreszcie, te dwie ostatnie linie nie są w domyślnej konfiguracji. Musisz je dodać na końcu pliku.

Uwierzytelnianie konfiguracji serwera OpenVPN

Ustaw skrót uwierzytelniania, aby określić silniejsze szyfrowanie uwierzytelniania użytkownika.

# Authentication Digest auth SHA512

Następnie ogranicz szyfry, których może używać OpenVPN, tylko do silniejszych. Pomaga to ograniczyć możliwe ataki na słabe szyfry.

# 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 wszystko do konfiguracji. Zapisz plik i wyjdź.

Uruchom serwer

Zanim uruchomisz serwer, musisz to zrobićotwórz VPNokreślonego użytkownika.

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

Jest to specjalny użytkownik tylko do uruchamiania OpenVPN i nie zrobi nic więcej.

Teraz uruchom serwer.

$ sudo systemctl start openvpn $ sudo systemctl start [email protected] 

Sprawdź, czy oba są uruchomione

$ sudo systemctl status openvpn*.service

Jeśli wszystko wygląda dobrze, włącz je przy starcie.

$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected] 

Konfiguracja klienta

Twój serwer jest teraz skonfigurowany i działa. Następnie musisz skonfigurować konfigurację klienta. To jest konfiguracja, której będziesz używać do łączenia urządzeń z serwerem. Powrót dopewnyfolderu i przygotuj się do zbudowania kluczy klienta. Możesz wybrać tworzenie oddzielnych kluczy dla każdego klienta lub jednego klucza dla wszystkich klientów. Do użytku domowego jeden klucz powinien wystarczyć.

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

Proces jest prawie identyczny jak w przypadku serwera, więc postępuj zgodnie z tą samą procedurą.

Konfiguracja klienta

Konfiguracja dla klientów jest bardzo podobna do tej dla serwera. Ponownie, masz gotowy szablon, na którym możesz oprzeć swoją konfigurację. Wystarczy go zmodyfikować, aby pasował do serwera.

Zmień naklientinformator. Następnie rozpakuj przykładową konfigurację.

$ cd /etc/openvpn/client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn

Otwórzklient.ovpnplik w edytorze tekstu. Następnie znajdźzdalnyopcja. Zakładając, że nie korzystasz jeszcze z VPN, wyszukaj w Google Jaki jest mój adres IP. Weź wyświetlony adres i ustawzdalnyAdres IP do niego. Zostaw numer portu.

remote 107.150.28.83 1194 #That IP ironically is a VPN

Klucze konfiguracji klienta OpenVPN

Zmień certyfikaty, aby odzwierciedlały te, które utworzyłeś, tak jak w przypadku serwera.

ca ca.crt cert client.crt key client.key

Znajdź opcje użytkownika i odkomentuj je. Dobrze jest prowadzić klientów jakonikt.

user nobody group nogroup

Usuń komentarztls-authopcja dla HMAC.

tls-auth ta.key 1

Szyfry klienta OpenVPN

Następnie poszukajszyfri upewnij się, że pasuje do serwera.

cipher AES-256-CBC

Następnie wystarczy dodać skrót uwierzytelniania i ograniczenia szyfrowania na dole pliku.

# 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

Gdy wszystko wygląda dobrze, zapisz plik i wyjdź. Posługiwać sięsmołaaby spakować konfigurację i certyfikaty, aby można je było przesłać do klienta.

$ 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

Przekaż ten pakiet klientowi w wybrany przez siebie sposób. SFTP, FTP i dysk USB to świetne opcje.

Przekazywanie portów

Przekazywanie portów

Aby to zadziałało, musisz skonfigurować router, aby przekazywał przychodzący ruch VPN do Pi. Jeśli korzystasz już z VPN, upewnij się, że nie łączysz się przez ten sam port. Jeśli tak, zmień port w konfiguracji klienta i serwera.

Połącz się z interfejsem sieciowym routera, wpisując jego adres IP w przeglądarce.

Każdy router jest inny. Mimo to wszyscy powinni mieć jakąś formę tej funkcjonalności. Znajdź go na swoim routerze.

Konfiguracja jest w zasadzie taka sama na każdym routerze. Wprowadź port początkowy i końcowy. Powinny być takie same jak te, które ustawiłeś w swoich konfiguracjach. Następnie dla adresu IP ustaw go na adres IP Raspberry Pi. Zapisz zmiany.

Połącz się z klientem

Każdy klient jest inny, więc nie ma uniwersalnego rozwiązania. Jeśli korzystasz z systemu Windows, będziesz potrzebować Klient Windows OpenVPN .

W systemie Android możesz otworzyć archiwum tar i przenieść klucze do telefonu. Następnie zainstaluj aplikację OpenVPN. Otwórz aplikację i podłącz informacje z pliku konfiguracyjnego. Następnie wybierz swoje klucze.

W systemie Linux musisz zainstalować OpenVPN podobnie jak w przypadku serwera.

$ sudo apt install openvpn

Następnie zmień na/etc/openvpni rozpakuj tarball, który wysłałeś.

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

Zmień nazwę pliku klienta.

$ sudo mv client.ovpn client.conf

Nie uruchamiaj jeszcze klienta. To się nie powiedzie. Musisz najpierw włączyć przekierowanie portów na routerze.

Myśli zamykające

Powinieneś mieć teraz działającą konfigurację. Twój klient połączy się bezpośrednio przez router z Pi. Stamtąd możesz udostępniać i łączyć się za pośrednictwem sieci wirtualnej, o ile wszystkie urządzenia są połączone z siecią VPN. Nie ma ograniczeń, więc zawsze możesz połączyć wszystkie swoje komputery z Pi VPN.

Ciekawe Artykuły

Wybór Redakcji

Jak zaczarować i odczarować przedmioty w Minecrafcie
Jak zaczarować i odczarować przedmioty w Minecrafcie
Gra Minecraft ma dwa główne elementy, a od nazwy są oczywiste, wydobywają i ogólnie gromadzą zasoby oraz przekształcają te zasoby w przydatne narzędzia i przedmioty. Technicznie rzecz biorąc, ty
Przyspiesz OpenVPN i uzyskaj większą prędkość na jego kanale
Przyspiesz OpenVPN i uzyskaj większą prędkość na jego kanale
OpenVPN to dobrze znany klient VPN do bezpiecznego zdalnego dostępu lub wirtualnej sieci prywatnej. Jeśli korzystasz z OpenVPN i odczuwasz niską prędkość na jego kanale, możesz się zirytować. Ten problem jest bardzo powszechny dla wszystkich użytkowników OpenVPN. Podczas gdy ogólna rada, którą można znaleźć w Internecie, to modyfikacja MTU
Jak dodać nakładkę w OBS
Jak dodać nakładkę w OBS
Nakładki to świetny sposób na personalizację treści. Wielu streamerów używa ich do wizualnej stymulacji swoich widzów podczas przerw lub nawet przed rozpoczęciem transmisji. W końcu posiadanie kolorowego ekranu trzymania jest lepsze niż wpatrywanie się w nijakie tło. OBS
Jak wyszukiwać w Arkuszach Google na dowolnym urządzeniu
Jak wyszukiwać w Arkuszach Google na dowolnym urządzeniu
Arkusze to internetowa aplikacja Google, która w wielu przypadkach z powodzeniem zastąpiła MS Excel. Sama aplikacja może nawet otwierać pliki Excela i, na przemian, umożliwia użytkownikom pobieranie arkuszy kalkulacyjnych i otwieranie ich za pomocą MS Excel. Jeśli kiedykolwiek
Wydano aktualizację KB4023057 dla wszystkich wersji systemu Windows
Wydano aktualizację KB4023057 dla wszystkich wersji systemu Windows
Firma Microsoft wydaje nową aktualizację zgodności dla wszystkich wersji systemu Windows, w tym 1507, 1511, 1607, 1703, 1709, 1803 i 1809. Poprawka KB4023057 zawiera ulepszenia niezawodności składników usługi Windows Update i odgrywa ważną rolę w uaktualnianiu bieżącej wersji systemu Windows 10 do 1903. Ta aktualizacja zawiera pliki i zasoby dotyczące problemów, których dotyczą
Co oznacza gwiazda SnapChat
Co oznacza gwiazda SnapChat
Było wiele nieporozumień dotyczących złotej ikony Snapchata i jej znaczenia dla użytkowników i ich znajomych. Kiedy w 2015 roku rozeszła się wieść, że gwiazda miała do czynienia z odtwarzaniem zdjęć, wielu
Sony Xperia Z5 kontra iPhone 6s: Który telefon jest lepszy?
Sony Xperia Z5 kontra iPhone 6s: Który telefon jest lepszy?
iPhone 6s i Sony Xperia Z5 to dwa najlepsze telefony, jakie pojawiły się w zeszłym roku, ale który z nich wybrać? Tutaj rozkładamy każdy telefon na poszczególne sekcje – wyświetlacz, aparat,