Jak stworzyć serwer VPN z Raspberry Pi?
Opublikowany: 2022-01-29Kiedy myślisz o VPN, możesz wyobrazić sobie usługę subskrypcji, która tuneluje ruch internetowy przez serwer zlokalizowany w innym miejscu na świecie. Jednak te usługi nie są jedynym sposobem szyfrowania Twojej aktywności online.
Usługi VPN jednym kliknięciem mogą być świetne, a jeśli potrzebujesz prostego rozwiązania, które działa po wyjęciu z pudełka, zalecamy kilka VPN. Ta usługa wiąże się jednak z pewnymi kosztami: zwykle od 5 do 10 USD miesięcznie, nie wspominając o zaufaniu do tego, kto jest po drugiej stronie. Aby uzyskać tańszą opcję, którą kontrolujesz, możesz skonfigurować serwer OpenVPN na Raspberry Pi (lub niektórych routerach) i używać własnego domowego połączenia internetowego jako VPN, gdy jesteś poza domem.
Pamiętaj, że nie będziesz w stanie sfałszować swojej lokalizacji za granicą ani ukryć swojej tożsamości przed wścibskimi oczami (ponieważ ruch będzie pochodził z Twojego zwykłego domowego połączenia internetowego). Jednak nadal zapewnia dodatkowe bezpieczeństwo podczas przeglądania w publicznej sieci Wi-Fi i jest raczej przydatne, gdy musisz uzyskać dostęp do sieci domowej, na przykład obudzić śpiący komputer, aby móc korzystać z pulpitu zdalnego. Jest tani, łatwy, i warto to zrobić, jeśli masz leżące Pi.
Co będziesz potrzebował
Aby to skonfigurować, potrzebujesz oczywistego: Raspberry Pi ze wszystkimi kluczowymi akcesoriami, takimi jak zasilacz i karta SD. Ten przewodnik nie wymaga specjalnego systemu operacyjnego; możesz po prostu użyć Raspbian, więc zapoznaj się z naszym przewodnikiem dla początkujących po Raspberry Pi, aby uzyskać wszystko, co musisz wiedzieć o konfiguracji podstaw. (Upewnij się, że zmieniłeś domyślne hasło przy pierwszym uruchomieniu Pi, ponieważ jest to niezwykle ważne dla bezpieczeństwa - co w końcu jest całym celem tego projektu.)
Zalecam również posiadanie myszy, klawiatury i monitora do tego przewodnika — tylko do wstępnej konfiguracji — chociaż nie jest to ściśle wymagane. (Możesz połączyć się przez SSH ze swoim Pi, aby skonfigurować VPN, ale może być konieczne ponowne połączenie w trakcie procesu, ponieważ zmiana ustawień sieciowych może spowodować utratę połączenia przez Pi.)
To wszystko, czego potrzebujesz technicznie, chociaż polecam jeszcze kilka innych rzeczy. Po pierwsze, dobrym pomysłem jest skonfigurowanie rezerwacji DHCP dla Raspberry Pi, aby jego wewnętrzny adres IP nie zmieniał się z czasem.
Po drugie, polecam usługę dynamicznego DNS. Aby uzyskać dostęp do swojego Pi z daleka, musisz wskazać swój publiczny adres IP w domu. Nie jest to trudne do znalezienia, ale może się od czasu do czasu zmieniać, co może spowodować uszkodzenie sieci VPN do czasu jej ponownej konfiguracji. Jest to trochę uciążliwe, więc łatwiej jest korzystać z usługi dynamicznego DNS, która zamiast tego zapewnia łatwy do zapamiętania adres, który aktualizuje się za każdym razem, gdy zmienia się Twój adres IP.
Sprawdź ustawienia routera, aby sprawdzić, czy obsługuje on jakiekolwiek usługi dynamicznego DNS, takie jak DynDNSor No-IP — niektóre z nich to płatne subskrypcje, ale inne, takie jak No-IP, są bezpłatne i mają ograniczone zastosowanie, co powinno działać idealnie dla naszych celów. Nie przejdziemy przez cały proces w tym przewodniku, ale polecam przyjrzeć się temu, jeśli zauważysz, że Twój dostawca Internetu ciągle zmienia Twój publiczny adres IP i łamie Twoją sieć VPN.
Jak zainstalować OpenVPN z PiVPN
OpenVPN to zestaw oprogramowania o otwartym kodzie źródłowym, który umożliwia skonfigurowanie VPN na prawie każdym typie sprzętu. Jeśli chcesz, możesz zainstalować serwer Linux OpenVPN na swoim Pi i ręcznie dostroić pliki konfiguracyjne, ale jest łatwiejsze rozwiązanie. PiVPN to zestaw skryptów typu open source, które zamieniają konfigurację OpenVPN w łatwego w użyciu kreatora, więc nawet jeśli po raz pierwszy pracujesz z OpenVPN, nie powinieneś mieć problemów z jego skonfigurowaniem.
Uruchom więc swoje Pi, upewnij się, że całe oprogramowanie jest aktualne i otwórz nowe okno Terminala. Instalacja PiVPN jest tak prosta, jak uruchomienie następującego polecenia:
curl -L https://install.pivpn.io | grzmotnąć
Skrypt zajmie kilka minut, aby zainstalować OpenVPN, a następnie przeprowadzi Cię przez proces konfiguracji. Po pierwsze, poinformuje Cię, że PiVPN wymaga statycznego adresu IP, dzięki czemu możesz łatwo uzyskać dostęp do swojego serwera VPN, gdy jesteś poza domem. Jeśli skonfigurujesz rezerwację DHCP, możesz po prostu powiedzieć Tak, gdy PiVPN zapyta, czy go używasz.
Po wybraniu użytkownika (domyślny użytkownik Pi jest w porządku, chyba że masz innego, którego chcesz użyć), PiVPN zapyta, czy chcesz użyć WireGuard, nowego protokołu VPN czy OpenVPN. W tym przewodniku używam OpenVPN, więc użyj klawiszy strzałek, aby przesunąć kursor na OpenVPN, a następnie naciśnij spację, aby go wybrać, a następnie naciśnij Enter, aby kontynuować.
WireGuard jest dość nowy i bardzo obiecujący, podczas gdy OpenVPN jest bardziej popularny i powszechnie obsługiwany. Jeśli chcesz wypróbować WireGuard, możesz przeczytać więcej na ten temat tutaj.
W przypadku kilku następnych kroków ustawienia domyślne są w porządku dla większości użytkowników. Zostaniesz zapytany, czy chcesz używać UDP czy TDP (powinieneś wybrać UDP, chyba że masz dobry powód, aby tego nie robić), jakiego portu chcesz użyć (1194 jest w porządku, chyba że używa go coś innego) i co Dostawca DNS, którego chcesz użyć (dowolny jest odpowiedni).
Jeden problem: odkryłem, że pomimo korzystania z usługi dynamicznego DNS, PiVPN nie zaakceptuje mojego niestandardowego adresu URL. Jeśli napotkasz ten sam problem, po prostu powiedz mu, aby użył swojego publicznego adresu IP, a później możesz go zmienić w pliku konfiguracyjnym.
Wreszcie, warto włączyć funkcje OpenVPN 2.4, chyba że wiesz, że używasz aplikacji, które ich nie obsługują. Po wyświetleniu monitu wybierz zalecany certyfikat bezpieczeństwa — większe rozmiary zapewniają lepsze zabezpieczenia, ale mogą spowolnić działanie i nie są konieczne dla większości użytkowników. Włącz nienadzorowane aktualizacje, a PiVPN zainstaluje niezbędne pakiety i utworzy niezbędne pliki konfiguracyjne.
Na koniec możesz wybrać DNS, który będzie używany podczas łączenia się z VPN. Pomiń dodawanie niestandardowej domeny wyszukiwania (chyba że wiesz, co to jest i chcesz jej użyć). Gdy to zrobisz, zostaniesz poproszony o ponowne uruchomienie Pi.
Po ponownym uruchomieniu musisz otworzyć okno terminala i uruchomić:
dodaj pivpn
Nadaj plikowi konfiguracyjnemu nazwę (ja wybrałem whitson-laptop), ustaw liczbę dni ważności certyfikatu (domyślna wartość jest w porządku) i wprowadź wybrane przez siebie hasło (upewnij się, że jest silne). Wygeneruje dla Ciebie plik .ovpn w /home/pi/ovpns, który będziesz musiał połączyć z VPN — skopiuj go na komputer i przechowuj w bezpiecznym miejscu.
PiVPN zaleca powtórzenie tego procesu dla innych urządzeń, więc jeśli masz inne laptopy lub telefony, na których chcesz korzystać z tej sieci VPN, uruchom ponownie to polecenie, aby wygenerować teraz własne pliki konfiguracyjne.
Tutaj musiałem dokonać jednej edycji w moim pliku .ovpn. Jeśli korzystasz z usługi dynamicznego DNS, takiej jak ja, otwórz plik w Notatniku (lub wybranym edytorze tekstu) i zastąp swój adres IP w wierszu 4 swoim niestandardowym adresem URL. Jeśli masz problemy z połączeniem się z VPN, jest to pierwsza linia, z którą bym sobie poradził — w przeszłości powodowało to dla mnie problemy z wieloma generatorami konfiguracji OpenVPN.
Od tego momentu Twoje Pi powinno być ustawione, ale musisz zrobić jeszcze jedną rzecz, zanim będziesz mógł się połączyć: przekieruj port VPN na routerze. Ten proces różni się w zależności od routera, ale przebiega tak: logujesz się na stronie konfiguracji routera, znajdujesz opcję przekierowania portów i przekazujesz port 1194 na wewnętrzny adres IP swojego Pi. Bardziej szczegółowe instrukcje dotyczące konkretnych routerów można znaleźć na stronie portforward.com.
Połącz się z VPN z dowolnego miejsca
Jesteś teraz w domu, bo reszta jest bardzo łatwa. Aby połączyć się z VPN, gdy jesteś poza domem, potrzebujesz aplikacji VPN lub „klienta”, zdolnego do łączenia się z serwerem OpenVPN. OpenVPN ma oficjalnego klienta o nazwie OpenVPN Connect, który jest dostępny w systemach Windows, macOS, Linux, iOS i Android.
Możesz pobrać go ze strony głównej OpenVPN — po prostu przewiń w dół do opcji Rozpocznij z OpenVPN Connect i kliknij wybraną platformę. Istnieją również popularne programy innych firm, takie jak Viscosity (Windows/Mac) i Tunnelblick (Mac), które zapewniają dodatkowe opcje dla zaawansowanych użytkowników. Możesz zobaczyć innych klientów OpenVPN na tej stronie społeczności OpenVPN.
Uruchom aplikację OpenVPN Connect i kliknij kartę „Plik”, aby dodać nowy profil. Przejdź do pliku konfiguracyjnego, który skopiowałeś z Pi (ponownie mój nazywał się whitson-laptop.ovpn) i wybierz go. Kliknij przycisk Dodaj i możesz połączyć się z VPN, włączając przełącznik i wprowadzając hasło.
Gdy to zrobisz, cały ruch zostanie zaszyfrowany i przekierowany przez domowe połączenie internetowe, w którym znajduje się Pi. Twój ruch będzie zabezpieczony przed wścibskimi spojrzeniami Wi-Fi w kawiarni, a będziesz mieć dostęp do wszelkich zasobów w swojej sieci domowej tak, jakbyś tam był — nie jest wymagana żadna opłata abonamentowa.