W drugiej części cyklu o zdalnym dostępie do maszyn postaram się przybliżyć zasadę działania i konfigurację wirtualnych sieci prywatnych (VPN) na podstawie OpenVPN w urządzeniu OnCell G3150A-LTE firmy Moxa.
VPN – co to właściwie jest?
To ogólna nazwa technologii, służącej do tworzenia bezpiecznych prywatnych połączeń (tunelów) pomiędzy 2 sieciami prywatnymi, przez sieć WAN. Obecnie tunele VPN często są też wykorzystywane jako sposób na bezpieczny dostęp do zasobów Internetu, lub do omijania blokad regionalnych. Sieć prywatna to sieć która posiada pulę adresową prywatną, czyli taką do której nie ma dostępu z sieci publicznej, czyli przykładowo sieć domowa, lub firmowa, i właśnie to ograniczenie generuje potrzebę tworzenia połączeń VPN, aby umożliwić dostęp do takich „schowanych” urządzeń. Jednym z nie szyfrowanych sposób na dostęp do sieci prywatnych jest Port Forwarding (NAT) o którym pisaliśmy tutaj. Protoplastą VPNu był protokół PPTP, opracowany przez firmę Microsoft w 1996 roku. Umożliwiał bezpieczniejsze połączenie typu punkt-punkt, pomiędzy sieciami niż było to realizowane do tej pory. Technologia VPN była na początku używana niemal wyłącznie przez biznes, do łączenia oddziałów firmy w jedną sieć prywatną, bądź do łączenia się pracowników zdalnych do zasobów firmowych.
Przykład komunikacji wielu klientów z serwerem OpenVPN. Klienci po zaznaczeniu odpowiedniej opcji w VPN serwerze mogą też komunikować się między sobą.
VPN – zasada działania na przykładzie OpenVPN
VPN to technologia, którą można zrealizować na różne sposoby. Obecnie najpopularniejsze technologie do tworzenia połączeń VPN to L2TP, OpenVPN, IPSec, Hamachi, SSTP i inne. Każda z tych technologii to tak naprawdę zbiór protokołów, realizujące różne funkcje, np. szyfrujące SSL/TLS, transportowe – TCP/UDP. OpenVPN to pakiet otwartego oprogramowania do tworzenia wirtualnych sieci prywatnych, który domyślnie powstał dla platform Unixowych, ale z czasem trafił też na systemy z rodziny Windows. Jest też dostępna płatna wersja, ułatwiająca konfigurację oraz uruchomienie serwera OpenVPN w chmurze. Uwierzytelnianie w OpenVPN odbywa się za pomocą kluczy, certyfikatów lub nazwy użytkownika i hasła. Możliwe są 2 główne tryby pracy takiego tunelu VPN: Tryb Routera oraz tryb Mostu (Bridge). W trybie Routera adresacja IP po obu stronach tunelu musi być inna, aby nie było duplikatów adresów IP w całej sieci prywatnej. Zaletą takiego rozwiązania jest to, że można łatwiej panować i zarządzać przydzielanymi adresami IP w ramach obu segmentów, a wadą, że przez taki tunel nie zostanie przepuszczona komunikacja w warstwie 2, czyli np. ramki rozgłoszeniowe (broadcast) lub multicast. W trybie Mostka problem ten nie występuje, ponieważ sieci są „zmostkowane”, czyli mają tę samą adresację, co pozwala na pełną komunikację taką jak w prawdziwej fizycznej sieci prywatnej. W obu tych trybach zawsze występuję Klient i Serwer. Rolą serwera jest pasywne oczekiwanie na zdefiniowanym porcie TCP lub UDP (domyślnie 1194) na połączenie klienta VPN. Z tego powodu serwer musi być dostępny publicznie, czyli musi mieć stały publiczny adres IP, czyli być widoczny dla klienta VPN, w przeciwieństwie do niego. Klient może mieć każdy adres IP, ważnym jest, aby „widział” serwer VPN. Ponadto w konfiguracji w trybie Routera, tworzona jest wirtualna podsieć pomiędzy fizycznymi sieciami prywatnymi, pierwszy adres w tej sieci jest przyznawany routerowi, a następne klientom. Oto najważniejsze podstawowe cechy i parametry OpenVPN, pozostałe parametry mogą się nieco różnic w zależności od konkretnej implementacji. Takie połączenie VPN można tworzyć zarówno pomiędzy odpowiednio skonfigurowanymi komputerami używając otwartego OpenVPN, jak i pomiędzy routerami i innymi urządzeniami z zaimplementowaną już taką funkcją.
Konfiguracja OpenVPN w OnCell G3150A-LTE
Poniżej przedstawię proces konfiguracji OpenVPN w tej bramce komórkowej w trybie Routera. OnCell będzie pełnił rolę serwera, więc będzie musiał posiadać stały publiczny adres IP. Konfigurację można podzielić na kilka etapów:
- Ustawienia sieciowe – „Network Settings” – Czyli ustawienie adresu IP, maski, i serwerów DNS
- Konfiguracja Interfejsu WAN (komórkowego) – kod pin karty SIM, rodzaj pasma, APN,
- Wygenerowanie certyfikatów Root CA oraz server CA w zakładce X.509 Certificate.
- Konfiguracja OpenVPN
- Server Settings – Ustawienia trybu tunelu VPN, ustawienia adresacji IP, typ szyfrowania, itd.
- Server Certificate Upload – importowanie wcześniej wygenerowanego certyfikatu
- Server User Management – Zarządzanie użytkownikami, login , hasło, podsieć
- Server To User Config – eksportowanie konfiguracji Open VPN do pliku.
- Import pobranej konfiguracji do klienta VPN. Może to być zarówno aplikacja kliencka lub inne urządzenie wspierające OpenVPN client. Należy też pamiętać, aby wpisać w tej konfiguracji publiczny adres IP OnCella (Serwera OpenVPN). Domyślnie OnCell generuje zera zamiast tego adresu. Adres ten należy wpisać przy parametrze "remote", pozostawiając liczbę oznaczającą nr. portu(domyślnie 1194)
A tak wygląda przykładowa topologia:
Poniżej konfiguracja krok po kroku:
Podsumowanie
OpenVPN to bardzo wygodna technologia w użyciu, gwarantująca bezpieczny szyfrowany zdalny dostęp do urządzeń i maszyn. Sama konfiguracja jak widać nie jest bardzo skomplikowana, dlatego bardzo polecamy taki sposób na zdalny dostęp do infrastruktury, która powinna być chroniona pod kątem cyberbezpieczeństwa.
Poniżej najważniejsze cechy OpenVPN:
+Dostępność aplikacji klienckich zarówno dla systemów Windows jak i Linux.
+Możliwość łączenia podsieci o różnej, lub takiej samej adresacji dzięki 2 trybom: Bridge i Router.
+Możliwość komunikacji pomiędzy klientami podłączonymi do serwera
+Bezpieczeństwo danych dzięki szyfrowaniu
+Kontrola nad klientami, którzy mogą się łączyć do serwera
-Nieco dłuższy proces konfiguracji
Zapraszam również do zapoznania się z pozostałymi częściami cyklu „Zdalny dostęp za pośrednictwem sieci komórkowej”:
Część 4 - OnCell Central Manager
Część 3 - OpenVPN w chmurze AWS
Źródła i ciekawe informacje na temat OpenVPN:
Wikipedia: https://en.wikipedia.org/wiki/OpenVPN
Instrukcja obsługi w systemach z rodziny Linux: https://community.openvpn.net/openvpn/wiki/HOWTO
Aplikacje klienckie: https://openvpn.net/index.php/open-source/downloads.html
Porównanie technologii VPN: https://www.bestvpn.com/vpn-encryption-the-complete-guide/
Strona produktu OnCell G3150A-LTE: https://www.elmark.com.pl/pl/sklep/moxa/Oncell_G3150A_LTE
Skontaktuj się ze specjalistą Elmark
Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!