Spisu treści:
- Krok 1: Wybór usługi VPN
- Krok 2: Zainstaluj Raspberry Pi
- Krok 3: Zainstaluj OpenVPN
- Krok 4: Konfiguracja routingu
- Krok 5: Skonfiguruj zaporę sieciową i NAT
- Krok 6: Wniosek
Wideo: Raspberry Pi VPN Gateway: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Aktualizacja 2018-01-07:
- Zaktualizowano brakujące elementy i wprowadzono zmiany potrzebne do aktualnej wersji Raspiana.
- Stworzył również specjalny przewodnik dla NordVPN.
Istnieje kilka różnych zastosowań VPN. Albo chcesz chronić swoją prywatność i prywatne dane przed ciekawskimi oczami, albo potrzebujesz źródła z innego kraju. Pozyskiwanie z innego kraju może być bardzo przydatne, aby uzyskać dostęp do usług, które nie są świadczone w Twoim kraju. Obecnie istnieje wiele usług VPN, a większość z nich oferuje łatwe w użyciu oprogramowanie na komputer i aplikacje na tablet lub telefon. Ale jeśli masz inne urządzenia nieobsługiwane przez oprogramowanie, które chcesz przejść przez VPN? Następnie zbuduj bramę, która zapewni Ci dostęp do Internetu przez VPN.
Jeśli spojrzysz na swoją podstawową konfigurację sieci, masz "bramę domyślną", która jest używana dla każdego adresu IP, który nie znajduje się w twojej obecnej podsieci (bardzo uproszczone). Jeśli więc skonfigurujesz bramę, która może kierować ruch internetowy przez ustanowione połączenie VPN, każde urządzenie obsługujące sieć może skorzystać z tunelu VPN.
Moim głównym przypadkiem użycia w moim mieszkaniu w San Francisco jest tunel VPN do mojej ojczystej Szwecji, dzięki czemu mogę przesyłać strumieniowo szwedzkie kanały odtwarzania na moich odtwarzaczach multimedialnych i smart TV. Jest to dość powszechny przypadek użycia dla większości osób potrzebujących tunelu VPN. Ponieważ moje odtwarzacze multimedialne i smart TV nie są obsługiwane przez oprogramowanie VPN, zbudowałem jeden z Raspberry Pi.
Możesz wybrać jeden za mniej niż 40 USD na Amazon. Polecam jednak zakup etui i przyzwoitego zasilacza. Do tego instruktażu potrzebujesz:
- Raspberry Pi 2 lub 3
- Sprawa, która Ci się podoba
- Przyzwoity zasilacz
- Kabel sieciowy
Krok 1: Wybór usługi VPN
Ważną rzeczą przy wyborze usługi VPN jest to, aby spełniała Twoje wymagania. W tym przypadku potrzebowałem usługi VPN ze szwedzkim punktem wyjścia, to jest najważniejsza rzecz, ponieważ potrzebuję szwedzkich usług, aby przekonać się, że jestem w Szwecji. Przez lata korzystałem z kilku różnych dostawców, a poniżej przedstawiam rzeczy, które biorę pod uwagę przy wyborze dostawcy VPN dla konkretnego przypadku użycia:
Bezpłatny test
Potrzebuję bezpłatnego okresu testowego lub niewielkiej ilości danych testowych, aby poznać oprogramowanie lub aplikację. Chcę też przetestować wydajność i ogólne wrażenia, zanim za to zapłacę. Miło też sprawdzić, czy mój pomysł zadziała, zanim zacznę płacić.
Prywatność
Jeśli implementacja ma na celu ochronę prywatności, to naprawdę ważne jest, co mówi polityka prywatności. Ważne jest również, z jakiego kraju działa firma i jakie przepisy chronią Twoją prywatność. Użytkownicy naprawdę zainteresowani prywatnością powinni przyjrzeć się usłudze, która stwierdza, że żadne dzienniki ruchu nie są przechowywane i zezwalają na anonimowe płatności na przykład za pośrednictwem Bitcoin.
Dozwolony ruch
Mogą istnieć ograniczenia dotyczące rodzaju ruchu, który będziesz mógł prowadzić. Poważniejsi dostawcy zazwyczaj blokują ruch peer-to-peer. Ma to na celu nie tylko uniknięcie problemów prawnych, ale także utrzymanie wydajności dla wszystkich użytkowników. Istnieje jednak wielu dobrych dostawców, którzy umożliwiają komunikację typu peer-to-peer i nadal zapewniają wysoką jakość usług. Ale jeśli to nie jest twoja główna rekuperacja, polecam wybrać usługę, która nie pozwala na peer-to-peer.
Limit danych
Nigdy nie korzystaj z usługi, która utrzymuje limit danych nad płacącymi użytkownikami. To po prostu wyczerpie się w najgorszym możliwym czasie, dokładnie tak jak dane w telefonie tuż przed zabawną częścią w klipie wideo!
Kraje wyjścia
W zależności od przypadku użycia ma to różne znaczenie. W przypadku użycia takiego jak mój, w którym muszę wylądować w określonym kraju, oczywiście musi to być na liście. Muszę również mieć możliwość wybrania kraju, w którym wyjeżdżam. Istnieją usługi, w których nie możesz wybrać kraju wyjazdu, trzymaj się od nich z daleka. Możesz wylądować w kraju, w którym obowiązują przepisy dotyczące złej wydajności lub prywatności. Nawet jeśli nie potrzebujesz konkretnego kraju, powinieneś wybrać usługę z kilkoma różnymi krajami do wyświetlania, aby móc znaleźć taką, która ma dobre wyniki.
Rodzaj oprogramowania i wsparcie
To jeden z głównych powodów, dla których wolę usługi z bezpłatnym testem. Jest tak wielu dostawców ze złym oprogramowaniem, które zawiera błędy, jest niepewne lub po prostu nie działa. Do wdrożenia Raspberry Pi potrzebuję dostawcy obsługującego OpenVPN.
Mój wybór
Do tego buildu wybrałem Tunnel Bear. Oferowany jest bezpłatny test do 500 GB, więc mogłem sprawdzić, czy rzeczywiście mogę przesyłać strumieniowo, zanim cokolwiek zapłacę. Mają siedzibę w Kanadzie, która obok Szwecji ma jedne z najsilniejszych przepisów dotyczących prywatności na świecie. Brak limitu danych w płatnych usługach, a także mogę mieć kilka urządzeń podłączonych jednocześnie. Tak więc ochrona mojego telefonu, tabletu i komputera podczas podróży przez niezabezpieczone Wi-Fi jest również sortowana. Węzeł wyjściowy w Szwecji jest obsługiwany, w rzeczywistości jest dostarczany przez Bahnhof, który jest znany z silnej prywatności w Szwecji. W przypadku płatnych planów oferują obsługę OpenVPN. Nie do darmowego testu, ale wystarczyło uruchomić go z mojego laptopa, aby upewnić się, że usługi przesyłania strumieniowego działają.
Krok 2: Zainstaluj Raspberry Pi
Do takich wdrożeń używam systemu operacyjnego Raspbian Lite. Ponieważ w ogóle nie potrzebuję GUI. Tutaj możesz pobrać najnowszą wersję.
Używam Win32DiskImager do załadowania pliku.img na kartę SD dla Raspberry Pi.
Po uruchomieniu Raspberry Pi przeglądam listę DHCP mojego routera, aby uzyskać adres IP, a następnie połączyć się przez SSH z Putty. Standardowa nazwa użytkownika i hasło to pi/raspberry
Po podłączeniu uruchamiam narzędzie raspi-config, aby zmienić podstawowe ustawienia.
sudo raspi-config
Najważniejsze rzeczy, o które należy zadbać w tej konfiguracji, to:
- Rozwiń system plików
- Zmień hasło
Możesz także zmienić nazwę hosta swojego Raspberry Pi, jeśli chcesz. Mój DHCP ma bardzo długie dzierżawy i mogę też zarezerwować konkretny adres. Jeśli nie masz takiej możliwości, musisz skonfigurować Raspberry Pi tak, aby używał statycznego adresu IP. Ponieważ inne urządzenia będą używać tego jako bramy domyślnej, ważne jest, aby używała tego samego adresu IP. Oto post, który napisałem o ustawianiu statycznego adresu IP w Raspbian Jessie.
Następnie musimy zaktualizować wszystko do najnowszej wersji:
sudo apt-get aktualizacje sudo apt-get upgrade sudo apt-get dist-upgrade
Krok 3: Zainstaluj OpenVPN
Teraz musimy zainstalować OpenVPN na Raspberry Pi.
sudo apt-get zainstaluj openvpn
Następnie musimy upewnić się, że usługa uruchamia się poprawnie.
sudo systemctl włącz openvpn
Po zakończeniu instalacji musimy skopiować pliki konfiguracyjne i certyfikaty OpenVPN do pudełka. Zostanie to dostarczone przez dostawcę VPN. W moim przypadku, korzystając z TunnelBear, znalazłem tam post na blogu o wsparciu dla Linuksa. Na tej stronie znajduje się link do pliku zip zawierającego wszystko, czego potrzebujemy.
Plik zawiera pliki certyfikatów i plik konfiguracyjny.opvn dla każdego kraju, do którego można tunelować. Potrzebujesz wszystkich plików certyfikatów i pliku konfiguracyjnego.opvn dla wybranego kraju, w moim przypadku Szwecji. Rozpakuj potrzebne pliki i użyj winscp, aby przesłać pliki do Raspberry Pi. Ta sama nazwa użytkownika/hasło, które zostały użyte do SSH, przeniesie Cię do /home/pi, po prostu upuść tam pliki.
Następnie wracamy do terminala SSH i przenosimy pliki do folderu OpenVPN. Pierwsze polecenie to tylko upewnienie się, że znajdujemy się w folderze /home/pi.
cd /home/pi
sudo mv * /etc/openvpn/
Teraz musimy dokonać pewnych modyfikacji w plikach. Najpierw musimy zmienić nazwę pliku konfiguracyjnego z.ovpn na.conf. Każdy plik kończący się na.conf w folderze /etc/openvpn zostanie automatycznie uruchomiony po uruchomieniu demona OpenVPN. Najpierw musimy dostać się do tego katalogu.
cd /etc/openvpn
Następnie zmieniamy nazwę pliku konfiguracyjnego. Możesz nazwać go jak chcesz, o ile kończy się na.conf. Wolę używać nazw plików bez spacji, w tym przypadku używam swe.conf.
sudo mv *.ovpn swe.conf
Następnie potrzebujemy pliku uwierzytelniającego zawierającego nazwę użytkownika i hasło używane w tunelu VPN. Otwórz edytor tekstu i wpisz nazwę użytkownika i hasło w osobnych wierszach. Nazwiemy ten plik auth.txt.
sudo nano auth.txt
Treść powinna wyglądać jak w tym przykładzie:
Nazwa Użytkownika
hasło
Następnie użyj CTRL + O, aby zapisać do pliku i CTRL + X, aby wyjść z edytora tekstu nano. Musimy również chronić plik auth.txt zawierający nasze dane uwierzytelniające.
sudo chmod 600 /etc/openvpn/auth.txt
Następnie musimy edytować plik konfiguracyjny, aby upewnić się, że wszystkie ścieżki są poprawne i dodać odwołanie do nowo utworzonego pliku auth.txt.
sudo nano swe.conf
Linie, które należy zmienić, to te odnoszące się do innych plików, muszą to być ścieżki bezwzględne. W tym przykładzie właśnie tego szukamy:
ca CACcertificate.crt
cert UserCertificate.crt klucz PrivateKey.key
Zmieniamy je na ścieżki bezwzględne w ten sposób:
ca /etc/openvpn/CACertificate.crt
cert /etc/openvpn/UserCertificate.crt klucz /etc/openvpn/PrivateKey.key
Następnie na końcu pliku dodajemy odwołanie do pliku auth.txt, takie jak:
auth-user-pass /etc/openvpn/auth.txt
Ponownie używamy CTRL + O, aby zapisać plik, a następnie CTRL + X, aby wyjść z nano. Teraz możemy ponownie uruchomić demona OpenVPN i sprawdzić, czy tunel działa.
usługa sudo openvpn restart
Jeśli uruchomisz polecenie ifconfig, powinieneś zobaczyć adapter tun0 oprócz adapterów eth0 i lo, jeśli tunel jest uruchomiony. Możesz także uruchomić polecenie to polecenie, aby sprawdzić swój publiczny adres IP:
wget https://ipinfo.io/ip -qO -
Jeśli masz problemy z uruchomieniem tunelu, najpierw spróbuj ponownie uruchomić Raspberry Pi, a następnie dwukrotnie sprawdź konfigurację pod kątem błędów.
Krok 4: Konfiguracja routingu
Teraz musimy włączyć przekazywanie IP. Umożliwia przepływ ruchu sieciowego z jednego interfejsu sieciowego i wyjście z drugiego. Zasadniczo tworzenie routera.
sudo /bin/su -c "echo -e '\n#Włącz routing IP\nnet.ipv4.ip_forward = 1' > /etc/sysctl.conf"
Jeśli uruchomisz sudo sysctl -p, na ekranie powinien pojawić się komunikat:
net.ipv4.ip_forward = 1
Teraz routing jest włączony, a ruch może przechodzić przez Raspberry Pi, przez tunel i przez Internet.
Krok 5: Skonfiguruj zaporę sieciową i NAT
Ponieważ będziemy mieć kilku klientów wewnątrz korzystających z Internetu za pośrednictwem jednego publicznego adresu IP, musimy użyć NAT. Oznacza translację adresów sieciowych i będzie śledzić, na którym kliencie zażądał jakiego ruchu, gdy informacje zwrócą się przez tunel. Musimy również ustawić pewne zabezpieczenia wokół samego Raspberry Pi i tunelu.
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Włączam translację adresów sieciowych.
sudo iptables -A FORWARD -i eth0 -o tun0 -j AKCEPTUJ
Zezwalanie na ruch z eth0 (wewnętrzny) przez tun0 (tunel).
sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state ZWIĄZANE, USTANOWIONE -j AKCEPTUJ
Zezwalanie na ruch z tun0 (tunel) na powrót przez eth0 (wewnętrzny). Ponieważ określamy stan RELATED, ESTABLISHED będzie on ograniczony do połączenia inicjowanego z sieci wewnętrznej. Blokowanie ruchu zewnętrznego podczas próby zainicjowania nowego połączenia.
sudo iptables -A WEJŚCIE -i lo -j AKCEPTUJ
Zezwolenie na własny ruch pętli zwrotnej Raspberry Pi.
sudo iptables -A WEJŚCIE -i eth0 -p icmp -j AKCEPTUJ
Zezwalanie komputerom w sieci lokalnej na pingowanie Raspberry Pi.
sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -j AKCEPTUJ
Zezwalanie na SSH z sieci wewnętrznej.
sudo iptables -A INPUT -m stan --stan USTANOWIONO, POWIĄZANE -j AKCEPTUJ
Zezwolenie na powrót całego ruchu zainicjowanego przez Raspberry Pi. Jest to ten sam dyrektor stanu, co wcześniej.
sudo iptables -P Spadek do przodu
sudo iptables -P INPUT DROP sudo iptables -L
Jeśli ruch nie pasuje do żadnej z określonych reguł, zostanie odrzucony.
sudo apt-get install iptables-persistent
sudo systemctl włącz netfilter-persistent
Pierwsza linia instaluje spokój kodu, który sprawia, że reguły iptable, które właśnie stworzyliśmy, są trwałe między restartami. Drugi zapisuje zasady po ich zmianie. Tym razem wystarczy uruchomić pierwszy. Jeśli zmienisz zasady, uruchom drugą, aby zapisać. Reguły Iptable zaczynają obowiązywać, gdy tylko je dodasz, jeśli zepsujesz i stracisz dostęp, po prostu uruchom ponownie komputer, a te, które nie zostały jeszcze zapisane, zostaną przywrócone.
Krok 6: Wniosek
Teraz możesz korzystać z tego tunelu z dowolnego urządzenia lub komputera w tej samej sieci. Po prostu zmień domyślną bramę na dowolny adres IP, który ma twoje Raspberry Pi. W moim przypadku oba moje centra multimedialne Kodi (jedna sypialnia i jeden salon) korzystają z tego połączenia, dzięki czemu mogę przesyłać strumieniowo moje szwedzkie kanały odtwarzania. Oczywiście są też inne rzeczy, do których możesz to wykorzystać.
Pamiętaj tylko, że w zależności od wybranego dostawcy VPN i szybkości połączenia internetowego wydajność może być niska.
Jeśli masz jakieś pytania lub chcesz, żebym coś wyjaśnił, daj mi znać w komentarzach! Aby uzyskać więcej postów technicznych, odwiedź mój blog Hackviking!
Zalecana:
MuMo - LoRa Gateway: 25 kroków (ze zdjęciami)
MuMo - LoRa Gateway: ### AKTUALIZACJA 10-03-2021 // najnowsze informacje / aktualizacje będą dostępne na stronie github: https://github.com/MoMu-Antwerp/MuMoCzym jest MuMo?MuMo to współpraca między rozwój produktu (wydział Uniwersytetu w Antwerpii) w ramach
Utwórz VPN na swoim urządzeniu Raspberry Pi: 6 kroków (ze zdjęciami)
Utwórz VPN na swoim urządzeniu Raspberry Pi: VPN lub wirtualna sieć prywatna mogą pomóc zwykłym użytkownikom Internetu zachować nieco większą prywatność podczas surfowania w sieci. Może również pomóc profesjonalnym twórcom oprogramowania podczas pracy nad ich projektami. Oraz połączenie VPN Raspberry Pi, które opiera się
Lora Gateway oparta na MicroPython ESP32: 10 kroków (ze zdjęciami)
Lora Gateway Oparta na MicroPython ESP32: Lora jest bardzo popularna w ostatnich latach. Moduł komunikacji bezprzewodowej wykorzystujący tę technologię jest zazwyczaj tani (wykorzystuje wolne widmo), niewielkich rozmiarów, energooszczędny i ma dużą odległość komunikacji i służy głównie do wzajemnej komunikacji
Przewodnik konfiguracji VPN Premium do szybkiego pobierania i przesyłania strumieniowego OK przez REO: 10 kroków
Przewodnik konfiguracji VPN Premium do szybkiego pobierania i przesyłania strumieniowego OK przez REO: Dziękuję, Asuswrt-MerlinHi, pochodzę z Tajlandii. Zamierzam napisać szczegółowy przewodnik po konfiguracji VPN dla szybkiego pobierania średnio około 100 Mb/s i być może najpłynniejszego przesyłania strumieniowego dla Netflix, Crunchyroll, Hulu itp. Z Tajlandii, miejsce docelowe
Zabezpiecz całe Wi-Fi za pomocą VPN - punkt dostępu!: 5 kroków
Zabezpiecz całe Wi-Fi dzięki VPN - punkt dostępu!: Ponieważ coraz więcej naszego życia jest wysyłanych do wielkiej chmury na niebie, jaką jest Internet, coraz trudniej jest zachować bezpieczeństwo i prywatność podczas osobistych przygód internetowych. Niezależnie od tego, czy uzyskujesz dostęp do poufnych informacji, które chcesz zachować w tajemnicy