Jest wiele pytań na temat „przekierowania portów” , ale wydaje się, że nie ma takiego, które jasno określa, co to jest i do czego służy. Więc:
Co to jest przekierowanie portów?
Do czego służy i dlaczego miałbym jej potrzebować?
router
port-forwarding
port
community-faq
James Mertz
źródło
źródło
Odpowiedzi:
Podstawy
Aby naprawdę wyjaśnić przekierowanie portów, najpierw musisz dowiedzieć się nieco więcej o tym, co robi router . Twój dostawca usług internetowych przypisuje jeden adres IP do twojego połączenia internetowego. Wszystkie komputery w Internecie potrzebują unikalnego adresu IP, ale masz w domu wiele komputerów i tylko jeden adres. Jak to działa?
Jeśli wiesz, co to jest i po prostu chcesz wiedzieć, jak to zrobić : http://portforward.com/ zawiera instrukcje ze zrzutami ekranu dla dosłownie setek różnych routerów. Dokumentacja jest tam ukryta za stroną reklamową dla ich automatycznego narzędzia portconfig. (Po prostu kliknij trochę, a go znajdziesz).
NAT - co to jest? Dlaczego go używamy?
Twój domowy router ma wbudowaną funkcję Network Address Translation lub NAT. W twojej sieci komputery mają adresy takie jak 192.168.1.100. Wszystkie adresy w zakresie 192.168. * (Lub w zakresie 10. *) są adresami „ prywatnymi ” lub „ zarezerwowanymi ” . Adresy te są oficjalnie przypisywane przez IANA do użytku w sieciach prywatnych. Router automatycznie przypisuje taki adres każdemu komputerowi podłączonemu przez DHCP . Te adresy to sposób, w jaki komputery w sieci komunikują się z routerem i między sobą.
Router ma oddzielny interfejs sieciowy, który łączy go z Internetem. Ten interfejs ma zupełnie inny adres, który jest przypisany przez twojego dostawcę usług internetowych. To jest jeden adres, o którym wspomniałem wcześniej, a router używa go do komunikowania się z innymi komputerami w Internecie. Komputery w twojej sieci mają nieprzenośne prywatne adresy IP, co oznacza, że jeśli wysyłają pakiety bezpośrednio do Internetu, pakiety zostaną automatycznie odrzucone (pakiety z prywatnymi adresami nie mogą przechodzić przez Internet ze względu na stabilność). Ale twój router ma adres z routingiem . Tłumaczenie adresu sieciowego, jak sugeruje jego nazwa, tłumaczy między tymi dwoma rodzajami adresów, umożliwiając pojawienie się wielu komputerów w twojej sieci w Internecie jako jeden komputer z jednym adresem.
Szczegóły
Chociaż może się to wydawać skomplikowane, w rzeczywistości jest to dość proste, jak robi to router. Za każdym razem, gdy komputer w sieci chce połączyć się z komputerem w Internecie, wysyła żądanie połączenia do routera (wie, że wysyła je do routera, ponieważ jego parametr Bramy domyślnej jest ustawiony na adres routera). Router następnie przyjmuje to żądanie połączenia („żądanie SYN” w TCP / IP) i zmienia adres źródłowy („adres zwrotny” lub adres zwrotny) i zmienia go z prywatnego adresu IP komputera na publiczny adres IP router, aby odpowiedź została wysłana do routera. Następnie odnotowuje w bazie danych (zwanej tabelą NAT ), że połączenie zostało zainicjowane, aby zapamiętać je później.
Gdy odpowiedź wróci z komputera zdalnego („SYN-ACK”), router sprawdza tablicę NAT i widzi, że połączenie z tym hostem na tym porcie zostało wcześniej zainicjowane przez prywatny komputer w sieci, zmienia miejsce docelowe adres na prywatny adres komputera i przekazuje go do sieci. W ten sposób pakiety mogą nadal przesyłać między sieciami, a router transparentnie zmienia adresy, aby działało. Po zakończeniu połączenia router po prostu usuwa je z tabeli NAT.
Lub pomyśl o tym w ten sposób
Może to być nieco łatwiejsze do zwizualizowania za pomocą metafory - powiedzmy, że jesteś spedytorem w USA współpracującym z chińskimi klientami. Muszą wysyłać paczki do wielu klientów w USA, ale ze względów celnych / formalności łatwiej jest wysyłać paczki tylko w jednym miejscu. Tak więc paczka przychodzi do ciebie od jednego z twoich klientów w Chinach (sieć prywatna, w tym przykładzie) z faktycznym miejscem docelowym gdzieś w USA (internet). Zmieniasz etykietę adresową na pudełku na adres amerykański (publiczny) i zmieniasz adres zwrotny na własny adres publiczny (ponieważ nie można go zwrócić bezpośrednio do Chin bez niedogodności dla klienta) i przekazujesz go pocztowej usłudze pocztowej . Jeśli klient zwróci produkt, przychodzi do Ciebie. Sprawdzasz to w swoich rejestrach i widzisz, z jakiej firmy w Chinach pochodzi,
Działa to świetnie, ale jest pewien problem. Co jeśli klient musi wysłać coś do firmy, powiedzmy przekaz pieniężny w zamian za coś? Lub powiedzmy, że komputer w Internecie inicjuje połączenie z routerem (żądanie SYN), powiedzmy serwerowi sieciowemu, który jest w sieci. List / pakiet ma tylko adres publiczny routera, więc router tak naprawdę nie wie, gdzie go wysłać! może być przeznaczony dla dowolnego komputera w sieci prywatnej lub dla żadnego z nich. Być może ten problem wystąpił, gdy dzwonisz na czyjś domowy telefon - kiedy dzwoni do ciebie, to nie jest problem, ale kiedy dzwonisz do niego, nie ma sposobu, aby wiedzieć, kto dzwoni, więc niewłaściwa osoba może odebrać.
Chociaż ludzie mogą to łatwo rozwiązać, jest to o wiele trudniejsze dla komputerów, ponieważ nie każdy komputer w sieci zna wszystkie inne komputery.
I wreszcie docieramy do Port Forwarding
Przekazywanie portów to sposób, w jaki rozwiązujemy ten problem: jest to sposób, aby powiedzieć routerowi, do którego komputera w sieci powinny być kierowane połączenia przychodzące. Mamy na to trzy różne sposoby:
Przykład
Spójrzmy na przykład użycia. Wiele gier wideo dla wielu graczy (na przykład Counter Strike) pozwala na uruchomienie serwera gier na komputerze, z którym inne osoby mogą się połączyć, aby grać z tobą. Twój komputer nie zna wszystkich osób, które chcą grać, więc nie może się z nimi połączyć - zamiast tego muszą wysyłać nowe żądania połączenia z komputera z Internetu.
Jeśli nie masz nic skonfigurowanego na routerze, otrzyma on te żądania połączenia, ale nie wiedziałby, który komputer w sieci ma serwer gry, więc po prostu je zignoruje (a ściślej wyśle z powrotem pakiet wskazujący, że nie może się połączyć). Na szczęście znasz numer portu, który będzie przy żądaniach połączenia z serwerem gry. Tak więc na routerze ustawiasz port z numerem portu oczekiwanym przez serwer gry (na przykład 27015) i adresem IP komputera z serwerem gier (na przykład 192.168.1.105).
Router będzie wiedział, że przekierowuje przychodzące żądania połączenia do 192.168.1.105 w sieci, a komputery na zewnątrz będą mogły się połączyć.
Innym przykładem może być sieć lokalna z dwoma komputerami, gdzie druga z IP 192.168.1.10 hostuje stronę internetową przy użyciu Apache. Dlatego router powinien przekazywać przychodzące żądania portu 80 do tego komputera. Korzystając z przekierowania portów, oba komputery mogą działać w tej samej sieci w tym samym czasie.
Gry wideo są prawdopodobnie najczęstszym miejscem, w którym codziennie użytkownicy spotykają się z przekierowaniem portów, chociaż większość współczesnych gier korzysta z UPnP, więc nie musisz tego robić ręcznie (zamiast tego jest to w pełni automatyczne). Musisz to zrobić zawsze, gdy chcesz mieć możliwość bezpośredniego połączenia z czymś w swojej sieci (zamiast przez jakiegoś pośrednika w Internecie). Może to obejmować uruchomienie własnego serwera internetowego lub połączenie za pomocą protokołu pulpitu zdalnego z jednym z komputerów.
Uwaga na temat bezpieczeństwa
Jedną z fajnych rzeczy w NAT jest to, że zapewnia ono pewne, niewymagające wysiłku, wbudowane zabezpieczenia. Wiele osób błąka się po Internecie w poszukiwaniu maszyn, które są podatne na ataki ... i robią to, próbując otworzyć połączenia z różnymi portami. Są to połączenia przychodzące, więc, jak omówiono powyżej, router je porzuci. Oznacza to, że w konfiguracji NAT tylko sam router jest narażony na ataki z wykorzystaniem połączeń przychodzących. Jest to dobra rzecz, ponieważ router jest znacznie prostszy (a przez to mniej podatny na ataki) niż komputer z pełnym systemem operacyjnym z dużą ilością oprogramowania. Należy zatem pamiętać, że DMZ, umieszczając komputer w sieci (ustawiając go jako miejsce docelowe DMZ), traci tę warstwę bezpieczeństwa dla tego komputera: jest on teraz całkowicie otwarty na połączenia przychodzące z Internetu, więc musisz go zabezpieczyć tak, jakby był bezpośrednio połączony. Oczywiście za każdym razem, gdy przekierowujesz port, komputer po stronie odbiorczej staje się podatny na ten konkretny port. Upewnij się więc, że korzystasz z dobrze skonfigurowanego oprogramowania.
źródło