Większość ludzi nie wie, co to jest przekazywanie portów i co może dla nich zrobić. Niedawno kupiłem kamerę Foscam IP, która łączy się z moją siecią bezprzewodową i rejestruje wszystko na moim urządzeniu Synology NAS (Network Attached Storage). W aparacie IP fajnie jest zobaczyć kamerę spoza lokalnej sieci, powiedz, kiedy wychodzisz z domu na dwa tygodnie wakacji i chcesz sprawdzić rzeczy.
Możesz wydać setki a nawet tysiące dolarów za wynajęcie firmy, która zainstaluje kamery i ustawi wszystko dla ciebie, albo możesz wydać 70 dolarów na Amazon za aparat i zrób to sam! Byłem mile zaskoczony moim zakupem i stosunkowo łatwą konfiguracją, która jest wymagana. Niestety, jeśli nie wiesz nic o przekierowaniu portów, nie możesz tego zrobić samodzielnie.
W tym artykule opiszę, czym jest przekierowanie portów i jak możesz ich użyć aby uzyskać dostęp do lokalnych urządzeń, takich jak kamery, urządzenia NAS, drukarki itp. spoza lokalnej sieci domowej lub biurowej. Kiedy już wiesz, jak przesłać port, możesz konfiguruj zdalny pulpit i uzyskać dostęp do komputera z dowolnego miejsca.
Zanim przejdziemy do przekierowania portów, najpierw musisz trochę zrozumieć, router wykonuje w twojej lokalnej sieci.
Internet, Router i NAT
Większość sieci domowych jest podobna do powyższego obrazu : masz urządzenia, takie jak smartfon, tablet, komputer, telewizor itp. podłączone bezpośrednio lub bezprzewodowo do routera, który jest podłączony do Internetu. Jeśli jednak się nad tym zastanowisz, masz tylko jeden adres IP dla swojego połączenia, który jest unikalny w całym Internecie, więc w jaki sposób wszystkie te urządzenia łączą się i używają tylko tego jednego adresu?
To tam twój router wchodzi. Twój router w zasadzie pozwala urządzeniom w sieci lokalnej rozmawiać z urządzeniami w Internecie za pośrednictwem NAT (Network Address Translation). Czym więc jest NAT? W tym wpisie nie będę wchodził w szczegóły, ale zasadniczo wszystkie adresy IP w twojej sieci lokalnej to adresy prywatnelub zastrzeżone. Oznacza to, że można z nich korzystać tylko w sieciach prywatnych. Przykład adresów prywatnych to 10.x.x.x, 192.x.x.x, itd.
Każde urządzenie w sieci otrzymuje przypisany przez router prywatny adres za pośrednictwem usługi o nazwie DHCP. Jest to w zasadzie protokół sieciowy, który konfiguruje urządzenia w sieci z adresami, aby mogły się ze sobą komunikować.
To jedna strona lub interfejs do routera. Drugi interfejs łączy się z Internetem. W tym interfejsie router ma adres IP przypisany przez dostawcę ISP, co jest unikalne. Wygląda to jak poniżej:
Jak widać, tutaj adres IP zaczyna się od czegoś zupełnie innego (99.108.x.x). Teraz jest tutaj, gdzie NAT wchodzi w grę. Jeśli komputer w twojej lokalnej sieci próbowałby wysyłać dane przez Internet, nic by się nie stało, ponieważ ruch nie jest routingiem. Wszelki ruch z adresu prywatnego zostaje usunięty z Internetu. Zamiast tego komputer wysyła dane do routera, który następnie "tłumaczy" te dane i wysyła je przez Internet. Zewnętrznie wygląda na to, że jeden komputer z jednym adresem IP wysyła wszystkie dane, nawet jeśli wiele komputerów i urządzeń znajduje się za routerem.
Aby wyjaśnić to nieco więcej, powiedzmy, że komputer wewnątrz twojej sieci chce się połączyć z komputerem w Internecie, tj. połączyć się z Google.com za pomocą przeglądarki internetowej. To żądanie zostanie przekazane routerowi, który jest domyślną bramą. Jeśli kiedykolwiek uruchomisz konfigurację IP dla swojego komputera, zobaczysz linię o nazwie Default Gateway lub Router. Domyślna brama to miejsce, w którym dane są wysyłane, gdy adres IP nie pasuje do niczego lokalnie.
Teraz router prosty pobiera te dane i zmienia adres źródłowy z lokalnego prywatnego adresu IP na publiczny adres IP routera . Wprowadza także do tabeli NAT, że ten komputer wysłał żądanie na konkretny port dla tego zasobu internetowego. Kiedy zewnętrzny serwer odpowie, wyśle dane z powrotem do routera. Router następnie sprawdzi względem swojej tabeli i zobaczy, który komputer zainicjował to połączenie. Następnie przekaże te dane do portu na lokalnym komputerze, który go zażądał.
Przekazywanie portów
To działa dobrze i elegancko w przeglądaniu sieci i wysyłaniu e-maili itp. ponieważ są one wstępnie zdefiniowane w klientach poczty e-mail i przeglądarkach internetowych oraz w ruchu wychodzącym. Na przykład ruch HTTP zawsze przechodzi przez port 80. Jest to zdefiniowane przez IANA i każdy musi go przestrzegać. SMTP, który jest używany do wysyłania wiadomości e-mail, domyślnie używa portu 25. Co jednak dzieje się, gdy ktoś próbuje połączyć się z routerem z Internetu na porcie 80, na przykład?
Domyślnie, jeśli nie masz skonfigurowania przekierowania portów, a twoja zapora jest włączona, to połączenie będzie po prostu zakończone. Jeśli chcesz uruchomić serwer sieciowy w sieci lokalnej, będziesz musiał przekazać ruch przychodzący na porcie 80 na lokalny adres IP komputera z serwerem WWW. Innym przykładem może być uruchamianie serwera gry w sieci lokalnej i chcesz, aby inni gracze mogli się przyłączyć. Serwer gry może akceptować nowe połączenia na porcie 55202, co oznacza, że musisz przekazywać dane do portu 55202 na routerze do adresu IP serwera gry w sieci lokalnej. Kamera IP może używać portu takiego jak 5000 dla połączeń przychodzących.
Jak widać powyżej, przekazywanie portów nie jest tak skomplikowane. Nadałeś mu nazwę (NetCam, RDP itd.), A następnie podaj numery portów Start i End. Zwykle te dwa są takie same. Oznacza to, że dane docierające do portu 5000 spoza sieci będą kierowane do portu 5000 na lokalnym komputerze wewnątrz twojej sieci. Po wybraniu numerów portów wystarczy wpisać adres IP urządzenia, które będzie oczekiwało danych na tym porcie.
Jeśli nie wiesz, jak to zrobić na routerze możesz przeczytać mój poprzedni post na jak przekazywać porty używając darmowego oprogramowania o nazwie Simple Port Forwarding.
Komplikacje
Gdyby to było tak łatwe, wszyscy by to robili to, prawda? Jest powód, dla którego ustawienie tego jest trochę trudne. Największym powodem jest to, że Twój unikalny publiczny adres IP przypisany do domowego połączenia z Internetem ciągle się zmienia! Jeśli więc spróbujesz połączyć się spoza sieci, może działać raz lub dwa razy, ale przestanie działać po zmianie publicznego adresu IP.
Tutaj musisz skonfigurować dynamiczny DNS. Umożliwi to utworzenie unikalnej nazwy domeny, która jest automatycznie aktualizowana o bieżący adres IP połączenia z Internetem za pomocą narzędzia, które należy pobrać i zainstalować na komputerze w sieci. Możesz przeczytać więcej o konfigurowanie dynamicznego DNS w poprzednim poście na OTT.
Innym problemem jest bezpieczeństwo. Domyślnie router jest jedynym urządzeniem wystawionym na działanie Internetu. Po rozpoczęciu przesyłania dalej te komputery są teraz narażone na ataki z Internetu na ten numer portu. Istnieje wiele złośliwych hakerów, którzy rutynowo skanują komputery w Internecie, szukając otwartych portów na komputerach. Musisz więc uważać na otwarte porty. Zawsze dobrze jest wybrać port powyżej 1024. W rzeczywistości wielu dostawców usług internetowych nie zezwala nawet na ruch przychodzący na portach takich jak 80 z powodu spamu i hakerów.
Konfigurując Foscam, miałem aby zmienić port z 80 na coś z zakresu 8000, aby móc się połączyć. Zadbałem również o to, aby umieścić hasło, aby żadna osoba podsłuchująca, znajdująca ten otwarty port na moim adresie IP, nie mogła nagle zobaczyć, co dzieje się w moim domu bez znajomości hasła.
Mam nadzieję, że ten artykuł sprawi, że poczujesz się bardziej komfortowo dzięki koncepcji przekazywania portów i tego, jak możesz z niej korzystać, aby uzyskać dostęp do urządzeń w sieci lokalnej z dowolnego miejsca na świecie. Ciesz się!