From: xf0r3m Date: Thu, 21 Nov 2024 14:23:33 +0000 (+0100) Subject: Zakończenie pisania rozdziału 6, modułu 3, kursu CCNA. Do przeredagowania. X-Git-Url: https://gitweb.morketsmerke.org/?a=commitdiff_plain;h=e178d09312c5126f88d54108b6c5734080bcdccc;p=mmdev.git Zakończenie pisania rozdziału 6, modułu 3, kursu CCNA. Do przeredagowania. --- diff --git a/articles/terminallog/Cisco_-_CCNA.html b/articles/terminallog/Cisco_-_CCNA.html index c66b267..bfb079c 100755 --- a/articles/terminallog/Cisco_-_CCNA.html +++ b/articles/terminallog/Cisco_-_CCNA.html @@ -14300,6 +14300,8 @@ R1(config)# Istnieje również mechanizm, który jest w stanie zapewnić dostęp do sieci zewnętrznej przy jednym lub kilku adres zewnętrznych. Takim mechanizmem jest PAT (Port Adress Translation) + nazywany również NAT-em z przeciążeniem. Ponieważ przeciążamy jeden + adres, ruchem większym niż pochodzący z jednego komputera. Poza zwykłą translacją adresów, działa on na zasadzie zmiany portu źródłowego jeśli do routera docierają połączenia z różnych hostów z tymi samymi numerami portów @@ -14452,6 +14454,11 @@ Total number of translations: 1 W tablicy znajdują się kolumny, które powinniśmy znać z początku rozdziału, dodatkową kolumną jest Pro, oznaczająca protokół. + Tablicę można wyczyścić za pomocą polecenia: + clear ip nat translations *, + gwiazdka (*) oznacza, że należy wyczyścić tablicę + dla obu kierunków - inside oraz outside. + Polecenie to wydaje w trybie uprzywilejowanym EXEC.
  • show ip nat statistics - wyświetlenie statystyk dotyczących NAT-u. To polecenie wyświetla nam ilość połaczeń, w @@ -14474,6 +14481,270 @@ Hits: 0 Misses: 0 (Misses:).
  • +

    3.6.4. Dynamiczny NAT w IOS

    +

    + Poprzedni rodzaj NAT-u wymagał zmapowania adresów prywatnych z + publicznymi, jeden + do jeden. W tym przypadku mapowanie będzie odbywać się na podstawie + żądania do sieci zewnętrznej i będzie odbywać się dynamicznie. + Wcześnie to administrator decydował o tym jaki adres prywatny będzie + mapowany na adres publiczny. Teraz decyduje o tym router. Ten stan + rzeczy powoduje, że konfiguracja będzie nieco bardziej skomplikowana. +

    +

    + Załóżmy, że mamy dwa komputery w dwóch różnych sieciach, mają one + następujące adresy: 192.168.10.10/24 oraz 192.168.11.10/24. Komputery + chcą skomunikować się z serwerem od adresie 209.165.200.254. +

    +

    + Na początku musimy rozpocząć naszą konfigurację od określenia puli + adresów, jakie mogą być mapowane podczas dynamiczne NAT-u. Taką + pulę zazwyczaj uzyskuje się od swojego dostawcy usług internetowych. + W naszym przypadku są to adresy od 209.165.200.226 do 209.165.200.240 + z maską /27. Aby skonfigurować pulę w trybie konfiguracji globalnej + wydajemy poniższe polecenie: +

    +
    +Router(config)# ip nat pool NAT-POOL1 209.165.200.226 209.165.200.240 netmask 255.255.255.224
    +
    +

    + Za pomocą powyższego polecenia zdefiniowaliśmy pulę o nazwie + NAT-POOL1. Teraz musimy utworzyć + warunek, dzięki któremu określimy jakie sieci mają kwalifikować się + tłumaczenia + lub ich adresy mają być tłumaczone na jasno określoną pulę adresów. + Takie warunki tworzy się za pomocą standardowych list ACL. +

    +
    +Router(config)# access-list 1 permit 192.168.0.0 0.0.255.255
    +
    +

    + Teraz należy połaczyć ze sobą pulę adresów NAT-u oraz listę ACL, + w jednej definicji dynamicznej translacji adresów. +

    +
    +Router(config-if)# ip nat inside source list 1 pool NAT-POOL1
    +
    +

    + Przyczym, ACL nie musi być numerowana, nazwana również jest możliwa + do użycia w tym przypadku. Ostatnią czynnością jest określenie + wewnętrznych i zewnętznych interfejsów. +

    +
    +Router(config)# interface GigabitEthernet0/1
    +Router(config-if)# ip nat inside
    +Router(config)# interface GigabitEthernet0/2
    +Router(config-if)# ip nat inside
    +Router(config)# interface serial 0/1/1
    +Router(config-if)# ip nat outside
    +
    +

    + Wersje sprzętowe IOS posiadają dodatkowy słowo kluczowe + verbose dla polecenia + show ip nat translations. Która + wyświetla więcej informacji na temat wpisów w tablicy NAT. +

    +
    +Router# show ip nat translation verbose
    +Pro Inside global      Inside local       Outside local      Outside global
    +tcp 209.165.200.228    192.168.10.10      ---                ---
    +    create 00:02:11, use 00:02:11 timeout:86400000, left 23:57:48, Map-Id(In): 1, 
    +    flags: 
    +none, use_count: 0, entry-id: 10, lc_entries: 0
    +tcp 209.165.200.229    192.168.11.10      ---                ---
    +    create 00:02:10, use 00:02:10 timeout:86400000, left 23:57:49, Map-Id(In): 1, 
    +    flags: 
    +none, use_count: 0, entry-id: 12, lc_entries: 0
    +
    +

    + Zwróćmy uwagę na to, że wpisy w tablicy NAT-u widnieją przez + określony czas. W przypadku NAT-u dynamicznego, domyślnie są to 24 + godziny, chyba że zdefiniowano inaczej przy pomocy polecenia + ip nat translation timeout. Nie + musimy jednak wyczekiwać na wygaśnięcie wpisów. Możemy je ręcznie + usunąć, czy przy użyciu tego samego polecenia + (clear ip nat translation), + które czyści całą tablicę - w tym przypadku podajemy + inside lokalny-adr globalny-adr lub + outside lokalny-adr globalny-adr. +

    +

    + W przypadku dynamicznego NAT i polecenie + show ip nat statistics wzraca więcej informacji, np. procent + zaalokowanej puli. +

    +
    +Router# show ip nat statistics 
    +Total active translations: 4 (0 static, 4 dynamic; 0 extended)
    +Peak translations: 4, occurred 00:31:43 ago
    +Outside interfaces:
    +  Serial0/1/1
    +Inside interfaces: 
    +  GigabitEthernet0/1
    +  GigabitEthernet0/2
    +Hits: 47  Misses: 0
    +CEF Translated packets: 47, CEF Punted packets: 0
    +Expired translations: 5
    +Dynamic mappings:
    +-- Inside Source
    +[Id: 1] access-list 1 pool NAT-POOL1 refcount 4
    + pool NAT-POOL1: netmask 255.255.255.224
    +	start 209.165.200.226 end 209.165.200.240
    +	type generic, total addresses 15, allocated 2 (13%), misses 0
    +...
    +
    +

    + Wyświetlając bierzącą konfiguracje z poleceniem filtrujący + include, możemy podejrzeć konfiguracje NAT-u. +

    +
    +R2# show running-config | include NAT
    +ip nat pool NAT-POOL1 209.165.200.226 209.165.200.240 netmask 255.255.255.224
    +ip nat inside source list 1 pool NAT-POOL1
    +
    +

    Zadanie praktyczne - Packet Tracer

    +

    + Konfigurowanie dynamicznego NAT - scenariusz
    + Konfigurowanie dynamicznego NAT - zadanie +

    +

    3.6.5. PAT w IOS

    +

    + W większości przypadków, konfiguracji sieci czy to w mniejszych, czy + większy organizacja, nie skorzystamy z żadnej z powyższych metod, + gdyż wymagają one puli adresów publicznych, a te obecnie są bardzo + rzadko przydzielane. Najczęstszym rodzajem NAT-u jaki będziemy + konfigurować jest właśnie PAT. +

    +

    + Scenariusz z dynamicznego NAT-u rozszerzymy od dodatkowy serwer. + Serwery będą mieć adresy 209.165.201.1 oraz 209.165.202.129. Adres + sieci zewnętrznej naszego routera to 209.165.200.224/27. Natomiast + adres interfejsu podłączonego do sieci zewnętrznej to: + 209.165.200.225. Adres sieci zewnętrznej określa pulę przydzielonych + adresów publicznych od usługodawcy. +

    +

    + Konfigurując PAT, mamy do wyboru tak naprawdę dwa podejścia. + Pierszym z nich jest przeciążenie pojedynczego adresu, który mamy + przypisany do interfejsu. Tak zazwyczaj będzie w przypadku domów lub + małych biur. Konfigurację rozpoczynamy od utworzenia ACL-ki w celu + określenia jakie sieci źródłowe mają być tłumaczone. +

    +
    +Router(config)# access-list 1 permit 192.168.0.0 0.0.255.255
    +
    +

    + Następnie musimy powiązać listę ACL z interfejsem, podobnie jak + w przypadku dynamicznego NAT-u, kiedy powiązaliśmy ACL z pulą. W celu + uruchomienia PAT-u, dodajemy do polecenia słowo kluczowe + overload. +

    +
    +Router(config)# ip nat inside source list 1 interface serial 0/1/1 overload
    +
    +

    + W tym przypadku wykorzystaliśmy słowo kluczowe + interface i podaliśmy ID interfejsu. + Teraz wszystkie połączenia z dwóch naszych podsieci będą tłumaczone + na ten jeden adres, który jest ustawiony na interfejsie + serial 0/1/1. Poza słowem + overload reszta polecenia pozostaje + taka sama. Ostatnią czynnością jest określenie stron na interfejsach. +

    +
    +Router(config)# interface GigabitEthernet0/1
    +Router(config-if)# ip nat inside
    +Router(config)# interface GigabitEthernet0/2
    +Router(config-if)# ip nat inside
    +Router(config)# interface serial 0/1/1
    +Router(config-if)# ip nat outside
    +
    +

    + Drugim podejściem jest translacja adresów na adresy z wcześniej + zdefiniowanej puli. Tutaj wykonujemy wszystkie czynności w taki + sam sposób jak w przypadku dynamicznego NAT-u, ale do polecenia + dowiązania listy ACL do puli dodajemy słowo kluczowe + overload. +

    +
    +Router(config)# ip nat pool NAT-POOL1 209.165.200.226 209.165.200.240 netmask 255.255.255.224
    +Router(config)# access-list 1 permit 192.168.0.0 0.0.255.255
    +Router(config-if)# ip nat inside source list 1 pool NAT-POOL1 overload
    +Router(config)# interface GigabitEthernet0/1
    +Router(config-if)# ip nat inside
    +Router(config)# interface GigabitEthernet0/2
    +Router(config-if)# ip nat inside
    +Router(config)# interface serial 0/1/1
    +Router(config-if)# ip nat outside
    +
    +

    + Po uruchomieniu NAT-u wyżej wymienionymi metodami, router będzie + starał zachować oryginalne porty, jednak jednak u któregoś z hostów + port źródły będzie się powtarzać to zostanie zmieniony na pierwszy + wolny. Router przeszukuje trzy grupy w poszukiwaniu odpowiedniego + portu do zmiany. Jeśli w jakiś sposób porty się wyczerpią, wówczas + dopiero, albo dalsza możliwość tłumaczenia zaniknie, jeśli + tłumaczyliśmy na pojedynczy adres, albo zostanie wykorzystany + kolejny adres z puli. Poniżej znajdują się zrzuty tablicy NAT oraz + statystyk dotyczących skonfigurowanego przez nas PAT-u. +

    +
    +Router# show ip nat translations
    +  Pro Inside global          Inside local         Outside local      Outside global
    +  tcp 209.165.200.225:1444  192.168.10.10:1444  209.165.201.1:80   209.165.201.1:80
    +  tcp 209.165.200.225:1445  192.168.11.10:1444  209.165.202.129:80 209.165.202.129:80
    +
    +Router# show ip nat statistics 
    +Total active translations: 4 (0 static, 2 dynamic; 2 extended)
    +Peak translations: 2, occurred 00:31:43 ago
    +Outside interfaces:
    +  Serial0/1/1
    +Inside interfaces: 
    +  GigabitEthernet0/1
    +  GigabitEthernet0/2
    +Hits: 4  Misses: 0
    +CEF Translated packets: 47, CEF Punted packets: 0
    +Expired translations: 0
    +Dynamic mappings:
    +-- Inside Source
    +[Id: 3] access-list 1 pool NAT-POOL1 refcount 2
    +  pool NAT-POOL1: netmask 255.255.255.224
    +      start 209.165.200.225 end 209.165.200.240
    +      type generic, total addresses 15, allocated 1 (6%), misses 0
    +...
    +
    +

    Zadanie praktyczne - Packet Tracer

    +

    + Konfiguracja PAT - scenariusz
    + Konfiguracja PAT - zadanie +

    +

    3.6.6. NAT64

    +

    + Protokół IPv6 nie potrzebuje takich mechanizmów jak NAT, zawiera + bardzo dużo adresów - nie wiadomo czy kiedyś się one skończą, Zawiera + on także adresy lokalne podobne do tych z RFC1918, ale nie mają one + takiej samej funkcji. NAT w IPv4, nazwany NAT64 + ma zupełnie inną funkcję, otóż służy on do tworzenia + transparentnych połączeń pomiędzy sieciami IPv6 a IPv4. Jest to + technologia przejściowa na czas całkowite migracji do IPv6. +

    +

    Zadanie praktyczne - Packet Tracer

    +

    + Konfiguracja NAT dla IPv4 - scenariusz
    + Konfiguracja NAT dla IPv4 - zadanie +

    +

    Laboratorium +

    + Konfiguracja NAT dla IPv4 +

    +

    Podsumowanie

    +

    + W tym rozdziale zapoznaliśmy się mechnizmem sieciowym NAT dla IPv4. + Mechnizm ten zapewnia dostęp komputerom sieci lokalnej do sieci + zewnętrznych. Poznaliśmy jego metodę działania oraz jego odmiany. + Dowiedziliśmy się w jaki sposób uruchomić go na sprzęcie Cisco z + systemami IOS. Na koniec wyjaśniono czym jest NAT64. +