VPN do domowej sieci LAN

VPN do domowej sieci LAN

TL; DR: Instaluję Wireguard na VPS, łączę się z nim z mojego domowego routera na OpenWRT i uzyskuję dostęp do mojej podsieci domowej z mojego telefonu.

Jeżeli utrzymujesz swoją infrastrukturę osobistą na domowym serwerze lub masz w domu wiele urządzeń sterowanych IP, to prawdopodobnie chcesz mieć do nich dostęp z pracy, z autobusu, pociągu czy metra. Najczęściej do podobnych zadań wykupuje się IP od dostawcy, po czym porty każdej usługi są przekazywane na zewnątrz.

Zamiast tego skonfigurowałem VPN z dostępem do mojej domowej sieci LAN. Zalety tego rozwiązania:

  • przezroczystość: W każdych okolicznościach czuję się jak w domu.
  • Łatwość: ustaw i zapomnij, nie musisz myśleć o przekierowaniu każdego portu.
  • Cena: Mam już VPS, do takich zadań nowoczesny VPN jest prawie darmowy pod względem zasobów.
  • bezpieczeństwo: nic nie odstaje, możesz opuścić MongoDB bez hasła i nikt nie ukradnie Twoich danych.

Jak zawsze są wady. Po pierwsze, będziesz musiał skonfigurować każdego klienta osobno, w tym po stronie serwera. Może to być niewygodne, jeśli masz dużą liczbę urządzeń, z których chcesz uzyskać dostęp do usług. Po drugie, możesz mieć w pracy sieć LAN o tym samym zasięgu - będziesz musiał rozwiązać ten problem.

Potrzebujemy:

  1. VPS (w moim przypadku na Debianie 10).
  2. routera OpenWRT.
  3. Telefon.
  4. Serwer domowy z usługą internetową do testów.
  5. Proste ramiona.

Technologia VPN, której będę używać, to Wireguard. To rozwiązanie ma też mocne i słabe strony, nie będę ich opisywał. W przypadku VPN używam podsieci 192.168.99.0/24i u mnie w domu 192.168.0.0/24.

Konfiguracja VPS-a

Nawet najbardziej nędzny VPS za 30 rubli miesięcznie wystarczy do biznesu, jeśli masz szczęście, że go masz urywek.

Wszystkie operacje wykonuję na serwerze jako root na czystej maszynie, w razie potrzeby dodaję `sudo` i dostosowuję instrukcję.

Wireguard nie miał czasu na wprowadzenie go do stajni, więc uruchamiam `apt edit-sources` i dodaję backporty w dwóch liniach na końcu pliku:

deb http://deb.debian.org/debian/ buster-backports main
# deb-src http://deb.debian.org/debian/ buster-backports main

Pakiet instaluje się w zwykły sposób: apt update && apt install wireguard.

Następnie generujemy parę kluczy: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public. Powtórz tę operację jeszcze dwukrotnie dla każdego urządzenia uczestniczącego w obwodzie. Zmień ścieżkę do plików kluczy dla innego urządzenia i nie zapomnij o bezpieczeństwie kluczy prywatnych.

Teraz przygotowujemy konfigurację. Do pliku /etc/wireguard/wg0.conf konfiguracja jest umieszczona:

[Interface] Address = 192.168.99.1/24
ListenPort = 57953
PrivateKey = 0JxJPUHz879NenyujROVK0YTzfpmzNtbXmFwItRKdHs=

[Peer] # OpenWRT
PublicKey = 36MMksSoKVsPYv9eyWUKPGMkEs3HS+8yIUqMV8F+JGw=
AllowedIPs = 192.168.99.2/32,192.168.0.0/24

[Peer] # Smartphone
PublicKey = /vMiDxeUHqs40BbMfusB6fZhd+i5CIPHnfirr5m3TTI=
AllowedIPs = 192.168.99.3/32

W dziale [Interface] wskazane są ustawienia samego urządzenia i in [Peer] — ustawienia dla tych, którzy będą się z nim łączyć. W AllowedIPs oddzielone przecinkami określają podsieci, które zostaną przekierowane do odpowiedniego partnera. Z tego powodu urządzenia równorzędne urządzeń „klienckich” w podsieci VPN muszą mieć maskę /32, wszystko inne będzie kierowane przez serwer. Ponieważ sieć domowa będzie kierowana przez OpenWRT, w AllowedIPs Dodajemy podsieć domową odpowiedniego partnera. W PrivateKey и PublicKey odpowiednio rozłóż klucz prywatny wygenerowany dla VPS i klucze publiczne partnerów.

Na VPS pozostaje tylko uruchomić polecenie, które wyświetli interfejs i doda go do autorun: systemctl enable --now wg-quick@wg0. Aktualny stan połączenia można sprawdzić za pomocą polecenia wg.

Konfiguracja OpenWRT

Wszystko, czego potrzebujesz na tym etapie, znajduje się w module luci (interfejs sieciowy OpenWRT). Zaloguj się i otwórz zakładkę Oprogramowanie w menu System. OpenWRT nie przechowuje pamięci podręcznej na komputerze, dlatego należy zaktualizować listę dostępnych pakietów, klikając zielony przycisk Aktualizuj listy. Po zakończeniu wjedź do filtra luci-app-wireguard i patrząc na okno z pięknym drzewem zależności, zainstaluj ten pakiet.

W menu Sieci wybierz Interfejsy i kliknij zielony przycisk Dodaj nowy interfejs znajdujący się pod listą istniejących. Po wpisaniu nazwy (również wg0 w moim przypadku) i wybraniu protokołu WireGuard VPN otwiera się formularz ustawień z czterema zakładkami.

VPN do domowej sieci LAN

W zakładce Ustawienia ogólne należy wpisać klucz prywatny i adres IP przygotowany dla OpenWRT wraz z podsiecią.

VPN do domowej sieci LAN

Na karcie Ustawienia zapory podłącz interfejs do sieci lokalnej. W ten sposób połączenia z VPN będą swobodnie wchodzić na obszar lokalny.

VPN do domowej sieci LAN

Na zakładce Peers klikamy jedyny przycisk, po czym uzupełniamy dane serwera VPS w zaktualizowanej formie: klucz publiczny, Dozwolone adresy IP (trzeba przekierować całą podsieć VPN na serwer). W polach Endpoint Host i Endpoint Port wprowadź odpowiednio adres IP VPS z portem określonym wcześniej w dyrektywie ListenPort. Sprawdź dozwolone adresy IP tras dla tras, które mają zostać utworzone. I pamiętaj o wypełnieniu opcji Persistent Keep Alive, w przeciwnym razie tunel od VPS do routera zostanie uszkodzony, jeśli ten ostatni będzie za NAT.

VPN do domowej sieci LAN

VPN do domowej sieci LAN

Następnie możesz zapisać ustawienia, a następnie na stronie z listą interfejsów kliknij Zapisz i zastosuj. Jeśli to konieczne, jawnie uruchom interfejs za pomocą przycisku Uruchom ponownie.

Konfigurowanie smartfona

Będziesz potrzebował klienta Wireguard, jest on dostępny w F-Droid, Google play i App Store. Po otwarciu aplikacji naciśnij znak plus i w sekcji Interfejs wpisz nazwę połączenia, klucz prywatny (klucz publiczny zostanie wygenerowany automatycznie) oraz adres telefonu z maską /32. W sekcji Peer określ klucz publiczny VPS, parę adresów: port serwera VPN jako punkt końcowy oraz trasy do VPN i podsieci domowej.

Pogrubiony zrzut ekranu z telefonu
VPN do domowej sieci LAN

Kliknij na dyskietkę w rogu, włącz ją i...

Ukończone

Teraz możesz uzyskać dostęp do monitorowania domu, zmienić ustawienia routera lub zrobić cokolwiek na poziomie IP.

Zrzuty ekranu z okolicy
VPN do domowej sieci LAN

VPN do domowej sieci LAN

VPN do domowej sieci LAN

Źródło: www.habr.com

Dodaj komentarz