DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chcesz czytać Dzwon?
Bez spamu

NAT (translacja adresów sieciowych) to technologia translacji adresów sieciowych. Technologia NAT rozwiązała największy problem związany z IPv4: do połowy lat 90. przestrzeń adresowa IPv4 mogła zostać całkowicie wyczerpana. Gdyby nie wynaleziono technologii NAT, rozwój Internetu uległby znacznemu spowolnieniu. Oczywiście dzisiaj powstała nowa wersja protokołu IP - IPv6. Ta wersja obsługuje ogromną liczbę adresów IP, więc istnienie NAT jest bez znaczenia. Jednak sporo organizacji nadal wykorzystuje w swojej pracy protokół IPv4, a pełne przejście na IPv6 nie nastąpi szybko. Dlatego warto studiować technologię NAT.

Translacja adresów sieciowych NAT umożliwia hostom IP innym niż białe komunikowanie się z innymi hostami przez Internet. Biały adres IP to zarejestrowany, unikalny, globalny adres IP w Internecie. Istnieją również szare adresy IP, które są używane w sieci prywatnej i nie są routowane w Internecie. Dlatego potrzebna jest technologia NAT, która zastąpi szary adres IP białym. W tabeli przedstawiono zakres „szarych adresów IP”.

Translacja NAT zastępuje prywatne adresy IP publicznymi zarejestrowanymi adresami IP w każdym pakiecie IP.

Wykonując translację NAT, router zmienia źródłowy adres IP w momencie, gdy pakiet opuszcza sieć prywatną. Router zmienia również adres docelowy każdego pakietu zwracanego do sieci prywatnej. Oprogramowanie Cisco IOS obsługuje kilka odmian translacji NAT:

  1. Statyczna translacja NAT — na każdy prywatny adres IP przypada jeden publiczny adres IP. Dzięki statycznej translacji router NAT po prostu ustanawia korespondencję jeden do jednego między prywatnym i zarejestrowanym adresem IP, w imieniu którego przemawia.
  2. Dynamiczna translacja NAT - translacja wewnętrznych adresów IP na zewnętrzne odbywa się dynamicznie. Tworzona jest pula możliwych publicznych adresów IP, a adresy IP są dynamicznie wybierane z tej puli do translacji.
  3. Translacja adresów portów PAT — skalowanie w celu obsługi wielu klientów z zaledwie kilkoma publicznymi adresami IP. PAT tłumaczy adres sieciowy w zależności od docelowego portu TCP/UDP.

Rozważmy bardziej szczegółowo każdy rodzaj transmisji.

Statyczne tłumaczenie NAT dokonuje dokładnego dopasowania między prywatnym i publicznym adresem IP. Spójrzmy na przykład.

Dostawca usług internetowych firmy przypisuje jej zarejestrowany numer sieci 200.1.1.0. W związku z tym router NAT musi sprawić, że ten adres prywatny będzie wyglądał tak, jakby znajdował się w sieci 200.1.1.0. W tym celu router zmienia adres IP nadawcy w pakietach, które są przekazywane od lewej do prawej, jak pokazano na rysunku. W tym przykładzie router zmienia prywatny adres IP 10.1.1.1 na publiczny adres IP 200.1.1.1. Inny adres prywatny 10.1.1.2 odpowiada adresowi publicznemu 200.1.1.2. Następnie spójrzmy na konfigurację statycznego NAT w Cisco.

Konfigurowanie statycznego tłumaczenia NAT na sprzęcie Cisco w porównaniu z innymi opcjami wymaga najmniej działań. W takim przypadku musisz ustalić korespondencję między lokalnym (prywatnym) a globalnym (publicznym) adresem IP. Ponadto musisz poinformować router, które interfejsy mają używać NAT, ponieważ może nie być włączony na wszystkich interfejsach. W szczególności router musi określić każdy interfejs i czy jest on wewnętrzny czy zewnętrzny.

Z diagramu wynika, że ​​użytkownik otrzymał od dostawcy adres 100.0.0.0 sieci klasy C. Cała ta sieć z maską 255.255.255.0 jest skonfigurowana na łączu szeregowym pomiędzy użytkownikiem a Internetem. Ponieważ jest to łącze typu punkt-punkt, tylko 2 z 254 prawidłowych (możliwych) adresów IP są używane w tej sieci.

Konfiguracja routera NAT_GW:

NAT_GW> włącz NAT_GW # skonfiguruj terminal - opis interfejsu - ustaw bramę domyślną - opis interfejsu - ustaw IP i maskę NAT_GW (config-if) #brak wyłączenia - włącz interfejs fizycznie NAT_GW (config-if) #exit NAT_GW (config) #ip nat wewnątrz źródła statyczne 192.168.1.2 100.0.0.1 NAT_GW (config) #ip nat wewnątrz źródła statyczne 192.168.1.3 100.0.0.2 - mapowanie adresu statycznego NAT_GW (config) #ip nat wewnątrz źródła statyczne 192.168.1.4 100.0.0.3 - mapowanie adresu statycznego

Mapowania statyczne tworzy się za pomocą polecenia ip nat wewnątrz statycznego źródła... Słowo kluczowe wewnątrz oznacza, że ​​NAT tłumaczy adresy hostów wewnątrz sieci. Słowo kluczowe źródło oznacza, że ​​NAT tłumaczy adresy IP w pakietach docierających do jego wewnętrznych interfejsów. Słowo kluczowe statyczny oznacza, że ​​te parametry definiują wpis statyczny, który nigdy nie zostanie usunięty z tabeli NAT z powodu upływu określonego czasu. Tworząc statyczne wpisy NAT, router musi wiedzieć, które interfejsy znajdują się wewnątrz, a które na zewnątrz. Polecenia interfejsu ip nat wewnątrz oraz ip nat na zewnątrz każdy interfejs jest odpowiednio zidentyfikowany.

Istnieją dwie komendy do przeglądania ważnych informacji o NAT. pokaż tłumaczenia ip nat, pokaż statystyki ip nat.

Pierwsze polecenie wyświetla trzy statyczne wpisy NAT utworzone w konfiguracji. Drugie polecenie wyświetla informacje statystyczne, takie jak liczba aktualnie aktywnych wpisów w tabeli translacji. Ta statystyka obejmuje również liczbę ponownych trafień (trafień), która zwiększa się o jeden dla każdego pakietu, dla którego NAT musi tłumaczyć adresy.

Przejdźmy do dynamiczna translacja adresów sieciowych NAT. Translacja dynamiczna tworzy pulę możliwych globalnych adresów wewnętrznych i definiuje kryterium dopasowania, aby określić, które wewnętrzne globalne adresy IP powinny być tłumaczone za pomocą NAT. Na przykład na poniższym diagramie ustawiono pulę pięciu globalnych adresów IP z zakresu 200.1.1.1 - 200.1.1.5. Translacja NAT jest również skonfigurowana do tłumaczenia wszystkich wewnętrznych adresów lokalnych, które zaczynają się od oktetów 10.1.1

Na konfigurowanie dynamicznej translacji NAT na sprzęcie Cisco nadal musisz zidentyfikować każdy interfejs, zarówno wewnętrzny, jak i zewnętrzny, ale nie musisz już konfigurować mapowania statycznego. Aby określić prywatne adresy IP do translacji, dynamiczna translacja NAT wykorzystuje listy kontroli dostępu (pisałem o nich wcześniej), a także określa pulę zarejestrowanych publicznych adresów IP, które zostaną z tego przydzielone. Tak więc algorytm konfigurowania transmisji dynamicznej:

  1. Skonfiguruj interfejsy, które będą w wewnętrznej podsieci za pomocą polecenia ip nat wewnątrz.
  2. Skonfiguruj interfejsy, które będą znajdować się w zewnętrznej podsieci za pomocą polecenia ip nat na zewnątrz.
  3. Skonfiguruj listę ACL dla pakietów przychodzących na wewnętrzne interfejsy, dla których ma być zastosowany NAT
  4. Skonfiguruj pulę zarejestrowanych publicznych adresów IP za pomocą polecenia trybu konfiguracji globalnej ip nat nazwa puli adres pierwszy ostatni adres maska ​​podsieci maska ​​podsieci.
  5. Włącz dynamiczną translację NAT, określając w poleceniu konfiguracji globalnej ip nat inside lista źródeł numer-acl pool-nazwa puli

Schemat będzie używany tak samo jak poprzednio. Nowa konfiguracja routera NAT_GW:

NAT_GW> włącz - przejdź do trybu zaawansowanego NAT_GW # skonfiguruj terminal - przejdź do trybu konfiguracji NAT_GW (config) #interfejs fa0 / 0 - konfiguracja interfejsu w kierunku sieci prywatnej NAT_GW (config-if) #opis LAN - opis interfejsu NAT_GW (config-if) #adres ip 192.168.1.1 255.255.255.0 - ustaw bramę domyślną NAT_GW (config-if) #brak wyłączenia - włącz interfejs fizycznie NAT_GW (config-if) #ip nat inside - konfiguracja interfejsu jako wewnętrznego NAT_GW (config-if) #exit NAT_GW (config) #interfejs fa0 / 1 - ustawienia interfejsu wobec dostawcy NAT_GW (config-if) #opis ISP - opis interfejsu NAT_GW (config-if) #adres ip 100.0.0.253 255.255.255.0 - ustaw IP i maskę NAT_GW (config-if) #brak wyłączenia - włącz interfejs fizycznie NAT_GW (config-if) #ip nat na zewnątrz - konfigurujemy interfejs jako zewnętrzny NAT_GW (config-if) #exit NAT_GW (config) #ip nat pool testPool 100.0.0.1 100.0.0.252 maska ​​sieci 255.255.255.0 - stwórz dynamiczną pulę NAT_GW (config) # lista dostępu 1 zezwolenie 192.168.1.1 0.0.0.255 - stworzyć listę dostępu 1, w której pozwalamy na rozgłaszanie adresów IP z podsieci 192.168.1.1/24 NAT_GW (config) #ip nat wewnątrz lista źródeł 1 pula testPool - włącz transmisję dynamiczną NAT_GW (config) #ip route 0.0.0.0 0.0.0.0 100.0.0.254 - trasa statyczna w kierunku dostawcy

Kolejnym rodzajem translacji jest translacja adresów portów PAT (Port Address Translation). O tym typie NAT opowiem w następnym artykule, kiedy połączymy lokalną podsieć z Internetem. Temat jest dość obszerny i ważny. PAT to najpopularniejszy typ NAT.


Zapisz się do naszego

NAT, czyli translacja adresów sieciowych, to sposób ponownego przypisania jednej przestrzeni adresowej do innej poprzez zmianę informacji o adresie sieciowym w protokole internetowym lub IP. Nagłówki pakietów zmieniają się, gdy są przesyłane przez urządzenia routingu. Ta metoda była pierwotnie używana do łatwiejszego przekierowywania ruchu w sieciach IP bez konieczności numerowania każdego hosta. Stał się ważnym i popularnym narzędziem do przydzielania i utrzymywania globalnej przestrzeni adresowej w obliczu dotkliwego niedoboru adresów IPv4.

Co to jest NAT?

Zastosowanie translacji adresów sieciowych polega na mapowaniu każdego adresu z jednej przestrzeni adresowej na adres znajdujący się w innej przestrzeni adresowej. Może to być konieczne w przypadku, gdy zmienił się dostawca usług, a użytkownik nie ma możliwości publicznego ogłoszenia nowej trasy do sieci. W obliczu wyczerpywania się globalnej przestrzeni adresowej, technologia NAT jest coraz częściej stosowana od końca lat 90-tych. Zazwyczaj ta technologia jest używana w połączeniu z szyfrowaniem IP. Szyfrowanie IP to metoda przesyłania wielu adresów IP w jedną przestrzeń. Ten mechanizm jest zaimplementowany w urządzeniu routingu, które używa tablic translacji stanowych do mapowania ukrytych adresów na pojedynczy adres IP. Przekierowuje również wszystkie wychodzące pakiety IP na wyjściu. Dlatego te pakiety są wyświetlane jako opuszczające urządzenie routujące. Odpowiedzi zwrotne są mapowane na oryginalny adres IP przy użyciu reguł przechowywanych w tabelach translacji. Z kolei tablice translacji są czyszczone po krótkim czasie, jeśli ruch nie aktualizuje swojego stanu. To jest podstawowy mechanizm NAT. Co to znaczy? Technologia ta umożliwia zorganizowanie komunikacji przez router tylko wtedy, gdy połączenie odbywa się w zaszyfrowanej sieci, ponieważ tworzy to tablice translacji. Wewnątrz takiej sieci przeglądarka internetowa może wyświetlać witrynę poza nią, ale będąc zainstalowanym poza nią, nie może otworzyć zasobu, który jest na niej hostowany. Większość dzisiejszych urządzeń NAT umożliwia administratorowi sieci konfigurowanie wpisów tablicy translacji do stałego użytku. Ta funkcja jest szczególnie często określana jako przekierowanie portów lub statyczna translacja NAT. Umożliwia on ruchowi wychodzącemu do sieci „zewnętrznej” dotarcie do wyznaczonych hostów w zaszyfrowanej sieci. Ze względu na popularność metody stosowanej do zachowania przestrzeni adresowej IPv4, termin NAT stał się niemal synonimem szyfrowania. Ponieważ translacja adresów sieciowych zmienia informacje adresowe pakietów IP, może to mieć poważne konsekwencje dla jakości połączenia. Wymaga więc bacznej uwagi przy wszystkich szczegółach realizacji. Sposoby użycia NAT różnią się między sobą specyficznym zachowaniem w różnych sytuacjach związanych z wpływem na ruch sieciowy.

Podstawowy NAT

Najprostszy typ NAT umożliwia translację adresów IP jeden do jednego. Głównym typem tej transmisji jest RFC-2663. W takim przypadku zmieniane są tylko adresy IP, a także suma kontrolna nagłówków IP. Podstawowe typy translacji mogą być używane do łączenia dwóch sieci IP, które mają niezgodne adresowanie.

Większość odmian NAT umożliwia mapowanie wielu prywatnych hostów na jeden publicznie wyznaczony adres IP. Sieć LAN w typowej konfiguracji wykorzystuje jeden z przydzielonych „prywatnych” adresów IP dla podsieci. W tej sieci router ma prywatny adres w przestrzeni. Ponadto router łączy się z Internetem za pomocą „adresu publicznego” przydzielonego przez dostawcę usług internetowych. Ponieważ ruch przechodzi z lokalnego Internetu, adres źródłowy w każdym pakiecie jest w locie tłumaczony z prywatnego na publiczny. Router śledzi również podstawowe dane o każdym aktywnym połączeniu. W szczególności dotyczy to informacji takich jak adres i port przeznaczenia. Gdy odpowiedź zostanie mu zwrócona, korzysta z danych połączenia, które są zapisywane podczas fazy wyjścia. Jest to konieczne w celu ustalenia prywatnego adresu sieci wewnętrznej, do której ma być skierowana odpowiedź. Główną zaletą tej funkcjonalności jest to, że jest praktycznym rozwiązaniem problemu uszczuplenia przestrzeni adresowej IPv4. Nawet duże sieci mogą być połączone z Internetem za pomocą jednego adresu IP. Wszystkie datagramy pakietowe w sieciach IP mają dwa adresy IP — adres źródłowy i adres docelowy. Pakiety przesyłane z sieci prywatnej do sieci publicznej będą miały adres źródłowy pakietu, który zmienia się podczas przejścia z sieci publicznej do sieci prywatnej. Możliwe są również bardziej złożone konfiguracje.

Cechy konfiguracji NAT

Konfiguracja NAT może być specyficzna. Mogą być wymagane dalsze modyfikacje, aby uniknąć kłopotów z tłumaczeniem zwracanych przesyłek. Większość ruchu internetowego przechodzi przez protokoły UDP i TCP. Ich numery są zmieniane tak, aby adresy IP i numery portów były zgodne podczas odsyłania danych. Protokoły, które nie są oparte na protokołach UDP lub TCP, wymagają różnych metod translacji. Zazwyczaj ICMP lub Internet Message Control Protocol koreluje przesyłane informacje z istniejącym połączeniem. Oznacza to, że powinny być wyświetlane przy użyciu tego samego adresu IP i numeru, który został pierwotnie ustawiony. Co należy wziąć pod uwagę? Skonfigurowanie NAT na routerze nie zapewnia łączności typu end-to-end. Z tego powodu takie routery nie mogą uczestniczyć w niektórych protokołach internetowych. Usługi wymagające inicjowania połączeń TCP z sieci zewnętrznej lub użytkowników bez protokołu mogą być po prostu niedostępne. Jeśli router NAT nie dokłada większych starań, aby obsługiwać takie protokoły, przychodzące pakiety mogą nigdy nie dotrzeć do miejsca przeznaczenia. Niektóre protokoły mogą być hostowane w tej samej emisji między uczestniczącymi hostami, czasami przy użyciu bramy warstwy aplikacji. Jednak połączenie nie zostanie nawiązane, gdy oba systemy zostaną odseparowane od Internetu za pomocą NAT. Ponadto użycie NAT komplikuje protokoły tunelowania, takie jak IPsec, ponieważ zmienia wartości w nagłówkach, które współdziałają z kontrolą integralności żądań.

NAT: istniejący problem

Podstawową zasadą Internetu jest łączność typu end-to-end. Istnieje od samego początku. Obecny stan sieci świadczy jedynie o tym, że NAT jest naruszeniem tej zasady. W środowisku zawodowym istnieją poważne obawy dotyczące powszechnego stosowania translacji adresów sieciowych w IPv6. Dlatego dziś pojawia się pytanie, w jaki sposób można wyeliminować ten problem. Ponieważ tablice stanów translacji w routerach NAT nie są z natury trwałe, urządzenia w sieci wewnętrznej tracą łączność IP w bardzo krótkim czasie. Nie wolno nam zapomnieć o tej okoliczności, gdy mówimy o tym, czym jest NAT w routerze. To znacznie skraca czas pracy kompaktowych urządzeń zasilanych z akumulatorów i baterii.

Skalowalność

NAT monitoruje również tylko porty, które mogą być szybko wyczerpane przez wewnętrzne aplikacje korzystające z wielu współbieżnych połączeń. Mogą to być żądania HTTP dotyczące stron z wieloma osadzonymi obiektami. Ten problem można złagodzić, śledząc adres IP w miejscach docelowych oprócz portu. W ten sposób jeden port lokalny może być współużytkowany przez dużą liczbę zdalnych hostów.

NAT: pewne komplikacje

Ponieważ wszystkie adresy wewnętrzne są zamaskowane jako jeden adres publiczny, nie jest możliwe, aby zewnętrzne hosty zainicjowały połączenie z określonym hostem wewnętrznym bez skonfigurowania specjalnej konfiguracji na zaporze. Taka konfiguracja powinna przekierowywać połączenia do określonego portu. Telefonia IP, wideokonferencje i podobne aplikacje muszą korzystać z technik przechodzenia NAT, aby działać prawidłowo. Port translacji Rapt i adres zwrotny umożliwiają hostowi, którego adres IP zmienia się od czasu do czasu, pozostawanie dostępnym jako serwer przy użyciu stałego adresu IP sieci domowej. Powinno to w zasadzie umożliwić konfiguracji serwera utrzymanie połączenia. Chociaż to rozwiązanie nie jest idealne, może być kolejnym przydatnym narzędziem w arsenale administratora sieci podczas rozwiązywania problemów związanych z konfiguracją NAT na routerze.

PAT lub translacja adresu portu

Port Address Translation to implementacja Cisco Rapt, która mapuje wiele prywatnych adresów IP na jeden publiczny. W ten sposób wiele adresów może być mapowanych jako adres, ponieważ każdy jest śledzony za pomocą numeru portu. PAT wykorzystuje unikalne wewnętrzne globalne numery portów źródłowych IP, aby rozróżnić kierunek przesyłania danych. Te liczby są 16-bitowymi liczbami całkowitymi. Całkowita liczba adresów wewnętrznych, które można przetłumaczyć na jeden adres zewnętrzny, może teoretycznie osiągnąć 65536. W rzeczywistości liczba portów, do których można przypisać pojedynczy adres IP, wynosi około 4000. PAT z reguły stara się zachować oryginał port "oryginalny"... Jeśli jest już używany, Port Address Translation przypisuje pierwszy dostępny numer portu, zaczynając od początku odpowiedniej grupy. Gdy nie ma dostępnych portów i istnieje więcej niż jeden zewnętrzny adres IP, PAT przechodzi do następnego, aby przydzielić port źródłowy. Ten proces będzie trwał do wyczerpania dostępnych danych. Usługa Cisco wyświetla adres i port. Łączy adres portu translacji i dane do tunelowania pakietów IPv4 przez wewnętrzną sieć IPv6. W rzeczywistości jest to alternatywna wersja Carrier Grade NAT i DS-Lite, która obsługuje translację portów i adresów IP. Pozwala to uniknąć problemów związanych z nawiązywaniem i utrzymywaniem połączenia. Zapewnia również mechanizm przejścia do wdrażania IPv6.

Metody tłumaczenia

Istnieje kilka głównych sposobów implementacji translacji adresu sieciowego i portu. Niektóre protokoły aplikacji wymagają określenia zewnętrznego adresu NAT używanego na drugim końcu połączenia. Często konieczne jest również zbadanie i sklasyfikowanie rodzaju transmisji. Zwykle dzieje się tak, ponieważ pożądane jest, aby między dwoma klientami za oddzielnymi translatorami NAT utworzyć bezpośredni kanał komunikacji. W tym celu opracowano specjalny protokół RFC 3489, który zapewnia proste przechodzenie UPD przez NATS. Dziś jest już uważany za przestarzały, ponieważ w dzisiejszych czasach takie metody są uważane za niewystarczające do prawidłowej oceny działania urządzeń. W 2008 r. opracowano RFC 5389, który ustandaryzował nowe metody. Ta specyfikacja nazywa się dziś przechodzeniem sesji. Jest to dedykowane narzędzie do NAT.

Nawiązanie dwustronnej komunikacji

Każdy pakiet UDP i TCP zawiera źródłowy adres IP i numer portu, a także współrzędne portu docelowego. Numer portu jest bardzo ważny dla uzyskania usług publicznych, takich jak funkcjonalność serwera pocztowego. Na przykład port 25 łączy się z serwerem pocztowym SMTP, a port 80 łączy się z oprogramowaniem serwera WWW. Niezbędny jest również adres IP serwera publicznego. Te parametry muszą być niezawodnie znane tym węzłom, które zamierzają nawiązać połączenie. Prywatne adresy IP są istotne tylko w sieciach lokalnych.

Zasada działania routera (routera)

Czytając ten artykuł, myślę, że wszyscy rozumieją, czym jest router i dlaczego go potrzebujesz, ale czy ktoś pomyślał o tym, jak to działa? W tym artykule postaram się wyjaśnić podstawowe zasady działania routera w najbardziej przystępnym języku. Ten artykuł przyda się zarówno administratorom systemu, jak i zwykłym użytkownikom.

Główną funkcją działającą na każdym routerze jest NAT

NAT- Translacja adresów sieciowych służy do zastępowania adresów IP. W sieciach lokalnych używane są głównie adresy typu 192.168.1.XXX lub podobne, co stwarza problem routingu w globalnym Internecie, ponieważ adresy IP w sieci nie powinny być duplikowane. Rozwiązaniem tego problemu jest NAT - komputery w sieci lokalnej łączą się z lokalnym interfejsem routera, otrzymują od niego adresy IP i bramę (router pełni rolę bramy), a interfejs WAN routera łączy się z Internetem .

Przyjrzyjmy się teraz zasadzie translacji NAT:

  • Żądanie jest wysyłane z dowolnego komputera w sieci lokalnej, na przykład próbujesz uzyskać dostęp do dowolnej witryny - komputer wysyła to żądanie na adres bramy, czyli naszego routera;
  • Router po otrzymaniu tego żądania rejestruje twój komputer jako inicjator połączenia, po czym tworzona jest kopia twojego pakietu i wysyłana na adres docelowy, ale w imieniu routera, wraz z jego adresem IP i twoim pakietem jest po prostu zniszczony;
  • Serwer, do którego zostało wysłane żądanie, przetwarza je i wysyła odpowiedź, oczywiście na adres routera. A router już na to czekał, ponieważ utworzył rekord, że odpowiedź powinna przyjść na żądanie twojego komputera i wysyła go do twojego komputera. Jak widać, według tego schematu tylko komputer z sieci lokalnej może być inicjatorem połączenia, a odpowiedź z serwera dotrze do komputera tylko wtedy, gdy router na nią czeka (odpowiedź na żądanie) . Innymi słowy, wszystkie próby połączenia z zewnątrz zatrzymają się na routerze i zakończą się powodzeniem tylko wtedy, gdy router udostępni zasób na żądanym porcie lub ma skonfigurowane reguły Port Forwarding, o których teraz będziemy mówić.

Przekierowanie portów

Przekierowanie portów- jest to zasadniczo to samo, co NAT, ale w innym kierunku, a zatem tylko statyczny NAT, czyli pewne żądania tylko do określonych komputerów, ponieważ w sieci globalnej nie mogą znać adresów IP za routerem. Na przykład utworzyłeś serwer FTP lub HTTP na swoim komputerze i chcesz zapewnić dostęp do tych zasobów, w tym celu musisz zarejestrować tę regułę w routerze, co wskaże, że wszystkie pakiety przychodzące na żądany port (21 lub 80 w naszym przypadku) zostaną przesłane na adres IP naszego komputera na określony port (port można zmienić).

NAT — DMZ

NAT — DMZ- jest to absolutnie to samo co Port Forwarding, ale z tą różnicą, że nie trzeba pisać reguły dla każdego portu, wystarczy ustawić NAT - DMZ, który prześle wszystkie przychodzące żądania do routera WAN do żądanego komputer. Oczywiście nie ma już możliwości zmiany portów.

Rozgromienie

Aby uprościć ideę tego, co to jest, możemy powiedzieć, że jest to samo co NAT, ale tylko w obu kierunkach. W tym schemacie router musi mieć więcej niż 2 interfejsy LAN (nie porty, ale interfejsy), z różnymi przestrzeniami adresowymi, na przykład jeden interfejs IP ma 192.168.0.1, a drugi 192.168.1.1. W konsekwencji komputery w jednej sieci otrzymają adres IP typu 192.168.0.XXX, aw innej sieci 192.168.0.XXX, a ich bramy będą miały odpowiednio adresy 192.168.0.1 i 192.168.1.1. W ten sposób uzyskujesz routing dwukierunkowy.

Nie zapomnij wyjść

Ok, zapomnijmy na chwilę o tym tekście.
Ogólnie rzecz biorąc, listy dostępu są różne:

Standard
- Przedłużony
- Dynamiczny
- Refleksyjny
- Fazy czasu

Dziś skupimy naszą uwagę na dwóch pierwszych, ao wszystkich z nich można przeczytać bardziej szczegółowo na tsiska.

Ruch przychodzący i wychodzący

Na początek wymyślmy jedną rzecz. Co oznacza ruch przychodzący i wychodzący? Będziemy tego potrzebować w przyszłości. Ruch przychodzący to ten, który dociera do interfejsu z zewnątrz.

Wychodzące to takie, które jest wysyłane z interfejsu na zewnątrz.

Możesz zastosować listę dostępu albo do ruchu przychodzącego, wtedy niechciane pakiety nie dotrą nawet do routera i odpowiednio dalej do sieci lub do wychodzącego, wtedy pakiety docierają do routera, przetwarzane przez niego, docierają do interfejsu docelowego i tylko na nią upuść.

Standardowa lista kontroli dostępu sprawdza tylko adres nadawcy. Rozszerzony — adres nadawcy, adres odbiorcy i port. Zaleca się ustawienie standardowych list ACL jak najbliżej odbiorcy (aby nie ograniczać więcej niż to konieczne), a rozszerzonych list bliżej nadawcy (aby jak najszybciej odrzucić niechciany ruch).

Ćwiczyć

Przejdźmy od razu do praktyki. Do czego ograniczylibyśmy to w naszej małej sieci Lift mi Up?

A) serwer WWW. Zezwól wszystkim na dostęp na porcie TCP 80 (protokół HTTP). Dla urządzenia z którego będzie realizowana kontrola (mamy administratora) trzeba otworzyć telnet i ftp, ale damy do niego pełny dostęp. Cała reszta zgaśnie.

B) Serwer plików. Musimy sprowadzić do niego mieszkańców Lift mi Ap przez porty dla folderów współdzielonych, a całą resztę przez FTP.

C) Serwer pocztowy. Tutaj mamy uruchomione SMTP i POP3, czyli porty TCP 25 i 110. Otwieramy również dostęp kontrolny dla administratora. Blokujemy innych.

D) Dla przyszłego serwera DNS musisz otworzyć port UDP 53

E) Zezwalaj na wiadomości ICMP do sieci serwerów

E) Ponieważ mamy sieć Inne dla wszystkich osób niebędących stronami, które nie weszły do ​​FEO, VET i Księgowości, ograniczymy je wszystkie i damy tylko pewien dostęp (w tym nam i administratorowi)

g) Ponownie, tylko administrator powinien mieć dostęp do sieci kontrolnej i oczywiście jego ukochanej.

G) Nie będziemy budować przeszkód w komunikacji między pracownikami działów.

a) Dostęp do serwera WEB

Tutaj mamy politykę, która zabrania wszystkiego, co nie jest dozwolone. Dlatego teraz musimy coś otworzyć, a wszystko inne zamknąć.
Ponieważ chronimy sieć serwerów, zawiesimy również listę na interfejsie idącym w ich kierunku, czyli na FE0 / 0.3.Pytanie tylko na w lub w na zewnątrz czy musimy to zrobić? Jeśli nie chcemy wysyłać pakietów do serwerów, które są już na routerze, to będzie to ruch wychodzący. Oznacza to, że adresy docelowe (docelowe) będą znajdować się w sieci serwerów (z których wybierzemy, do którego serwera będzie kierowany ruch), a adresy źródłowe (źródłowe) mogą być dowolne - zarówno z naszej sieci firmowej, jak i z Internetu .
Jeszcze jedna uwaga: skoro będziemy filtrować według adresu docelowego (niektóre reguły dla serwera WEB, inne dla serwera poczty), to potrzebujemy rozszerzonej listy kontroli dostępu, tylko ona nam na to pozwala.

Reguły na liście dostępu są sprawdzane w kolejności od góry do dołu aż do pierwszego meczu. Gdy tylko jedna z reguł zadziała, niezależnie od tego, czy jest to przepuszczanie, czy odrzucanie, sprawdzanie zatrzymuje się, a przetwarzanie ruchu jest oparte na wyzwalanej regule.
Oznacza to, że jeśli chcemy chronić serwer WEB, to przede wszystkim musimy dać uprawnienia, ponieważ jeśli konfigurujemy w pierwszej linii nie zezwalaj na jakiekolwiek ip- wtedy zawsze będzie działać, a ruch w ogóle nie pójdzie. Każdy- jest to specjalne słowo, które oznacza adres sieciowy i maskę powrotu 0.0.0.0 0.0.0.0 i oznacza, że ​​absolutnie wszystkie węzły z dowolnych sieci podlegają regule. Innym szczególnym słowem jest gospodarz- oznacza maskę 255.255.255.255 - czyli dokładnie jeden podany adres.
Tak więc pierwsza zasada: zezwól na dostęp wszystkim na porcie 80


msk-arbat-gw1 (config-ext-nacl) # uwaga WEB
dowolny host 172.16.0.2 eq 80

Pozwalamy ( pozwolić) Ruch TCP z dowolnego hosta ( każdy) do hostowania ( gospodarz- dokładnie jeden adres) 172.16.0.2, adresowany do 80. portu.
Próbujemy zawiesić tę listę dostępu na interfejsie FE0/0.3:

msk-arbat-gw1 (config-subif) # ip access-group Serwery-out na zewnątrz

Na każdym z naszych podłączonych komputerów sprawdzamy:

Jak widać strona się otwiera, ale co z pingiem?

A więc z dowolnego innego węzła?

Faktem jest, że po wszystkich regułach w cisk ACL, dorozumiana nie zezwalaj na jakiekolwiek ip(niejawna odmowa). Co to dla nas oznacza? Każdy pakiet, który opuszcza interfejs i nie pasuje do żadnej z reguł na liście ACL, jest niejawnie odrzucany i odrzucany. To znaczy przynajmniej ping, przynajmniej ftp, przynajmniej nic tutaj nie zadziała.

Idźmy dalej: należy dać pełny dostęp do komputera, z którego będzie prowadzona kontrola. Będzie to komputer naszego administratora o adresie 172.16.6.66 z sieci Inna.
Każda nowa reguła jest automatycznie dodawana na koniec listy, jeśli już istnieje:

msk-arbat-gw1 (konfiguracja) #
msk-arbat-gw1 (config-ext-nacl) # zezwolenie host tcp 172.16.6.66 host 172.16.0.2 zakres 20 ftp
msk-arbat-gw1 (config-ext-nacl) # zezwolenie host tcp 172.16.6.66 host 172.16.0.2 eq telnet

To wszystko. Sprawdzamy z żądanego węzła (ponieważ telnet nie jest obsługiwany przez serwery w RT, sprawdzamy na FTP):

Oznacza to, że wiadomość FTP dotarła do routera i powinna opuścić interfejs FE0/0.3. Router sprawdza i widzi, że pakiet jest zgodny z dodaną przez nas regułą i przekazuje go.

I z obcego węzła

Pakiet FTP nie jest zgodny z żadną regułą, z wyjątkiem niejawnego odmowy ip any any i jest odrzucany.

b) Dostęp do serwera plików

Tutaj należałoby przede wszystkim zdecydować, kto będzie „mieszkańcem”, komu należy zapewnić dostęp. Oczywiście są to ci, którzy mają adres z sieci 172.16.0.0/16 - tylko oni otrzymają dostęp.
Teraz z udostępnionymi folderami. W większości nowoczesnych systemów jest już do tego wykorzystywany protokół SMB, który wymaga portu TCP 445. W starszych wersjach używany był NetBios, który był zasilany przez trzy porty: UDP 137 i 138 oraz TCP 139. Po uzgodnieniu z naszym administratorem skonfiguruje port 445 (choć sprawdź w ramach RT, to oczywiście nie zadziała). Ale poza tym potrzebujemy portów dla FTP - 20, 21 i nie tylko dla hostów wewnętrznych, ale także dla połączeń z Internetu:
msk-arbat-gw1 (config) # ip access-list rozszerzona Servers-out
msk-arbat-gw1 (config-ext-nacl) # allow tcp 172.16.0.0 0.0.255.255 gospodarz 172.16.0.3 równ. 445
msk-arbat-gw1 (config-ext-nacl) # allow tcp każdy host 172.16.0.3 zakres 20 21

Tutaj ponownie zastosowaliśmy konstrukcję zasięg 20 21- w celu określenia kilku portów w jednej linii. W przypadku FTP, ogólnie rzecz biorąc, tylko port 21 nie wystarczy. Faktem jest, że jeśli otworzysz tylko to, nastąpi autoryzacja, ale transfer plików nie.

0.0.255.255 - maska ​​blankietowa. Porozmawiamy trochę później o tym, co to jest.

c) Dostęp do serwera pocztowego

Wciąż rozwijamy praktykę - teraz z serwerem pocztowym. W ramach tej samej listy dostępu dodajemy nowe rekordy, których potrzebujemy.
Zamiast numerów portów dla powszechnie używanych protokołów możesz podać ich nazwy:
msk-arbat-gw1 (config) # ip access-list rozszerzona Servers-out
msk-arbat-gw1 (config-ext-nacl) #permit tcp dowolny host 172.16.0.4 eq pop3
msk-arbat-gw1 (config-ext-nacl) #permit tcp dowolny host 172.16.0.4 eq smtp

d) serwer DNS

msk-arbat-gw1 (config) # ip access-list rozszerzona Servers-out
msk-arbat-gw1 (config-ext-nacl) # zezwolenie udp 172.16.0.0 0.0.255.255 host 172.16.0.5 równ 53

e) ICMP

Pozostaje naprawić sytuację pingowania. Nie ma nic złego w dodawaniu reguł na końcu listy, ale jakoś estetycznie będzie je widzieć na początku.
Używamy do tego prostego kodu. Aby to zrobić, możesz na przykład użyć edytora tekstu. Skopiuj tam fragment ACL z pokazu i dodaj następujące wiersze:
brak rozszerzonej listy dostępu ip do serwerów
ip access-list rozszerzona Servers-out
zezwól na jakiekolwiek icmp
uwaga WEB



uwaga PLIK


uwaga POCZTA


uwaga DNS

W pierwszym wierszu usuwamy istniejącą listę, następnie tworzymy ją od nowa i wypisujemy wszystkie nowe reguły w potrzebnej kolejności. Za pomocą polecenia w trzeciej linii pozwoliliśmy, aby wszystkie pakiety ICMP przechodziły z dowolnego hosta do dowolnego hosta.

Następnie po prostu skopiuj wszystko zbiorczo i wklej do konsoli. Interfejs interpretuje każdą linię jako oddzielne polecenie i wykonuje je. W ten sposób zastąpiliśmy starą listę nową.
Sprawdzamy, czy jest ping:

Doskonale.

Ten kod jest dobry do początkowej konfiguracji lub jeśli dokładnie wiesz, co robisz. W sieci produkcyjnej, gdy zdalnie konfigurujesz listę ACL, ryzykujesz, że zostaniesz bez dostępu do konfigurowalnego sprzętu.

Aby wstawić regułę na początku lub w dowolnym miejscu, możesz użyć tej sztuczki:
ip access-list rozszerzona Servers-out
1 zezwól na icmp any

Każda reguła na liście jest ponumerowana pewnym krokiem, a jeśli umieścisz liczbę przed słowem zezwalaj / odmów, reguła zostanie dodana nie do końca, ale do miejsca, którego potrzebujesz. Niestety ta funkcja nie działa w RT.
Jeśli zajdzie taka potrzeba (wszystkie kolejne cyfry pomiędzy regułami są zajęte), zawsze możesz przenumerować reguły (w tym przykładzie numer pierwszej reguły to 10 (pierwsza cyfra), a przyrost wynosi 10):
ip access-list resequence Serwery-out 10 10

W rezultacie lista dostępu w sieci serwerów będzie wyglądać tak:
ip access-list rozszerzona Servers-out
zezwól na jakiekolwiek icmp
uwaga WEB
zezwalaj na tcp dowolny host 172.16.0.2 eq www
zezwól host tcp 172.16.6.66 host 172.16.0.2 zasięg 20 ftp
zezwól host tcp 172.16.6.66 host 172.16.0.2 równ. telnet
uwaga PLIK
zezwolenie tcp 172.16.0.0 0.0.255.255 host 172.16.0.3 równ. 445
zezwalaj na tcp dowolny host 172.16.0.3 zakres 20 21
uwaga POCZTA
zezwalaj na tcp dowolny host 172.16.0.4 eq pop3
zezwól tcp na dowolny host 172.16.0.4 eq smtp
uwaga DNS
zezwolenie udp 172.16.0.0 0.0.255.255 host 172.16.0.5 eq 53

Teraz nasz administrator ma dostęp tylko do serwera WEB. Daj mu pełny dostęp do całej sieci. To pierwsze zadanie domowe.

f) Prawa użytkowników z Innej sieci

Do tej pory potrzebowaliśmy nie wchodzić ktoś gdzieś, więc zwróciliśmy uwagę na adres docelowy i zawiesiliśmy listę dostępu dla ruchu wychodzącego z interfejsu.

Teraz potrzebujemy nie wypuszczać: Żadne żądania z komputerów w innej sieci nie powinny wykraczać poza granice. No oczywiście, z wyjątkiem tych, na które konkretnie zezwalamy.

msk-arbat-gw1 (config) # rozszerzona lista dostępu ip Inne-w

msk-arbat-gw1 (config-ext-nacl) # allow IP host 172.16.6.61 dowolna



Tutaj nie mogliśmy najpierw odmówić wszystkim, a potem dopuścić elitę, bo absolutnie wszystkie pakiety podlegałyby regule nie zezwalaj na jakiekolwiek ip oraz pozwolić w ogóle nie zadziała.
Stosujemy się do interfejsu. Tym razem przy wejściu:
msk-arbat-gw1 (config) #int fa0 / 0.104
msk-arbat-gw1 (config-subif) #ip access-group Inne-w w

oznacza to, że wszystkie pakiety IP z hosta o adresie 172.16.6.61 lub 172.16.6.66 mogą być wysyłane tam, gdzie są przeznaczone. Dlaczego tutaj również używamy rozszerzonej listy dostępu? W końcu wydawałoby się, że sprawdzamy tylko adres nadawcy. Ponieważ daliśmy administratorowi pełny dostęp, ale np. gość firmy Lift mi Up, który dostanie się do tej samej sieci, nie ma absolutnie żadnego dostępu do niczego poza Internetem.

g) Sieć kontrolna

Nic skomplikowanego. Reguła będzie wyglądać tak:
msk-arbat-gw1 (config) # rozszerzona lista dostępu ip Zarządzanie-out
msk-arbat-gw1 (config-ext-nacl) # uwaga IAM
msk-arbat-gw1 (config-ext-nacl) # zezwolenie hosta IP 172.16.6.61 172.16.1.0 0.0.0.255
msk-arbat-gw1 (config-ext-nacl) # uwaga ADMIN
msk-arbat-gw1 (config-ext-nacl) # zezwolenie hosta IP 172.16.6.66 172.16.1.0 0.0.0.255

Ta lista ACL jest stosowana do wyjścia na interfejsie FE 0/0.2:
msk-arbat-gw1 (config) # int fa0 / 0,2
msk-arbat-gw1 (config-subif) #ip access-group Wyjście zarządzania

g) Nigdy więcej ograniczeń

Gotowy

Maska i maska ​​odwrócona

Do tej pory bez wyjaśnienia podawaliśmy dziwny parametr w postaci 0.0.255.255, który podejrzanie przypomina maskę podsieci.
Trochę trudne do zrozumienia, ale to właśnie ta - odwrócona maska ​​- jest używana do określenia hostów, które będą pasować do reguły.
Aby zrozumieć, czym jest maska ​​odwrócona, musisz wiedzieć, czym jest zwykła maska.

Zacznijmy od najprostszego przykładu.

Zwykła sieć z 256 adresami: np. 172.16.5.0/24. Co oznacza ten wpis?
A to oznacza dokładnie to, co następuje

Adres IP. Notacja dziesiętna 172 16 5 0
Adres IP. Notacja binarna 10101100 00010000 00000101 00000000
11111111 11111111 11111111 00000000
255 255 255 0

Adres IP to 32-bitowy parametr podzielony na 4 części, do których przywykłeś w notacji dziesiętnej.
Maska podsieci ma również długość 32 bity - jest to właściwie szablon, szablon, do którego należy adres podsieci. Tam, gdzie w masce są jedynki, wartość nie może się zmienić, to znaczy część 172.16.5 jest całkowicie niezmieniona i będzie taka sama dla wszystkich hostów w tej podsieci, z wyjątkiem tej, w której zera są różne.
Oznacza to, że w naszym przykładzie 172.16.5.0/24 to adres sieci, a hostami będzie 172.16.5.1-172.16.5.254 (ostatnie 255 jest rozgłaszane), ponieważ 00000001 to 1, a 11111110 to 254 (mówimy o ostatnim oktecie adresu ). /24 oznacza, że ​​długość maski to 24 bity, czyli mamy 24 jedynki - część niezmienioną i 8 zer.
Inny przypadek jest wtedy, gdy mamy maskę, na przykład 30 bitów, a nie 24.
Na przykład 172.16.2.4/30. Napiszmy to tak:

Adres IP. Notacja dziesiętna 172 16 2 4
Adres IP. Notacja binarna 10101100 00010000 00000010 00000100
Maska podsieci. Notacja binarna 11111111 11111111 11111111 11111100
Maska podsieci. Notacja dziesiętna 255 255 255 252

Jak widać, tylko dwa ostatnie bity mogą się zmienić dla tej podsieci. Ostatni oktet może mieć następujące 4 wartości:
00000100 - adres podsieci (4 w postaci dziesiętnej)
00000101 - adres węzła (5)
00000110 - adres węzła (6)
00000111 - nadawanie (7)
Wszystko poza tym jest już inną podsiecią

Oznacza to, że teraz powinno być dla ciebie trochę jasne, że maska ​​podsieci jest sekwencją 32 bitów, gdzie najpierw są jedynki, co oznacza adres podsieci, a następnie zera, co oznacza adres hosta. W takim przypadku naprzemienne zer i jedynek w masce nie mogą się zmieniać. Oznacza to, że maska ​​to 111111111.11100000.11110111.00000000 niemożliwy

Co to jest symbol wieloznaczny?
Dla zdecydowanej większości administratorów i niektórych inżynierów jest to nic innego jak odwrócenie zwykłej maski. Oznacza to, że zera najpierw ustawiają adres części, która musi pasować, a jedynki, przeciwnie, część wolną.
Oznacza to, że w pierwszym przykładzie, który wzięliśmy, jeśli chcesz odfiltrować wszystkie hosty z podsieci 172.16.5.0/24, ustaw regułę na liście dostępu:
…. 172.16.5.0 0.0.0.255
Bo odwrócona maska ​​wyglądałaby tak:

00000000.00000000.00000000.11111111

W drugim przykładzie z siecią 172.16.2.4/30 maska ​​odwrotna będzie wyglądać tak: 30 zer i dwa jedyne:

Odwrócona maska. Notacja binarna 00000000 00000000 00000000 00000011
Odwrócona maska. Notacja dziesiętna 0 0 0 3

W związku z tym parametr na liście dostępu będzie wyglądał tak:
…. 172.16.2.4 0.0.0.3
Później, gdy zjesz psa przy błędnych obliczeniach masek i masek odwrotnych, zapamiętasz najczęściej używane liczby, liczbę hostów w danej masce, zrozumiesz, że w opisanych sytuacjach uzyskuje się ostatni oktet maski odwrotnej odejmując ostatni oktet zwykłej maski od 255 (255-252 = 3) itd. W międzyczasie musisz ciężko pracować i liczyć)

Ale w rzeczywistości maska ​​odwrotna jest nieco bogatszym narzędziem, tutaj możesz łączyć adresy w tej samej podsieci, a nawet łączyć podsieci, ale główna różnica polega na tym, że możesz naprzemiennie zmieniać zera i jedynki. Pozwala to na przykład na filtrowanie określonego hosta (lub grupy) w wielu podsieciach za pomocą jednej linii.

Przykład 1

Dany: sieć 172.16.16.0/24
Niezbędny: odfiltrować pierwsze 64 adresy (172.16.16.0-172.16.16.63)
Rozwiązanie: 172.16.16.0 0.0.0.63

Przykład 2

Dany: sieci 172.16.16.0/24 i 172.16.17.0/24
Niezbędny: filtruj adresy z obu sieci
Rozwiązanie: 172.16.16.0 0.0.1.255

Przykład 3

Dany: Sieci 172.16.0.0-172.16.255.0
Niezbędny: filtruj hosta o adresie 4 ze wszystkich podsieci
Rozwiązanie: 172.16.16.0 0.0.255.4

ACL działa na zdjęciach

Sieć hipotetyczna:

1) Na routerze RT1 na interfejsie FE0 / 1 wszystko jest dozwolone, z wyjątkiem ICMP.

2) Na routerze RT2, SSH i TELNET są wyłączone na interfejsie FE0/1.

Testy
możliwe do kliknięcia
1) Ping z komputera PC1 do serwera 1

2) TELNET z PC1 na serwer1

3) SSH z PC1 do Server2

4) Pinguj z serwera 2 na PC1

Dodatki

1) Reguły dla ruchu wychodzącego (out) nie będą filtrować ruchu samego urządzenia. Oznacza to, że jeśli chcesz zabronić dostępu samej tsiska gdzieś, będziesz musiał filtrować ruch przychodzący na tym interfejsie (ruch powrotny, z którego dostęp powinien być zabroniony).

2) C ACL powinien być bardziej ostrożny. Z drobnym błędem w regule, złą kolejnością konfiguracji, a nawet źle przemyślaną listą, możesz zostać bez dostępu do urządzenia.
Na przykład chcesz zablokować dostęp w dowolnym miejscu dla sieci 172.16.6.0/24, z wyjątkiem adresu 172.16.6.61, i ustawić reguły w ten sposób:

odrzuć adres IP 172.16.6.0 0.0.0.255 dowolny
zezwól na hosta IP 172.16.6.61 dowolny

Jak tylko zastosujesz ACL do interfejsu, natychmiast tracisz dostęp do routera, ponieważ podlegasz pierwszej regule, a drugiej nawet nie sprawdzasz.
Drugą nieprzyjemną sytuacją, która może Ci się przydarzyć, jest to, że ruch, który nie powinien był zostać objęty listą ACL, będzie.
Wyobraź sobie taką sytuację: w naszej serwerowni mamy pasywny serwer FTP. Aby uzyskać do niego dostęp, otworzyłeś port 21 w ACL Serwery-out... Po nawiązaniu początkowego połączenia serwer FTP informuje klienta o porcie, na którym jest gotowy do wysyłania/odbierania plików, na przykład 1523. Klient próbuje nawiązać połączenie TCP na tym porcie, ale natrafia na ACL Servers-out, gdzie nie ma takiego zezwolenia - tak kończy się opowieść o udanym transferze. W naszym przykładzie powyżej, gdzie skonfigurowaliśmy dostęp do serwera plików, otworzyliśmy dostęp dopiero 20 i 21, ponieważ to wystarczy na przykład. W prawdziwym życiu trzeba majstrować. Kilka przykładów konfiguracji ACL dla typowych przypadków.

3) Bardzo podobny i interesujący problem wynika z drugiego punktu.
Myślałeś, na przykład, aby zawiesić następujące listy ACL w interfejsie internetowym:

lista dostępu out zezwolenie host tcp 1.1.1.1 host 2.2.2.2 eq 80
access-list w pozwoleniu tcp host 2.2.2.2 dowolne eq 80

Wydawałoby się, że host o adresie 1.1.1.1 ma dostęp na 80. porcie do serwera 2.2.2.2 (pierwsza reguła). I z powrotem z serwera 2.2.2.2 połączenia wewnątrz są dozwolone.
Ale tutaj niuans polega na tym, że komputer 1.1.1.1 nawiązuje połączenie na 80. porcie, ale z jakiegoś innego, na przykład 1054, czyli pakiet odpowiedzi z serwera dociera do gniazda 1.1.1.1:1054, nie pada zgodnie z regułą w ACL na IN i odrzucone z powodu niejawnego deny ip any.
Aby uniknąć takiej sytuacji, a nie otwierać portów całą paczką, możesz skorzystać z tej sztuczki w ACL na:
Zezwalaj na hosta TCP 2.2.2.2.

Szczegóły takiego rozwiązania w jednym z kolejnych artykułów.

4) Mówiąc o współczesnym świecie, nie można obejść takiego narzędzia jak grupy obiektów (grupa obiektów).

Załóżmy, że musisz utworzyć listę ACL, która wysyła do Internetu trzy określone adresy na trzech identycznych portach z perspektywą zwiększenia liczby adresów i portów. Jak to wygląda bez znajomości grup obiektów:

lista dostępu ip rozszerzona DO INTERNETU
zezwól na host tcp 172.16.6.66 dowolne eq 80
zezwól na host tcp 172.16.6.66 dowolny eq 8080
zezwól na host tcp 172.16.6.66 dowolny eq 443

Zezwól hostowi tcp 172.16.6.67 na dowolne eq 80
zezwól na hosta tcp 172.16.6.67 dowolne eq 8080
zezwól na host tcp 172.16.6.67 dowolne eq 443

Zezwól hostowi tcp 172.16.6.68 na dowolne eq 80
zezwól na hosta tcp 172.16.6.68 dowolne eq 8080
zezwól na hosta tcp 172.16.6.68 dowolne eq 443


Wraz ze wzrostem liczby parametrów utrzymanie takiej listy ACL staje się coraz trudniejsze i łatwo o pomyłki podczas konfiguracji.
Ale jeśli przejdziemy do grup obiektów, to przybierze następującą postać:
usługa grup obiektów INET-PORTS
opis Porty dozwolone dla niektórych hostów
tcp eq www
tcp eq 8080
tcp równ. 443

Sieć grup obiektów HOSTS-TO-INET
opis Hosty mogą przeglądać sieć
gospodarz 172.16.6.66
gospodarz 172.16.6.67
gospodarz 172.16.6.68

Rozszerzona lista dostępu IP INET-OUT
zezwalaj na grupę obiektów INET-PORTS grupę obiektów HOSTS-TO-INET dowolna


na pierwszy rzut oka wygląda trochę groźnie, ale jeśli na to spojrzysz, jest to bardzo wygodne.

4) Bardzo przydatne informacje do rozwiązywania problemów można uzyskać z danych wyjściowych polecenia pokaż listy dostępu ip% Nazwa ACL%... Oprócz rzeczywistej listy reguł dla określonej listy ACL to polecenie wyświetla liczbę dopasowań dla każdej reguły.

msk-arbat-gw1 # sh ip listy dostępowe nat-inet
Rozszerzona lista dostępu IP nat-inet





(4 mecze)



I dodanie na końcu dowolnej reguły Dziennik, będziemy mogli otrzymywać wiadomości o każdym meczu w konsoli. (ten ostatni nie działa w PT)

NAT

Translacja adresów sieciowych jest nieodzownym mechanizmem w gospodarstwie domowym od 1994 roku. Wiele sesji na ten temat jest uszkodzonych, a pakiety są tracone.
Najczęściej jest on potrzebny do połączenia sieci lokalnej z Internetem. Faktem jest, że teoretycznie jest 255 * 255 * 255 * 255 = 4 228 250 625,4 miliarda adresów. Nawet gdyby każdy mieszkaniec planety miał tylko jeden komputer, nie byłoby już wystarczającej liczby adresów. A tutaj poza tym, że żelazka nie są podłączone do internetu. Inteligentni ludzie zdali sobie z tego sprawę na początku lat 90. i jako rozwiązanie tymczasowe zasugerowali podzielenie przestrzeni adresowej na publiczną (białą) i prywatną (prywatną, szarą).
Te ostatnie obejmują trzy zakresy:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

Możesz swobodnie z nich korzystać w swojej sieci prywatnej, a zatem oczywiście będą się powtarzać. A co z wyjątkowością? Komu odpowie serwer WEB, który otrzymał żądanie z adresem zwrotnym 192.168.1.1? Rostelekom? Firmy z Tatnieftu? Albo twój pokój Dink? W wielkim Internecie nikt nie wie nic o sieciach prywatnych — nie są one routowane.
W tym miejscu na scenę wkracza NAT. Ogólnie rzecz biorąc, jest to oszustwo, ustawienie. Na urządzeniu wysyłającym, twój prywatny adres, z grubsza mówiąc, jest po prostu zastępowany białym adresem, który pojawi się w dalszej części pakietu podczas podróży do serwera WEB. Ale białe adresy są bardzo dobrze routowane, a pakiet na pewno zostanie zwrócony do pulsującego urządzenia.
Ale jak to z kolei zrozumie, co dalej z nim zrobić? Tutaj zajmiemy się tym.

Typy NAT

Statyczny

W takim przypadku jeden adres wewnętrzny jest konwertowany na jeden zewnętrzny. Jednocześnie wszystkie żądania przychodzące na adres zewnętrzny będą wysyłane na adres wewnętrzny. Jakby ten host był właścicielem tego białego adresu IP.

Skonfigurowany następującym poleceniem:

Router (konfiguracja) # ip nat wewnątrz źródła statyczne 172.16.6.5 198.51.100.2

Co się dzieje:
1) Węzeł 172.16.6.5 adresuje serwer WEB. Wysyła pakiet IP z 192.0.2.2 jako adresem odbiorcy i 172.16.6.5 jako nadawcą.

2) Przez sieć korporacyjną pakiet jest dostarczany do bramy 172.16.6.1, gdzie skonfigurowany jest NAT

3) Zgodnie ze skonfigurowanym poleceniem router usuwa aktualny nagłówek IP i zmienia go na nowy, gdzie biały adres 198.51.100.2 pojawia się już jako adres nadawcy.


4) Przez duży Internet zaktualizowany pakiet dociera do serwera 192.0.2.2.

5) Widzi, że odpowiedź musi być wysłana pod numer 198.51.100.2 I przygotowuje pakiet odpowiedzi IP. Adres serwera to 192.0.2.2 jako adres nadawcy, adres docelowy to 198.51.100.2


6) Pakiet leci z powrotem przez internet, a nie fakt, że w ten sam sposób.

7) Urządzenie wybierające wskazuje, że wszystkie żądania na adres 198.51.100.2 muszą być przekierowane na 172.16.6.5. Router ponownie usuwa ukryty wewnątrz segment TCP i ustawia nowy nagłówek IP (adres źródłowy nie zmienia się, adres docelowy to 172.16.6.5).


8) W sieci wewnętrznej pakiet jest zwracany do inicjatora, który nawet nie wie, jakie cuda działy się z nim na granicy.
I tak będzie ze wszystkimi.
Co więcej, jeśli połączenie jest inicjowane z Internetu, pakiety automatycznie, przechodząc przez urządzenie wyzwalające, trafiają do hosta wewnętrznego.

Takie podejście jest przydatne, gdy w sieci znajduje się serwer, który wymaga pełnego dostępu z zewnątrz. Oczywiście nie możesz skorzystać z tej opcji, jeśli chcesz udostępnić w Internecie trzysta hostów pod jednym adresem. Ta opcja NAT nie pomoże w zachowaniu białych adresów IP, ale mimo to może być przydatna.

Dynamiczny

Masz pulę białych adresów, na przykład Twój dostawca przydzielił Ci sieć 198.51.100.0/28 z 16 adresami. Dwa z nich (pierwszy i ostatni) to adres sieciowy i adres rozgłoszeniowy, dwa kolejne adresy są przypisane do sprzętu w celu zapewnienia routingu. Możesz użyć 12 pozostałych adresów dla NAT i zwolnić za ich pośrednictwem swoich użytkowników.
Sytuacja jest podobna do statycznego NAT - jeden adres prywatny jest tłumaczony na jeden zewnętrzny - ale teraz zewnętrzny nie jest wyraźnie ustalony, ale będzie wybierany dynamicznie z określonego zakresu.
Jest skonfigurowany tak:
Router (config) #ip nat pool lol_pool 198.51.100.3 198.51.103.14

Określono pulę (zakres) adresów publicznych, z których adres zostanie wybrany do nadawania
Router (config) # access-list 100 allow ip 172.16.6.0 0.0.0.255 dowolna

Ustawiamy listę dostępową, która pozwala na przekazywanie wszystkich pakietów o adresie źródłowym 172.16.6.x, gdzie NS waha się od 0-255.
Router (config) #ip nat wewnątrz lista źródeł 100 pool lol_pool

Za pomocą tego polecenia dołączamy do utworzonej listy ACL i puli.

Ta opcja również nie jest uniwersalna, nie możesz też uwolnić swoich 300 użytkowników do Internetu, jeśli nie masz 300 zewnętrznych adresów. Po wyczerpaniu białych adresów nikt nowy nie będzie mógł uzyskać dostępu do Internetu. Jednocześnie będą działać ci użytkownicy, którym udało się już zdobyć adres zewnętrzny dla siebie. Zespół pomoże Ci odrzucić wszystkie aktualne transmisje i darmowe adresy zewnętrzne. jasne tłumaczenie ip nat *
Oprócz dynamicznej alokacji adresów zewnętrznych, ten dynamiczny NAT różni się od statycznego NAT tym, że bez oddzielnej konfiguracji przekierowania portów połączenie zewnętrzne z jednym z adresów puli nie jest już możliwe.

Wiele na jednego

Kolejny typ ma kilka nazw: przeciążenie NAT, translacja adresów portów (PAT), maskowanie IP, translacja NAT typu wiele-do-jednego.
Nazwisko mówi samo za siebie – przez jeden zewnętrzny adres wychodzi w świat wiele prywatnych. Pozwala to rozwiązać problem z brakiem adresów zewnętrznych i uwolnić wszystkich w świat.
Tutaj konieczne byłoby wyjaśnienie, jak to działa. Można sobie wyobrazić, jak dwa adresy prywatne są tłumaczone na jeden, ale jak router rozumie, kto musi przekazywać pakiet zwrócony z Internetu na ten adres?
Wszystko jest bardzo proste:
Załóżmy, że do sterownika przychodzą pakiety z dwóch hostów w sieci wewnętrznej. Oba z żądaniem do serwera WEB 192.0.2.2.
Dane z hostów wyglądają tak:

Router odkrywa pakiet IP od pierwszego hosta, wyodrębnia z niego segment TCP, drukuje go i dowiaduje się, z którego portu nawiązywane jest połączenie. Posiada adres zewnętrzny 198.51.100.2, na który zmieni się adres z sieci wewnętrznej.
Następnie wybiera wolny port, np. 11874. I co dalej? Pakuje wszystkie dane na poziomie aplikacji do nowego segmentu TCP, gdzie 80 pozostaje jako port docelowy (to dla niego serwer WEB czeka na połączenia), a port nadawcy zmienia się z 23761 na 11874. Ten segment TCP jest enkapsulowany w nowy IP- pakiet, w którym adres IP nadawcy zmienia się z 172.16.6.5 na 198.51.100.2.
To samo dzieje się z pakietem z drugiego hosta, wybierany jest tylko następny wolny port, na przykład 11875. „Wolny” oznacza, że ​​nie jest jeszcze zajęty innymi tego typu połączeniami.
Dane wysyłane do Internetu będą teraz wyglądać tak.

W swojej tabeli NAT wpisuje dane nadawców i odbiorców

W przypadku serwera WEB są to dwa zupełnie różne żądania, które musi przetwarzać indywidualnie. Następnie wysyła odpowiedź, która wygląda tak:

Kiedy jeden z tych pakietów dotrze do naszego routera, dopasowuje dane w tym pakiecie do swoich wpisów w tablicy NAT. W przypadku znalezienia dopasowania następuje odwrotna procedura - pakiet i segment TCP wracają do swoich pierwotnych parametrów tylko jako miejsce docelowe:

A teraz pakiety są dostarczane przez sieć wewnętrzną do komputerów inicjujących, które nawet nie wiedzą, że gdzieś ich dane zostały tak surowo potraktowane na granicy.

Każde Twoje żądanie jest osobnym połączeniem. Oznacza to, że próbowałeś otworzyć stronę WWW - jest to protokół HTTP używający portu 80. Aby to zrobić, twój komputer musi nawiązać sesję TCP ze zdalnym serwerem. Taką sesję (TCP lub UDP) określają dwa gniazda: lokalny adres IP: port lokalny oraz zdalny adres IP: port zdalny. W normalnej sytuacji masz jedno połączenie komputer-serwer, w przypadku NAT będą to dwa połączenia: router-serwer i komputer myśli, że ma sesję komputer-serwer.

Ustawienie różni się dość nieznacznie: z dodatkowym przeciążeniem słów:

Router (konfiguracja) # lista dostępu 101 zezwolenie 172.16.4.0 0.0.0.255
Router (config) #ip nat wewnątrz listy źródeł 101 interface fa0 / 1 przeciążać

Jednocześnie oczywiście pozostaje możliwość skonfigurowania puli adresów:
Router (config) #ip nat pool lol_pool 198.51.100.2 198.51.103.14
Router (konfiguracja) # lista dostępu 100 zezwolenie 172.16.6.0 0.0.0.255
Router (config) #ip nat wewnątrz lista źródeł 100 pool lol_pool przeciążać

Przekierowanie portów

W przeciwnym razie mówią również o przekierowaniu portów lub mapowaniu.
Kiedy po raz pierwszy zaczęliśmy rozmawiać o NAT, mieliśmy tłumaczenie jeden do jednego i wszystkie żądania przychodzące z zewnątrz były automatycznie przekierowywane do hosta wewnętrznego. W ten sposób możliwe byłoby wystawienie serwera na zewnątrz Internetu.
Ale jeśli nie masz takiej możliwości – jesteś ograniczony w białych adresach, albo nie chcesz wystawiać na zewnątrz z całą masą portów, co robić?
Możesz określić, że wszystkie żądania przychodzące do określonego białego adresu i określonego portu routera powinny być przekierowywane do właściwego portu żądanego adresu wewnętrznego.
Router (konfiguracja) #ip nat wewnątrz źródła statyczny TCP 172.16.0.2 80 198.51.100.2 80 rozszerzalny

Użycie tego polecenia oznacza, że ​​żądanie TCP z Internetu na adres 198.51.100.2 na porcie 80 zostanie przekierowane na wewnętrzny adres 172.16.0.2 na tym samym 80-tym porcie. Oczywiście możesz także przekierować UDP i przekierować z jednego portu do drugiego. Może to być przydatne, na przykład, jeśli masz dwa komputery, do których musisz uzyskać dostęp za pośrednictwem protokołu RDP z zewnątrz. Protokół RDP używa portu 3389. Nie można przekierować tego samego portu do różnych hostów (w przypadku korzystania z tego samego adresu zewnętrznego). Dlatego możesz to zrobić:
Router (konfiguracja) # ip nat wewnątrz źródła statyczny TCP 172.16.6.61 3389 198.51.100.2 3389
Router (konfiguracja) # ip nat wewnątrz źródła statyczny TCP 172.16.6.66 3389 198.51.100.2 3398

Następnie, aby dostać się do komputera 172.16.6.61, uruchamiasz sesję RDP na porcie 198.51.100.2:3389, a na 172.16.6.66 - 198.51.100.2:3398. Sam router rozproszy wszystko tam, gdzie ma być.

Nawiasem mówiąc, to polecenie jest szczególnym przypadkiem pierwszego: ip nat inside source static 172.16.6.66 198.51.100.2. Tylko w tym przypadku mówimy o przekierowaniu całego ruchu, a w naszych przykładach - konkretnych portach protokołu TCP.

Oto jak działa NAT w ogólnych zarysach. Napisano wiele artykułów o jego funkcjach, zaletach / wadach, ale nie można ich zignorować.

Słabe i mocne strony NAT

+

- Po pierwsze NAT zapisuje publiczne adresy IP. Właściwie do tego został stworzony. Za pomocą jednego adresu teoretycznie można zwolnić ponad 65 000 szarych adresów (według liczby portów).
- Po drugie, PAT i dynamiczny NAT są do pewnego stopnia zaporą ogniową, uniemożliwiającą połączeniom zewnętrznym dotarcie do komputerów końcowych, które mogą nie mieć własnej zapory i programu antywirusowego. Faktem jest, że jeśli pakiet dotrze do sterownika z zewnątrz, co jest tu nieoczekiwane lub niedozwolone, jest po prostu odrzucany.
Aby pakiet został pominięty i przetworzony, muszą być spełnione następujące warunki:
1) Musi istnieć wpis w tabeli NAT dla tego adresu zewnętrznego, określonego jako adres nadawcy w pakiecie
ORAZ
2) Port nadawcy w pakiecie musi pasować do portu dla tego białego adresu w rekordzie
ORAZ
3) Port docelowy w pakiecie jest taki sam jak port we wpisie.
LUB
Skonfigurowano przekierowanie portów.
Ale nie musisz traktować NAT dokładnie jako firewalla - to nic innego jak dodatkowy bonus.

- Po trzecie NAT ukrywa wewnętrzną strukturę Twojej sieci przed wścibskimi spojrzeniami - podczas śledzenia trasy z zewnątrz nie zobaczysz nic dalej od urządzenia pchającego.

-

NAT ma pewne wady. Najbardziej namacalne są być może następujące:
- Niektóre protokoły nie mogą działać przez NAT bez kul. Na przykład protokoły FTP lub tunelowanie (pomimo tego, jak łatwo skonfigurowałem FTP w laboratorium, w prawdziwym życiu może to przysporzyć wielu problemów)
- Kolejny problem polega na tym, że z jednego adresu jest wiele żądań do jednego serwera. Wielu było tego świadkami, kiedy idziesz do jakiegoś Rapidshare i mówi, że było już połączenie z twojego IP, myślisz, że „kłamie, psie”, ale twój sąsiad już jest do niczego. Z tego samego powodu pojawiły się problemy z ICQ, gdy serwery odmówiły rejestracji.
- Problem nie jest teraz bardzo pilny: obciążenie procesora i pamięci RAM. Ponieważ nakład pracy jest dość duży w porównaniu z prostym routingiem (trzeba nie tylko patrzeć na nagłówek IP, trzeba go usunąć, usunąć nagłówek TCP, dodać go do tabeli, przymocować nowe nagłówki) w małych biurach są z tym problemy.
Natknąłem się na taką sytuację.
Jednym z możliwych rozwiązań jest przeniesienie funkcji NAT na osobny komputer PC lub na wyspecjalizowane urządzenie, na przykład Cisco ASA.
Dla dużych graczy, których routery włączają pełny widok 3-4 BGP, teraz nie stanowi to problemu.

Co jeszcze musisz wiedzieć?
- NAT służy głównie do zapewnienia dostępu do Internetu hostom z prywatnymi adresami. Ale są też inne zastosowania - komunikacja między dwiema sieciami prywatnymi z nakładającymi się przestrzeniami adresowymi.
Na przykład Twoja firma kupuje oddział w Aktiubińsku. Twoja adresacja to 10.0.0.0-10.1.255.255, a oni mają 10.1.1.0-10.1.10.255. Zakresy wyraźnie się pokrywają, nie będziesz w stanie skonfigurować routingu, ponieważ ten sam adres może pojawić się w Aktiubińsku i w Twojej siedzibie.
W takim przypadku NAT jest konfigurowany na skrzyżowaniu. Ponieważ nie mamy szarych adresów, możemy wybrać np. zakres 10.2.1.0-10.2.10.255 i wykonać rozgłoszenie jeden-do-jednego:
10.1.1.1-10.2.1.1
10.1.1.2-10.2.1.2

10.1.10.255-10.2.10.255

W dużych zabawkach dla dorosłych NAT można zaimplementować na osobnej płytce (a często tak jest) i bez niego nie będzie działać. A w gruczołach biurowych wręcz przeciwnie, prawie zawsze.

Wraz z powszechnym przyjęciem IPv6, zapotrzebowanie na NAT zmniejszy się. Już teraz dużych klientów zaczynają interesować się funkcjonalnością NAT64 - wtedy masz dostęp do świata przez IPv4, a sieć wewnętrzna jest już na IPv6

Oczywiście jest to tylko powierzchowne spojrzenie na NAT i wciąż jest morze niuansów, w których samokształcenie pomoże ci nie utonąć.

Praktyka NAT

Czego wymaga od nas rzeczywistość?
1) Sieć kontrolna w ogóle nie ma dostępu do Internetu
2) Hosty z sieci VET mają dostęp tylko do wyspecjalizowanych witryn, na przykład Linkmeup.ru
3) Urocze panie z działu księgowości muszą otworzyć okno na świat klientów-banków.
4) FEO nie powinien być nigdzie zwalniany, z wyjątkiem dyrektora finansowego
5) W sieci Other, nasz komputer i komputer administratora - damy im pełny dostęp do Internetu. Wszystkie inne można otworzyć na pisemną prośbę.
6) Nie zapominajmy o oddziałach w Petersburgu i Kemerowie. Dla uproszczenia skonfigurujemy pełny dostęp dla eniki z tych podsieci.
7) Z serwerami osobna piosenka. Skonfigurujemy dla nich przekierowanie portów. Wszystko czego potrzebujemy:
a) WEB-serwer musi być dostępny na porcie 80
b) Serwer pocztowy 25 i 110.
c) Serwer plików jest dostępny ze świata poprzez FTP.
8) Komputery administratora i nasz muszą być dostępne z Internetu przez RDP. Właściwie jest to zły sposób – do połączenia zdalnego trzeba użyć połączenia VPN, a będąc już w sieci lokalnej użyć RDP, ale to temat na zupełnie inny artykuł.

Najpierw przygotujmy stronę testową:

Połączenie internetowe zostanie zorganizowane za pośrednictwem istniejącego łącza dostarczonego przez dostawcę.
Trafia do sieci dostawcy. Przypominamy, że wszystko w tej chmurze to abstrakcyjna sieć, która w rzeczywistości może składać się z dziesiątek routerów i setek przełączników. Ale potrzebujemy czegoś łatwego do zarządzania i przewidywalnego, więc umieściliśmy tutaj kolejny router. Z jednej strony jest do niego link z przełącznika, z drugiej jest serwer w Internecie.

Potrzebujemy następujących serwerów:
1. Dwa banki klienckie dla księgowych (sperbank.ru, mmm-bank.ru)
2. Linkmeup.ru dla PTOshniki
3.Yandex (yandex.ru)

Dla takiego połączenia podniesiemy kolejny vlan do msk-arbat-gw1. Jego numer jest oczywiście zgodny z dostawcą. Niech to będzie VLAN 6
Załóżmy, że dostawca zapewnia nam podsieć 198.51.100.0/28... Pierwsze dwa adresy są używane do organizowania łącza (198.51.100.1 i 198.51.100.2), a resztę używamy jako pulę dla NAT. Jednak nikt w ogóle nie zabrania nam używania adresu 198.51.100.2 dla puli. Więc zróbmy to: pula: 198.51.100.2-198.51.100.14
Dla uproszczenia załóżmy, że nasze serwery publiczne znajdują się w tej samej podsieci:
192.0.2.0/24 .
Wiesz już, jak skonfigurować link i adresy.
Ponieważ w sieci dostawcy mamy tylko jeden router, a wszystkie sieci są do niego bezpośrednio podłączone, nie ma potrzeby konfigurowania routingu.
Ale nasz msk-arbat-gw1 musi wiedzieć, gdzie wysyłać pakiety do Internetu, więc potrzebujemy trasy domyślnej:

msk-arbat-gw1 (config) # trasa ip 0.0.0.0 0.0.0.0 198.51.100.1

Teraz w porządku

Najpierw skonfigurujmy pulę adresów

msk-arbat-gw1 (config) # ip nat pool main_pool 198.51.100.2 198.51.100.14 maska ​​sieci 255.255.255.240

Teraz zbieramy ACL:
msk-arbat-gw1 (config) # rozszerzona lista dostępu ip nat-inet

1) Sieć kontrolna

w ogóle nie ma dostępu do internetu
Gotowy

2) Gospodarze z sieci VET

Miej dostęp tylko do wyspecjalizowanych witryn, na przykład Linkmeup.ru
msk-arbat-gw1 (config-ext-nacl) # zezwolenie tcp 172.16.3.0 0.0.0.255 host 192.0.2.2 eq 80

3) Księgowość

Dajemy dostęp do wszystkich hostów na obu serwerach
msk-arbat-gw1 (config-ext-nacl) # allow ip 172.16.5.0 0.0.0.255 host 192.0.2.3
msk-arbat-gw1 (config-ext-nacl) # allow ip 172.16.5.0 0.0.0.255 host 192.0.2.4

4) FEO

Zgodę udzielamy tylko dyrektorowi finansowemu - to tylko jeden host.
msk-arbat-gw1 (config-ext-nacl) # allow IP host 172.16.4.123 dowolna

5) Inne

Nasze komputery z pełnym dostępem
msk-arbat-gw1 (config-ext-nacl) # allow IP host 172.16.6.61 dowolna
msk-arbat-gw1 (config-ext-nacl) # allow IP host 172.16.6.66 dowolna

6) Oddziały w Petersburgu i Kemerowie

Niech adresy Enikiewa będą takie same: 172.16.x.222
msk-arbat-gw1 (config-ext-nacl) # allow IP host 172.16.16.222 dowolna
msk-arbat-gw1 (config-ext-nacl) # allow IP host 172.16.17.222 dowolna
msk-arbat-gw1 (config-ext-nacl) # allow IP host 172.16.24.222 dowolna

Oto jak ACL wygląda teraz w całości:
rozszerzona lista dostępu ip nat-inet
uwaga WOM
zezwolenie tcp 172.16.3.0 0.0.0.255 host 192.0.2.2 eq www
uwaga KSIĘGOWOŚĆ
zezwolenie ip 172.16.5.0 0.0.0.255 host 192.0.2.3
zezwolenie ip 172.16.5.0 0.0.0.255 host 192.0.2.4
uwaga FEO
zezwól na hosta IP 172.16.4.123 dowolny
uwaga JA
zezwól na hosta IP 172.16.6.61 dowolny
uwaga ADMIN
zezwól na hosta IP 172.16.6.66 dowolny
uwaga SPB_VSL_ISLAND
zezwól na hosta IP 172.16.16.222 dowolny
uwaga SPB_OZERKI
zezwól na hosta IP 172.16.17.222 dowolny
uwaga KMR
zezwól na hosta IP 172.16.24.222 dowolny

Początek:

msk-arbat-gw1 (config) # ip nat wewnątrz listy źródeł nat-inet pool main_pool przeciążenie

Ale szczęście nie będzie pełne bez dostosowania interfejsów:
Na interfejsie zewnętrznym musisz wydać polecenie ip nat na zewnątrz
Wewnętrzny: ip nat wewnątrz
msk-arbat-gw1 (config) # int fa0 / 0.101
msk-arbat-gw1 (config) # int fa0 / 0.102
msk-arbat-gw1 (config-subif) # ip nat inside
msk-arbat-gw1 (config) # int fa0 / 0.103
msk-arbat-gw1 (config-subif) # ip nat inside
msk-arbat-gw1 (config) # int fa0 / 0.104
msk-arbat-gw1 (config-subif) # ip nat inside

Msk-arbat-gw1 (config) # int fa0 / 1.6
msk-arbat-gw1 (config-subif) # ip nat na zewnątrz

Pozwoli to routerowi zrozumieć, gdzie oczekiwać na przetworzenie pakietów i dokąd je później wysłać.

Aby serwery w Internecie były dostępne po nazwie domeny, byłoby miło, abyśmy mieli serwer DNS w naszej sieci:


Oczywiście musisz go zarejestrować na tych urządzeniach, z których będziemy sprawdzać dostęp:

Przedstawienie musi trwać!

Wszystko jest dostępne z komputera administratora:

Z sieci PTO jest dostęp tylko do strony linkmeup.ru przez port 80 (HTTP):



W sieci FEO wychodzi w świat tylko 4.123 (findirector)



W dziale księgowości działają tylko strony klient-bank. Ale ponieważ zezwolenie jest przyznane całkowicie protokołowi IP, można je pingować:


7) Serwery

Tutaj musimy skonfigurować przekierowanie portów, aby można było uzyskać do nich dostęp z Internetu:

a) Serwer WWW

msk-arbat-gw1 (config) # ip nat inside source statyczny tcp 172.16.0.2 80 198.51.100.2 80

Od razu sprawdzamy, na przykład, czy możemy to zrobić z testowego komputera o adresie 192.0.2.7.
Teraz nic nie będzie działać, bo dla sieci serwerów nie mamy interfejsu skonfigurowanego pod msk-arbat-gw1:
msk-arbat-gw1 (config) # int fa0 / 0.3
msk-arbat-gw1 (config-subif) # ip nat inside

I teraz:

b) Serwer plików

msk-arbat-gw1 (config) # ip nat inside source statyczny tcp 172.16.0.3 20 198.51.100.3 20
msk-arbat-gw1 (config) # ip nat inside source statyczny tcp 172.16.0.3 21 198.51.100.3 21

W tym celu w ACL Servers-out otworzyliśmy również porty 20-21 dla wszystkich

c) Serwer pocztowy

msk-arbat-gw1 (config) # ip nat inside source static tcp 172.16.0.4 25 198.51.100.4 25
msk-arbat-gw1 (config) # ip nat wewnątrz źródła statyczne tcp 172.16.0.4 110 198.51.100.4 110

Sprawdzenie również nie jest trudne. Postępuj zgodnie z instrukcją:
Najpierw konfigurujemy serwer pocztowy. Wskazujemy domenę i tworzymy dwóch użytkowników.

Konfigurujemy komputer z naszej sieci:

Z zewnątrz:

Przygotowanie listu:

Na hoście lokalnym kliknij Odbierz:

8) Dostęp przez RDP do komputerów administracyjnych i naszych

msk-arbat-gw1 (config) # ip nat wewnątrz źródła statyczny TCP 172.16.6.61 3389 198.51.100.10 3389
msk-arbat-gw1 (config) # ip nat wewnątrz źródła statyczny TCP 172.16.6.66 3389 198.51.100.10 3398

Bezpieczeństwo

Na koniec jedna uwaga. Najprawdopodobniej urządzenie napinające patrzy na twój interfejs IP nat na zewnątrz - do Internetu. Dlatego nie zaszkodzi odwiesić ACL na tym interfejsie, gdzie odmawiasz, zezwalasz na to, czego potrzebujesz. Nie będziemy się rozwodzić nad tym problemem w tym artykule.

To kończy pierwszą znajomość technologii NAT.
Jako kolejny DZ odpowiedz na pytanie, dlaczego nie ma dostępu do Internetu z komputerów Enikis w Petersburgu i Kemerowie. W końcu dodaliśmy je już do listy dostępu.

To zupełnie inne technologie. Nie myl ich.

Co to jest NAT

NAT to zbiorczy termin odnoszący się do technologii tłumaczenia adresów sieciowych i/lub protokołów. Urządzenia NAT są wykonywane na przepuszczaniu pakietów translacji z wymianą adresów, portów, protokołów itp.

Istnieją węższe koncepcje SNAT, DNAT, maskarady, PAT, NAT-PT itp.

dlaczego NAT jest potrzebny, jak jest używany

Aby wyświetlić sieć wewnętrzną w Internecie

  • przez pulę adresów zewnętrznych
  • przez jeden adres zewnętrzny

Zastąpienie zewnętrznego adresu IP innym (przekierowanie ruchu)

Do równoważenia obciążenia między tymi samymi serwerami o różnych adresach IP.

Do łączenia dwóch sieci lokalnych z nakładającym się adresowaniem wewnętrznym.

jak działa NAT

s + d NAT (łączenie gałęzi - zło!)

mapowanie portów, mapowanie portów

Zalety i wady

Niezgodny z niektórymi protokołami. Konkretna implementacja NAT musi obsługiwać kontrolę wymaganego protokołu.

NAT ma właściwość „osłony” sieci wewnętrznej przed światem zewnętrznym, ale nie może być używany zamiast zapory.

Konfiguracja w Cisco IOS

Routery i zapory Cisco obsługują różne typy NAT, w zależności od zestawu opcji oprogramowania. Najczęściej stosowaną metodą jest NAT z wiązaniem wewnętrznych adresów lokalnych z różnymi portami o tym samym adresie zewnętrznym (PAT w terminologii Cisco).

Aby skonfigurować NAT na routerze, należy: o Określić ruch, który ma zostać przetłumaczony (przy użyciu list dostępu lub map tras);

Lista dostępu IP rozszerzone zezwolenie LOKALNE ip 10.0.0.0 0,255.255.255 dowolna

Mapa trasy INT1 dopasowuje adres IP LOKALNY interfejs dopasowywania FastEthernet0 / 1.1

Lista dostępu LOCAL wybiera cały ruch z sieci 10.

Mapa trasy INT1 wybiera ruch wychodzący z listy dostępu LOKALNY przez podinterfejs Fa 0 / 1.1

o Określ, na które adresy zewnętrzne mają być rozsyłane. Wybierz pulę adresów zewnętrznych. Jeden adres wystarczy dla PAT.

Pula adresów IP nat GLOBALNY 212.192.64.74 212.192.64.74 maska ​​sieci 255.255.255.0

Określa pulę adresów zewnętrznych o nazwie GLOBALNY. W puli jest tylko jeden adres.

o Włącz NAT dla wybranych adresów wewnętrznych i zewnętrznych.

Ip nat wewnątrz źródłowej mapy trasy puli INT1 GLOBALNE przeciążenie

Umożliwia translacji NAT tłumaczenie adresów źródłowych w interfejsie wewnętrznym. Emitowany będzie tylko ruch spełniający warunki mapy tras INT1. Adres zewnętrzny zostanie pobrany z puli GLOBALNEJ.

Ip nat wewnątrz źródła statyczne tcp 10.0.0.1 23 212.192.64.74 23 extend

Statyczna „port roll” lub „publikacja usług”. W ruchu wychodzącym na adres 212.192.64.74 na porcie tcp 23, miejsce docelowe zostanie zastąpione adresem 10.0.0.1 i portem 23.

o Przypisz interfejsy wewnętrzne i zewnętrzne.

Interfejs FastEthernet0/0 ip nat wewnątrz interfejsu FastEthernet0/1.1 ip nat na zewnątrz

Fa 0/0 jest wyznaczony jako wewnętrzny dla NAT.

Podinterfejs Fa 0/1.1 jest przypisany zewnętrznie do NAT.

O Debugowanie i diagnostyka:

Wysyłka tłumaczeń - przeglądanie tabeli aktualnych tłumaczeń; clear ip nat translations - usuń wszystkie aktualne tłumaczenia; debug ip nat - włącz komunikaty debugowania (undebug all - wyłącz debugowanie).

Przykłady

Oto kilka przykładów demonstracyjnych emulatora Cisco Packet Tracer.

Prosty schemat podłączenia małej sieci do Internetu poprzez pulę adresów zewnętrznych

Prosty schemat podłączenia sieci do Internetu przez jeden adres zewnętrzny

Schemat połączeń dla sieci z nakładającą się adresacją

Jak działa NAT

Sposób stosowania reguł NAT różni się w zależności od producenta i od sprzętu do sprzętu. Oto kolejność stosowania zasad NAT dla routerów w systemie Cisco IOS:

Wewnątrz na zewnątrz

Jeśli IPSec, sprawdź deszyfrowanie wejściowej listy dostępu — dla CET (Cisco Encryption Technology) lub IPSec sprawdź wejściową listę dostępu, sprawdź limity wejściowej księgowości, przekieruj do sieciowej pamięci podręcznej, routing routingu NAT z wewnątrz na zewnątrz (tłumaczenie lokalne na globalne) krypto (sprawdź mapę i zaznacz do szyfrowania) sprawdź listę dostępu do wyjścia sprawdź (kontekstowa kontrola dostępu (CBAC)) Szyfrowanie przechwytywania TCP Kolejkowanie

Od zewnątrz do wewnątrz

Jeśli IPSec, sprawdź deszyfrowanie wejściowej listy dostępu - dla CET lub IPSec sprawdź wejściową listę dostępu, sprawdź limity wejściowej księgowości przekierowanie do pamięci podręcznej sieciowej NAT z zewnątrz do wewnątrz (tłumaczenie globalne na lokalne) routing routingu zasad krypto (sprawdź mapę i zaznacz szyfrowanie) sprawdź wyjściowa lista dostępu sprawdź CBAC TCP przechwytuje szyfrowanie Kolejkowanie

Kanał internetowy od jednego dostawcy przez NAT

Prosta implementacja NAT z jednym dostawcą

Rezerwacja kanałów internetowych od dwóch dostawców za pomocą NAT, ip sla

Biorąc pod uwagę: Internet dla kilku komputerów otrzymujemy od dostawcy ISP1. Dali nam adres 212.192.88.150. Dostęp do Internetu jest organizowany z tego adresu IP przez NAT.

Zadanie: podłączyć dostawcę kopii zapasowych - ISP2. Poda nam adres 212.192.90.150. Organizuj równoważenie ruchu: pozwól ruchowi internetowemu przez ISP1, pozostały ruch przez ISP2. W przypadku awarii jednego z dostawców przepuść cały ruch przez kanał na żywo.

Jaka jest trudność zadania? jasne tłumaczenia ip nat?

Schemat

Konfiguracja

1 jasne tłumaczenia ip nat *

Znalazłem, przetestowałem taki kawałek EEM. Nie wszystkie wersje IOS generują zdarzenie.. Konieczne jest wyjaśnienie.

! Aplet menedżera zdarzeń NAT-TRACK wzorzec dziennika zdarzeń „TRACKING-5-STATE” działanie 0.1 polecenie cli „włącz” działanie 0.2 czekaj 3 działanie 0.3 polecenie cli „wyczyść tłumaczenie ip nat *” działanie 0.4 msg dziennika „translacja NAT wyczyszczona po zmianie stanu ścieżki "!

2 Jeśli interfejs spadnie do dostawcy, istnieje duże prawdopodobieństwo, że jego brama będzie pingować przez drugą

! nazwa użytkownika NAME hasło 0 HASŁO włącz sekret 0 CONFIG HASŁO! ! kontrola logowania do routera line vty 0 4 logowanie lokalne! ! DHCP ip pula dhcp Sieć LAN Maska intranetowa router domyślny Brama Serwer dns 10.11.12.13! DNS - wymyślony fałszywy - NIE z naszej sieci lokalnej! ! ! Monitoruj ping na adres bramy dostawcy-1! Poczekaj 100 ms na odpowiedź! Ping z szybkością 1 sekundy monitor ip sla 1 typ protokołu echa ipIcmpEcho GatewayProv1 interfejs źródłowy InterfaceOnProv1 limit czasu 100 częstotliwość 1! ! Monitor ping dla provider-2 ip sla monitor 2 typ protokołu echo ipIcmpEcho GatewayPro2 interfejs źródłowy InterfejsNaPro2 timeout 50 częstotliwość 1! ! Uruchamianie pingals 1 i 2, teraz i na zawsze ip sla monitor harmonogram 1 życie na zawsze czas startu teraz ip sla monitor harmonogram 2 życie na zawsze czas startu teraz! ! Ścieżki 10 i 20 - śledzenie statusu pingowania pinów! Reaguje na stan Down lub Up z 1-sekundowym opóźnieniem. utwór 10 rtr 1 opóźnienie osiągalności w dół 1 w górę 1! utwór 20 rtr 2 opóźnienie osiągalności w dół 1 w górę 1! ! ! Trasy do wszystkich sieci zewnętrznych u obu dostawców! Trasy są powiązane z torami! i zostanie aktywowany tylko wtedy, gdy tor jest w stanie Up! te. jeśli brama do odpowiedniego dostawcy jest dostępna ip route 0.0.0.0 0.0.0.0 GatewayPro1 track 10 ip route 0.0.0.0 0.0.0.0 GatewayPro2 track 20! ! ! int fa 0/0 nie zamykaj! ! Podinterfejsy do dostawców zewnętrznych! oznaczony jako outside dla interfejsu NAT FastEthernet0 / 0.1 opis ISP1 encaps dot1q NumberVlanProv1 adres ip ipOnProv1 Maskuj ip nat na zewnątrz! interfejs FastEthernet0 / 0.2 opis ISP2 enkapsulacja dot1Q LiczbaVlanProv2 adres ip ipOnProv2 Maskuj ip nat na zewnątrz! ! Interfejs intranetowy! oznaczone jako wewnątrz dla NAT! Polityka routingu PBR jest powiązana z interfejsem FastEthernet0 / 1 adres ip ip ! Dostęp do list od wewnątrz na zewnątrz! Dla ruchu w sieci i dla wszystkiego innego ip access-list rozszerzona LOCAL zezwala na ip intranet dowolny! ip access-list rozszerzone zezwolenie WEB tcp intNetwork dowolne eq www zezwolenie tcp intNetwork dowolne eq 443! ip access-list rozszerzony ALL zezwalaj na ip any! ! ! trudna mapa główna PBR! Jeśli ruch z sieci LAN do sieci! następnie przypisz mu pierwszego dostawcę jako bramę! W przeciwnym razie inny ruch LAN! wyznaczyć drugiego dostawcę jako bramę. ! Podczas przypisywania bramki, sprawdzana jest mapa trasy PBR Ścieżki zezwalaj na 10 dopasuj adres ip WEB ustaw ip następny skok weryfikacja-dostępność GatewayPro1 1 ścieżka 10! mapa trasy PBR zezwolenie 20 dopasuj adres ip WSZYSTKIE ustaw ip następny skok weryfikacja-dostępność GatewayPro2 1 utwór 20! ! ! trudna mapa główna ISP1! działa, jeśli ruch pochodzi z sieci LAN! próbuje wyjść przez interfejs Fa0 / 0.1 mapa trasy ISP1 zezwala na 10 dopasowania adresu IP LOKALNE dopasowanie interfejsu FastEthernet0 / 0.1! ! trudna mapa główna ISP2! działa, jeśli ruch pochodzi z sieci LAN! próbuje wyjść przez interfejs Fa0 / 0.2 mapa trasy ISP2 zezwala na 10 dopasowania adresu IP LOKALNE dopasowanie interfejsu FastEthernet0 / 0.2! ! ! Wreszcie NAT ;-)! ! Ruch z sieci LAN do pierwszego dostawcy Natit przez pierwszy interfejs ip nat wewnątrz źródłowej mapy trasy Interfejs ISP1 Przeciążenie FastEthernet0 / 0.1! ! Ruch z sieci LAN do drugiego dostawcy Natit przez drugi interfejs ip nat wewnątrz źródłowej mapy trasy Interfejs ISP2 Przeciążenie FastEthernet0 / 0.2! ! Przenieś ruch do fikcyjnego DNS do Google-DNS ip nat poza źródłem statyczne 8.8.8.8 10.11.12.13 brak aliasu! ! przekazywanie portu wewnętrznego 3389 do portu zewnętrznego 1111 ip nat wewnątrz źródła statyczne tcp internalHost 3389 zewnętrzne 1111 z możliwością rozbudowy ip nat wewnątrz źródła statyczne tcp internalHost 3389 zewnętrzne 1111 z możliwością rozbudowy! !

Różnorodny

CGN (carrier grade nat) ze specjalną pulą adresów prywatnych

NAT jako ALG (brama warstwy aplikacji), (protokoły tekstowe np. SIP)

DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chcesz czytać Dzwon?
Bez spamu