]> gitweb.morketsmerke.org Git - mmdev.git/commitdiff
Rozpoczęcie pisania 6 rodziału, modułu 3, kursu CCNA.
authorxf0r3m <jakubstasinski@protonmail.com>
Wed, 20 Nov 2024 14:48:18 +0000 (15:48 +0100)
committerxf0r3m <jakubstasinski@protonmail.com>
Wed, 20 Nov 2024 14:48:18 +0000 (15:48 +0100)
articles/terminallog/Cisco_-_CCNA.html

index 84ce31f9dd101f14a6a71121e4080d4baf84b060..7c529629650fe91ddb051bede2906adc4a6ba78f 100755 (executable)
@@ -14224,6 +14224,196 @@ R1(config)#
           Na koniec poznaliśmy w jaki sposób możemy weryfikować listy ACL na 
           naszych urządzeniach.
         </p>
+        <h1 id="3.6.natforipv4">3.6. NAT dla IPv4</h1>
+        <p>
+          Jak może pamiętamy z poprzedniego modułu pula adresów IPv4 jest
+          na wyczerpaniu. W obecnym stanie rzeczy nie wystarcza adresów dla
+          wszystkich urządzeń podłączonych do Internetu. Gdy osoby 
+          odpowiedzialne za rozwój sieci globalnej spostrzegli, że pula adresów
+          jest alokowana w bardzo szybkim tempie i za jakiś czas ich po prostu
+          zacznie brakować, wydzielono trzy klasy adresów prywatnych. Adresy
+          tego rodzaju są nie jednoznaczne dlatego też nie mogą być routowane
+          w Internecie. Nie należą bowiem one do żadnej organizacji. Za
+          definicję adresów odpowiada dokument RFC 1918, wydzielając tym samym:
+        </p>
+        <ul>
+          <li><strong>Klasa A</strong> - 10.0.0.0 - 10.255.255.255 - 10.0.0.0/8</li>
+          <li><strong>Klasa B</strong> - 172.16.0.0 - 172.31.255.255 -
+            172.16.0.0/12</li>
+          <li><strong>Klasa C</strong> - 192.168.0.0 - 192.168.255.255 -
+            192.168.0.0/16</li>
+        </ul>
+        <p>
+          Lokalne sieci komputerowe wykorzystują klasę adresów prywatnych do
+          adresowania swoich komputerów. Jako że te adresy nie mogą 
+          funkcjonować poza sieciami lokalnymi, to musi istnieć mechanizm,
+          który pozwoli na zamianę adresów prywatnych na adresy publiczne. 
+          Tym właśnie jest <strong>NAT</strong>. Jak wszysystko na świecie,
+          ta funkcjonalność posiada wady i zalety, które zostaną omówione
+          w tym rozdziale.
+        </p>
+        <p>
+          Mechanizm translacji adresów, zamienia adresy prywatne na adresy
+          publiczne. W zależności czy są to adresy prywatne czy publiczne lub
+          ruch jest przychodzący lub wychodzący spotkamy się z takimi
+          określeniami adresów jak:
+        </p>
+        <ul>
+          <li><strong>Wewnętrzny lokalny (<em>Inside local</em>)</strong> - 
+            adres źródła widziany z perspektywy wnętrza sieci. Zwykle jest to
+            prywatny adres IPv4.</li>
+          <li><strong>Wewnętrzny globalny (<em>Inside global</em>)</strong> -
+            adres źródła widziany z zewnątrz sieci. Jest to zazwyczaj globalnie
+            routowalny adres IPv4.</li>
+          <li><strong>Zewnętrzny globalny (<em>Outside global</em>)</strong> - 
+            adres docelowy widziany z zewnątrz sieci. Jest adresm IPv4
+            globalnie routowalny przypisanym hostowi w Internecie.</li>
+          <li><strong>Zewnętrzny lokalny (<em>Outside local</em>)</strong> -
+            Adres docelowy widziany z perspektywy wnętrza sieci. Nie jest to
+            powszechnie praktykowane, ale adres ten może być inny niż
+            adres publiczny.</li>
+        </ul>
+        <h2 id="3.6.1.typesofnat">3.6.1. Typy NAT</h2>
+        <p>
+          Mechnizm NAT może występować w kilku wariantach. Które różnią się
+          technikami mapowania adresów. Pierwszym z nich jest 
+          <strong>statyczny NAT</strong>, w
+          którym to jeden adres prywatny zamieniany na jeden adres publiczny.
+          Translacja jeden-do-jeden (1:1). Takie mapowania są wykonywane przez
+          administratora i są nie zmienne bez rekonfiguracji.
+        </p>
+        <p>
+          Drugim rodzajem jest <strong>dynamiczny NAT</strong> - przypisuje on
+          adresy na podstawie kolejności żądań dostępu do sieci zewnętrznej.
+          Obie te metody NAT, wymagają odpowiednio dużej <strong>puli adresów
+          publicznych</strong> przydzielonych przez operatora internetowego,
+          jeśli pula będzie za mała, to tylko część z hostów będzie mieć
+          dostęp do sieci zewnętrznej. A jak możemy się domyślić to operatorzy
+          obecnie już nawet klientom biznesowym niechętnie ustępniają adresy
+          IP.
+        </p>
+        <p>
+          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 <strong>PAT (<em>Port Adress Translation</em>)</strong>
+          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
+          źródłowych. Wówczas dla adresu wewnętrznego globalnego przypisywany
+          jest inny numer portu i tak przetworzony pakiet wysyłany jest do
+          hosta docelowego. W taki sposób działają mechnizmy NAT w urządzeniach
+          domowych lub przeznaczonych dla małych firm.
+        </p>
+        <p>
+          Podczas działania mechaznizm PAT stara się zachować oryginale porty,
+          jeśli jest to jednak niemożliwe, wówczas używa on pierwszego
+          dostępnego z odpowiedniej grupy portów: 0-511, 512-1023 lub 
+          1024-65535. Jeśli jakimś cudem wszystkie porty zostaną wykorzystane,
+          to dopiero mechanizm przechodzi do kolejnego adresu.
+        </p>
+        <p>
+          Porównując PAT oraz NAT. To NAT:
+        </p>
+        <ul>
+          <li>Mapowanie jeden do jeden między adresami wewnętrznymi lokalnymi
+            a wewnętrznymi globalnymi.</li>
+          <li>Używa tylko adresów IPv4 w procesie translacji.</li>
+          <li>Unikalny adres wewnętrzny globalny jest wymagany, dla każdego
+            wewnętrznego hosta łączącego się z siecą zewnętrzną.</li>
+        </ul>
+        <p>
+          A PAT z kolei:
+        </p>
+        <ul>
+          <li>Jeden adres wewnętrzny globalny można mapować na wiele adresów
+            wewnętrznych.</li>
+          <li>Używa adresów IPv4 i numerów portów źródłowych TCP lub UDP w
+            procesie translacji.</li>
+          <li>Pojedynczyny unikalny adres wewnętrzny globalny, może być
+            wspołdzielony przez wiele wewnętrznych hostów łączących się z
+            siecią zewnętrzną.</li>
+        </ul>
+        <p>
+          W przypadku mechanizmu PAT, pozostaje jedna nierozwiązana kwestia.
+          Otóż wymiana komunikatów <em>echo</em> protokołu ICMP przez PAT.
+          Tak naprawdę to TCP, UDP i ICMP przez PAT osbługiwane są w nieco inny
+          sposób. W przypadku działania narzędzia <em>ping</em> wykorzystywane
+          jest pole <strong>Query ID</strong> zawarte w komunikatach
+          <em>echo request</em>, <em>echo reply</em>. To pole zwiększane jest
+          o jeden z każdym wysłanym zapytaniem do sieci zewnętrznej.
+        </p>
+        <h3 id="3.6.1.pka">Zadanie praktyczne - Packet Tracer</h3>
+        <p>
+          <a href="">Badanie działania NAT - scenariusz</a><br />
+          <a href="">Badanie działania NAT - zadanie</a>
+        </p>
+        <h2 id="3.6.2.natprosandcons">3.6.2. Zalety i wady mechanizmu NAT</h2>
+        <p>
+          Do zalet mechanizmu NAT możemy zaliczyć:
+        </p>
+        <ul>
+          <li>Zmniejszenie zapotrzebowania na publiczne adresy IP.</li>
+          <li>Zwiększenie elastyczności połączenia z siecią zewnątrzną.</li>
+          <li>Zapewnienie spójności schematów adresowania.</li>
+          <li>Ukrycie adresów IPv4 użytkowników i urządzeń sieci lokalnej.</li>
+        </ul>
+        <p>
+          Natomiast do wad mechanizmu NAT możemy zaliczyć:
+        </p>
+        <ul>
+          <li>Wydajność sieci, szczególnie widoczna w protokołach czasu
+            rzeczywistego takich VoIP.</li>
+          <li>Translacje z adresu prywatnego na prywatny.</li>
+          <li>Utrata adresowania <em>end-to-end</em>, co może powodować
+            zaburzenie działania aplikacji bezpieczeństwa, np. podpisu
+            elektronicznego.</li>
+          <li>Utrata śledzenia pakietów IP <em>end-to-end</em>.</li>
+          <li>Komplikacje podczas używania protokołów tunelowania - przez
+            ingerencje w pakiety.</li>
+          <li>Zakłócenie działania protokółów inicjujących połączeń TCP z
+            zewnątrz (FTP), czy protokołów bezstanowych UDP.</li>
+        </ul>
+        <h2 id="3.6.3.staticnatonios">3.6.3. NAT statyczny w IOS</h2>
+        <p>
+          Załóżmy hipotetycznie, że mamy serwer WWW o adresie 192.168.1.10,
+          ma on być dostępny dla klientów z sieci zewnętrznej pod adrem
+          209.169.201.6. Co należy zrobić, aby zrealizować to zadanie przy
+          użyciu routera Cisco?
+        </p>
+        <p>
+          Otóż na początek tworzymy odwzorowanie między adresem wewnętrznym
+          lokalnym, a adresem wewnętrznym globalnym.
+        </p>
+<pre class="code-block">
+Router(config)# ip nat inside source static 192.168.1.10 209.169.201.6
+</pre>
+        <p>
+          W powyższym polecenie użyliśmy słów kluczowych:
+          <code class="code-inline">inside</code> ze względu, że dokonujemy
+          mapowań wewnętrznych (lokalny do globalnego),
+          <code class="code-inline">source</code>, ponieważ router ma zamieniać
+          adresy źródłowe oraz <code class="code-inline">static</code>,
+          ustawiamy NAT statyczny, to jest mapowanie adresów 1:1.
+        </p>
+        <p>
+          Następnym zadaniem jest określenie stron translacji. Sieć LAN
+          wykorzystuje <em>Ethernet</em> więc ostatni port będzie łączem z
+          sieci do routera. Natomiast port szeregowy będzie symulować naszą
+          sieć rozległą.
+        </p>
+<pre class="code-block">
+Router(config)# interface g0/2
+Router(config-if)# ip address 192.168.1.254 255.255.255.0
+Router(config-if)# ip nat inside
+Router(config-if)# exit
+R2(config)# interface serial 0/1/1
+R2(config-if)# ip address 209.169.201.6 255.255.255.252
+R2(config-if)# ip nat outside
+</pre>
+        <p>
+          Teraz adresy źródłowe serwera WWW będą tłumaczone na nasz adres
+          wewnętrzny globalny.
+        </p>
       </div>
    </body>
 </html>