Konfiguracja serwera VPN z Raspberry Pi
W tym artykule opisano, jak zmienić Raspberry Pi w serwer VPN.
Zainspirowałem się, gdy jeden z moich przyjaciół wyjeżdżał w długą podróż i chciał mieć VPN.
Wyjaśnił, że korzyści z posiadania VPN polegają na tym, że umożliwia on dostęp do sieci domowej i plików.
To całkiem standardowa sytuacja.
Wspomniał również, że łatwiej będzie mu się logować do aplikacji bankowych i innych usług, jeśli będzie się logował przez sieć domową.
Posiadanie zagranicznego adresu IP rzuca czerwone flagi i spowodowałoby, że musiałby wykonać testy Captcha i 2FA.
To skłoniło mnie do zastanowienia się, czy Raspberry Pi sprawdziłoby się w tym przypadku.
Najpierw sprawdź router
Ważne jest sprawdzenie, czy router może pełnić funkcję serwera VPN.
Byłoby to najbardziej niezawodne rozwiązanie. Szczerze mówiąc, było to także najłatwiejsze i najmniej uciążliwe rozwiązanie.
Mam urządzenie TP-Link Archer C7, które ma możliwość uruchomienia serwera VPN przy użyciu OpenVPN lub PPTP VPN. W ciągu mniej niż pięciu minut postępował zgodnie z instrukcjami i udało się go uruchomić.
Następnie wystarczyło zainstalować OpenVPN na moich urządzeniach i użyć pliku konfiguracyjnego.
Jeśli jednak masz router, który nie obsługuje połączeń VPN, postępuj zgodnie z instrukcjami...
Co jest potrzebne do stworzenia serwera Raspberry Pi?
Po pierwsze i najważniejsze, potrzebne jest Raspberry Pi.
Idealnie byłoby mieć Raspberry Pi z przewodowym połączeniem ethernetowym, takie jak Raspberry Pi 4, zapewniające maksymalną niezawodność i szybkość.
Jeśli wybierzesz te urządzenia, będziesz potrzebować kabla ethernetowego do podłączenia Raspberry Pi do routera.
Aby zapewnić połączenie Raspberry Pi przez przewodowy ethernet, należy wyłączyć połączenie bezprzewodowe.
Sieć PiVPN działa jednak z powodzeniem na Raspberry Pi z serii Zero, więc można jej również użyć.
Zainstaluj PiVPN
Kieruj się do pivpn.io aby uzyskać więcej informacji na temat oprogramowania.
Aby go zainstalować, należy uruchomić polecenie instalacyjne curl -L https://install.pivpn.io | bash w Terminalu.
Ta czynność może trochę potrwać, ale po jej zakończeniu zobaczysz ten ekran początkowy.
Rezerwacja DHCP
Sieć PiVPN jest serwerem, więc do prawidłowego działania musi mieć statyczny adres IP.
Jeśli można utworzyć rezerwację DHCP...
Nie wszystkie routery umożliwiają tworzenie rezerwacji DHCP, dlatego jeśli nie można znaleźć sekcji dotyczącej tego ustawienia, należy przejść do następnej sekcji.
Mam oddzielny modem i router, który kupiłem, aby móc utworzyć rezerwację DHCP w celu zapewnienia, że PiVPN ma cały czas ten sam adres IP.
Każdy router jest inny, dlatego należy wyszukać w Google dokładne instrukcje dotyczące tworzenia rezerwacji DHCP dla danego routera.
Jeśli tak jak ja korzystasz z urządzenia TP-Link Archer C7, przejdź do strony Zaawansowane > Sieć > Serwer DHCP.
W ramach Rezerwacja adresu kliknąłem na Dodaj. Potrzebowałem mojego adresu MAC (nie jest on wyświetlany w sieci PiVPN) oraz adresu IP dostarczonego przez PiVPN.
Znajdowanie adresu MAC
Adres MAC można znaleźć na dwa sposoby.
Najwygodniej było, gdy router TP-Link wyświetlił mój adres MAC "DC-A6-32-88-AC-97" w tabeli klientów DHCP.
Można też otworzyć Terminal i wpisać polecenie ifconfig.
Ponieważ jesteś podłączony przez ethernet przewodowy, poszukaj "eth0" i w wierszu, w którym jest napisane eterTo tam znajduje się Twój adres MAC.
Jeśli nie można utworzyć rezerwacji DHCP,
W tym menu należy nacisnąć "Nie", aby skonfigurować statyczny adres IP.
W następnym menu trzeba będzie skonfigurować statyczny adres IP na taki, który nie mieści się w zakresie adresów IP przydzielanych urządzeniom przez router.
Na przykład mój router przypisuje podłączonym urządzeniom adresy IP od 192.168.0.100 do 192.168.0.249. Mogę więc przypisać sieci PiVPN adres IP 192.168.0.250.
Następnie zostanie wyświetlony monit o podanie adresu IP bramy. Możesz pozostawić ten adres jako domyślny, chyba że masz inną bramę. Zazwyczaj jest to adres IP routera.
Na koniec naciśnij OK w PiVPN, aż przejdziesz do strony "Użytkownicy lokalni".
Użytkownicy lokalni
Na stronie "Wybierz użytkownika" wybrałem jedynego użytkownika, Pi.
W najnowszych aktualizacjach systemu operacyjnego Raspberry Pi nie ma już domyślnego użytkownika "pi", więc należy o tym pamiętać.
Naciśnij OK.
Tryb instalacji
Zostaniesz zapytany, czy chcesz używać sieci WireGuard czy OpenVPN. Wybrałem WireGuard, ponieważ był on zalecany.
Domyślny port Wireguard
Jeśli nie potrzebujesz innego portu, możesz po prostu nacisnąć OK i użyć domyślnego portu 51820.
Dostawca DNS
Istnieje wiele możliwości wyboru dostawców DNS, ja wybrałem Google ze względu na łatwość konfiguracji.
Publiczny adres IP lub DNS
To, co tu widzisz, to Twój publiczny adres IP i będzie to adres IP, którego będziesz używać do łączenia się z siecią VPN.
Aktualizacje nienadzorowane
Włączyłem nienadzorowane aktualizacje, ponieważ chciałem mieć aktualizacje zabezpieczeń.
Czas na dodanie profili klientów
Słodko! Udało Ci się przejść do menu "Instalacja zakończona".
Konfiguracja PiVPN na Raspberry Pi to połowa sukcesu. Kolejna połowa to konfiguracja profili klienckich, aby można było podłączyć do niego komputery, telefony i inne urządzenia.
Oto jak:
Otwórz Terminal i wpisz "pivpn add".
Wprowadź nazwę klienta. Można użyć nazw typu "klient1", "klient2" lub czegoś bardziej intuicyjnego, jak "smartfon", "telewizor" itp.
Naciśnij klawisz Enter.
Po zakończeniu zostanie wyświetlony komunikat informujący, że operacja została zakończona.
PiVPN wygenerowałby plik .conf, który można wykorzystać w aplikacjach Wireguard.
Istnieje jednak jeszcze prostszy sposób na przeniesienie konfiguracji do telefonu.
Konfigurowanie telefonu z systemem Android
W tym samym terminalu wpisz pivpn -qr
Następnie wprowadź żądanego klienta. W tej chwili dostępny jest tylko jeden o nazwie "smartfon".
Wpisz więc "smartfon" i naciśnij klawisz Enter.
Jeśli wszystko pójdzie dobrze, zobaczysz kod QR, który możesz zeskanować za pomocą aplikacji Wireguard na swoim smartfonie.
Jeśli jednak tak nie jest, komunikat będzie wyglądał na zniekształcony. Dzieje się tak, ponieważ kodowanie Terminala jest nieprawidłowe.
Jeśli tak się stanie, możesz skopiować plik smartphone.conf do telefonu i wskazać go aplikacji Wireguard.
Innym sposobem jest próba zalogowania się przez ssh do Raspberry Pi i wykonanie polecenia qrencode -t ansiutf8 < /home/pi/configs/smartphone.conf (zmień nazwę "smartphone" na taką, jaką nadałeś swojemu klientowi).
Kod QR został wygenerowany pomyślnie, gdy użyłem protokołu ssh na komputerze z systemem Windows.
Konfigurowanie programu WireGuard na komputerze
Należy zrobić dwie rzeczy. Pobrać aplikację WireGuard na swój komputer oraz pobrać plik .conf z Raspberry Pi.
Można pobrać Aplikacja WireGuard dla systemów Windows, Linux i Mac tutaj.
Następnie należy utworzyć nowy profil za pomocą dodatek pivpn.
Wpisz nazwę swojego pliku konfiguracyjnego. Ja użyłem msi-pcco powoduje wygenerowanie msi-pc.conf akta.
Aby skopiować plik na komputer, najprościej jest skopiować go za pomocą polecenia. W systemie operacyjnym Raspberry Pi powinieneś mieć włączony dostęp SSH.
Jeśli pracujesz w systemie Windows, tak jak ja, użyjesz następującego polecenia:
pscp.exe [twoja-nazwa-użytkownika]@[your-pi-ip-address]:/home/pi/configs/[plik wireguard].conf [local-dir]
Oto, jak wyglądała moja:
pscp.exe [email protected]:/home/pi/configs/msi-pc.conf
W aplikacji naciśnij przycisk "Dodaj tunel" i znajdź swój plik .conf.
Aktywuj i gotowe!
Skonfiguruj przekierowanie portów na routerze
Jeśli postępowałeś zgodnie z powyższymi instrukcjami, będziesz mógł włączyć przełącznik w aplikacji Wireguard, ale nie będziesz mógł połączyć się z Internetem.
Dzieje się tak, ponieważ należy skonfigurować router tak, aby kierował ruch na port 51820 do Raspberry Pi.
Aby to zrobić, przejdź do menu przekierowania portów na swoim routerze. Na moim routerze TP-Link Archer było ono dostępne w menu Zaawansowane > NAT Forwarding > Serwery wirtualne.
Gdy program poprosi o podanie zewnętrznego i wewnętrznego portu oraz wewnętrznego adresu IP, będziesz wiedział, że jesteś we właściwym miejscu.
Na tym ekranie pojawia się pytanie: "Jeśli otrzymujemy ruch z Internetu za pomocą portu 51820, do którego urządzenia go wysyłamy i na który port?
W tym przypadku porty zewnętrzne i wewnętrzne są 51820domyślnie Wireguard. Protokół to UDP oraz Wewnętrzny adres IP to adres IP komputera Pi.
Skąd mam wiedzieć, że moja sieć VPN działa?
Będziesz wiedzieć, że VPN działa, jeśli zmieni się Twój adres IP.
Aby przetestować połączenie VPN w smartfonie, przed połączeniem się z siecią VPN najpierw poszukałem swojego adresu IP.
VPN podał, że mój adres to XXX.XX.88.241.
Połączyłem się z siecią VPN i mój adres IP zmienił się na XXX.XXX.169.39.
Jeśli więc w adresie IP nastąpi zmiana, oznacza to, że połączenie zostało nawiązane pomyślnie.
Dostępnych jest wiele usług. Można nawet wpisać w Google "jaki jest mój adres IP", a Google może udzielić informacji na stronie z wynikami wyszukiwania. Można też użyć whatismyip.com.
Co się stanie, jeśli zmieni się mój adres IP w Internecie?
Czasami po zresetowaniu routera adres IP może nie być taki sam. Mogą się zdarzyć przerwy w dostawie prądu lub przypadkowe wyciągnięcie kabla zasilającego.
Pytanie brzmi... jak znaleźć swój nowy adres IP, gdy nie ma Cię w domu i desperacko potrzebujesz połączyć się z siecią VPN?
Nasze oprogramowanie PiCockpit ułatwia sprawdzenie, jaki jest publiczny adres IP użytkownika.
Na powyższym zrzucie ekranu jest to mój publiczny adres IP. Jeśli kiedykolwiek ulegnie on zmianie, można zaktualizować pliki .conf, podając nowy adres punktu końcowego.
PiCockpit umożliwia także zdalne uruchamianie i diagnozowanie problemów z Raspberry Pi za pomocą interfejsu sieciowego.
Aby zainstalować aplikację PiCockpit, należy postępować zgodnie z poniższą instrukcją.
Alternatywnie można też skorzystać z usługi dynamicznego DNS i nadać nazwę hosta. Oto przewodnik.
Buen dia espero se encuentren bien, tengo una consulta a ver si me pueden ayudar, estoy en venezuela, yo quisiera trabajar por internet pero necesito que no me detecten, mi IP va a estar en estados unidos, lo que quiero es preguntar... como configuro el raspberry para poder conectarme con la ip residencial alla en eeuu y trabajar en venezuela sin ser detectado y no me baneen las paginas, ademas de eso configurar mi navegador gracias.
John,
W tym celu konieczne jest posiadanie raspberry pi w UE skonfigurowanego jako serwer VPN (w domu przyjaciela lub znajomego), a komputer lub laptop w Wenezueli musi mieć klienta VPN. W ten sposób łączysz się z Wenezueli do UE za pośrednictwem VPN i już wiesz, jak to jest.
[...] można również użyć jednego jako serwera VPN przy użyciu konfiguracji takich jak OpenVPN lub WireGuard. Możesz użyć dowolnej konfiguracji do codziennego użytku i obie sprawiają, że [...]
[...] Oczywiście można też po prostu zamienić Raspberry Pi w VPN, o czym pisaliśmy już wcześniej. [...]