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 wyjść z Roku i wrócić do zwykłej telewizji
Jak wyjść z Roku i wrócić do zwykłej telewizji
Prawdopodobnie przydarzyło Ci się to w pewnym momencie – nigdzie nie można znaleźć połączenia internetowego, najnowszy odcinek Twojego ulubionego programu nie został przesłany lub Twoja ulubiona platforma do przesyłania strumieniowego działa po prostu zbyt wolno.
Jak usunąć znak wodny Triller
Jak usunąć znak wodny Triller
Triller to zabawna i popularna platforma mediów społecznościowych, która umożliwia tworzenie treści wideo i muzycznych. Oferuje wiele opcji edycji wideo, dzięki czemu możesz wydobyć swoją wewnętrzną supergwiazdę i olśnić swoich obserwujących. Możesz wybrać
Jak usunąć tło w Snapseed
Jak usunąć tło w Snapseed
Jeśli zrobiłeś doskonałe zdjęcie do swojego profilu na Instagramie, ale tło zbyt rozprasza, możesz je łatwo przyciemnić lub całkowicie usunąć za pomocą Snapseed. To oprogramowanie należące do Google to narzędzie do edycji zdjęć
Zbiorcze aktualizacje dla systemu Windows 10, 10 września 2019 r
Zbiorcze aktualizacje dla systemu Windows 10, 10 września 2019 r
Firma Microsoft wydaje zestaw aktualizacji zbiorczych dla obsługiwanych wersji systemu Windows 10. Łatki są dostępne dla systemu Windows 10 w wersjach 1903, 1809, 1803, 1709, 1703, 1607 oraz dla pierwszego wydania systemu Windows 10 (kompilacja 10240). Oto najważniejsze zmiany: Reklama Windows 10, wersja 1903, KB4515384 (kompilacja systemu operacyjnego 18362.356) Najważniejsze informacje Aktualizacje poprawiające bezpieczeństwo
Jak korzystać z podzielonego ekranu w Black Ops 4 na PS4?
Jak korzystać z podzielonego ekranu w Black Ops 4 na PS4?
Call of Duty to jedna z najpopularniejszych strzelanek pierwszoosobowych wydanych w tym stuleciu. Zaczęło się jako gra na PC, ale szybko trafiła na platformy takie jak Sony PlayStation i Xbox One. Black Ops 4 to
Gra Killer Instinct: Definitive Edition jest już dostępna na komputery z systemem Windows 10
Gra Killer Instinct: Definitive Edition jest już dostępna na komputery z systemem Windows 10
Killer Instinct była jedną z pierwszych gier dostępnych na Xbox One w momencie premiery w 2013 roku, a później została przeniesiona na komputery z systemem Windows 10. Nawet jeśli nie była częścią programu Xbox Play Anywhere, gra stała się na tyle popularna, że ​​we wrześniu otrzymała tytuł „Definitive Edition”. A teraz ten pakiet jest pełen
Firma Microsoft wydaje rozszerzenie Windows Defender Application Guard dla przeglądarek Chrome i Firefox
Firma Microsoft wydaje rozszerzenie Windows Defender Application Guard dla przeglądarek Chrome i Firefox
Windows Defender Application Guard to dodatkowa funkcja zabezpieczająca systemu Windows 10. Po włączeniu implementuje piaskownicę dla wbudowanych przeglądarek internetowych w systemie Windows 10, Edge i Internet Explorer. Od dziś firma Microsoft rozszerza tę funkcję zabezpieczeń o przeglądarki Google Chrome i Mozilla Firefox z nowym rozszerzeniem przeglądarki. ReklamaWindows Defender Application Guard zapewnia ochronę