Zdalny dostęp do urządzeń i maszyn za pośrednictwem sieci komórkowej #1 Port Forwarding

19.06.2017 How to / Komunikacja przemysłowa
Zdalny dostęp
Wizerunek autora
Piotr Gocłowski Były pracownik Elmark Automatyka S.A.
Producent: MOXA
  • Zakłady przemysłowe
  • Woda i ścieki
  • Gaz i Paliwa

W różnych gałęziach przemysłu i branżach technicznych często zachodzi potrzeba zdalnego dostępu do maszyn i urządzeń znacznie oddalonych od miejsca skąd chcemy je kontrolować. Przykładowo, producent agregatów prądotwórczych chce mieć stały dostęp do stanu maszyn które serwisuje lub wynajmuje, np. żeby wiedzieć na jakim poziomie jest pobór energii, czy np. stan poziomu paliwa nie jest zbyt niski itp.. Innym przykładem jest np. chęć zdalnego dostępu do sterownika PLC, np. w celu przeprogramowania, odczytania stanu I/O czy np. wysterowania jego wyjściami. Czasami zachodzi też potrzeba żeby zdalnie monitorować parametry zakładu w siedzibie głównej, takie jak dane na temat ilości i jakości energii, zużycie mediów, temp. otoczenia, wilgotność. Podobnych przykładów można wyliczać długo, ale wpisem tym chciałbym przybliżyć nieco jakie są metody i terminologia przy zdalnym dostępie do maszyn i urządzeń za pośrednictwem sieci komórkowej.

Czym się różnią prywatny, stały publiczny i zmienny publiczny adres IP?

Każde urządzenie w sieci Ethernet posiada adres IP, który służy do jego identyfikacji. To na podstawie adresu IP pakiety danych przesyłane do właściwego urządzenia, musi więc być unikalny w danej podsieci. Adresy IP można podzielić na prywatne i publiczne. Prywatne adresy IP są stosowane tylko w sieciach lokalnych, czyli np. w domowych sieciach LAN, i nie da się z ich pomocą połączyć z urządzeniem z innej podsieci. Jako że powtarzają się one w różnych sieciach, to nie identyfikują one danego urządzanie bezwzględnie tak jak stały adres IP, dlatego do komunikacji w sieci WAN widoczne są pod publicznym adresem IP routera, który udostępnia im dostęp do Internetu. Technika ta, czyli zamiany adresu źródłowego na inny nosi nazwę NAT(Network Address Translation), a dokładniej SNAT (source NAT). Istnieje jeszcze inna odmiana translacji adresów a jest nią DNAT, czyli zamiana adresu docelowego w pakiecie IP, czyli popularnie nazywany Port forwarding. W dalszej części wpisu opiszę bardziej szczegółowo, na czym owa technika polega.

Co to jest DynDNS?

Dostawcy dostępu do Internetu często przydzielają publiczny, ale dynamiczny adres IP, dla standardowych użytkowników. Wiąże się to, z tym że co pewien czas adres ten się zmienia na inny publiczny adres IP, co utrudnia zdalny dostęp do takiego routera czy podsieci, ponieważ nowy adres jest losowy. Rozwiązaniem jest DynDNS, czyli Dynamic Domain Name Service, a po polsku Dynamiczna usługa nazw domenowych. Jak działa sam DNS w skrócie: Gdy wpisujemy w przeglądarkę adres http://example.com lub jakikolwiek inny adres domenowy to nasz komputer wysyła najpierw zapytanie do serwera DNS, „Jaki adres IP posiada domena http://example.com”, po czym otrzymujemy odpowiedź z konkretnym adresem IP, dzięki czemu wie, z jakim adresem IP musi się połączyć. Dzięki DynDNS korzystając z nazwy domenowej możemy dostać się do urządzenia, nie znając jego aktualnego adresu IP, oczywiście funkcja ta musi być wspierana przez dane urządzenia, a może być to router dostępowy, albo urządzenie w sieci lokalnej. Ale pozostaje jeszcze jeden krok, aby dostać się do urządzenia zdalnego, włączenie przekierowania portów – Port Forwarding, o czym napiszę poniżej.

Port Forwarding – przekierowanie portów

Pierwszym, najpopularniejszym i najprostszym sposobem, aby dostać się do urządzenia zdalnego, schowanego za routerem to właśnie przekierowanie portów, czyli DNAT. W różnych routerach wygląda to nieco inaczej ale generalnie w takim jednym przekierowaniu portu minimalnie musi zawierać się kilka parametrów:

  • Port publiczny (od strony Internetu), na którym router nasłuchuje, z którego ruch ma zostać przekierowany
  • Rodzaj tego portu: TCP lub UDP
  • Lokalny (prywatny) adres IP, na który ma zostać przekierowany ruch
  • Port TCP lub UDP, na którym to lokalne urządzenie nasłuchuje.

Trzeba też pamiętać, aby nie zajmować publicznego portu TCP, na którym już jakaś usługa nasłuchuje. Dobrą praktyką jest nieużywanie portów z zakresu od 0 do 1000 tzw. dobrze znanych portów (j. ang. well known ports). Jest jeszcze jeden warunek, aby można było się dostać do takiego urządzenia, musi ono mieć ustawiony parametr Gateway na lokalny adres IP routera. Jest to niezbędne przy połączeniu TCP, aby dane urządzenie „wiedziało” gdzie ma wysyłać pakiety do adresów spoza sieci lokalnej.

Co to jest APN?

W przypadku gdy dysponujemy routerem komórkowym, zasada działania jest taka sama jak w przypadku standardowego. Aby zdalnie dostać się do niego potrzebny jest stały lub zmienny publiczny adres IP. Najczęściej jednak karty SIM posiadają albo prywatny adres IP albo zmienny publiczny z wyłączonym dostępem z zewnątrz (sieć WAN). Sprawę rozwiązuje zakupienie karty SIM ze stałym lub zmiennym adresem IP. Aby skonfigurować taki router najczęściej wystarczy wpisać otrzymany od operatora APN w konfiguracji, czasami używane są jeszcze login i hasło do autentykacji. Gdy wykupimy usługę stałego adresu IP to wtedy zazwyczaj należy wpisać inny niż domyślny adres APN. APN (Access Point Name) to nazwa punktu dostępowego (routera) który pośredniczy pomiędzy siecią WAN a sieciami GSM, GPRS, 3G, 4G. W następnych częściach cyklu nieco szerzej opiszę czym jest APN.

Przykładowa konfiguracja:

Mamy już wszystkie potrzebne elementy układanki, teraz wystarczy wszystko skonfigurować i połączyć. W teście zdalnego dostępu wykorzystam analizator jakości  energii UMG 509 jako urządzenie, do którego chcę uzyskać zdalny dostęp, oraz bramę komórkową OnCell G3150A-LTE, która działa podobnie jak router, i będzie pośredniczyć w komunikacji, poniżej topologia:

Modem OnCell posiada stały publiczny adres IP, udostępnia on połączenie z Internetem analizatorowi energii UMG 509. Co do konfiguracji to w OnCellu został wpisany APN pozwalający na pobranie przez niego stałego publicznego adresu IP, została również dodana 1 reguła przekierowująca ruch z portu TCP 8080 na lokalny adres IP UMG 509 i port 80, co odpowiada jego web serwerowi. Poniżej zrzuty ekranu z konsoli webowej bramy:

 Wpisujemy publiczny adres IP a po dwukropku port TCP który wyznaczyliśmy w przekierowaniu, czyli: 178.183.abc.xyz:8080 i otrzymujemy dostęp do analizatora energii:

Należy pamiętać o zachowaniu ostrożności i ustawieniu silnego hasła w urządzeniach, które chcemy w ten sposób udostępniać, ponieważ automatycznie stają się one dostępne publicznie dla każdego w sieci, znającego publiczny adres IP oraz port. Zawsze należy aktualizować firmware w każdym urządzeniu sieciowym, a tym bardziej takim, które jest dostępne publiczne w sieci WAN. Najbezpieczniej używać jest przekierowania portów tylko dla urządzeń „do odczytu”, czyli takich, w których klient nie może modyfikować ustawień itp..

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

Część 2 - OnCell - VPN client

Część 1 - Port Forwarding

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!