DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ NETWORK ADDRESS TRANSLATION WSTĘP DO SIECI INTERNET Kraków, dn. 16 stycznia 2017 r.
PLAN Co to jest Network Address Translation? Przykłady zastosowania Typy adresów Porównanie NAT i PAT Podsumowanie cech translacji adresów Sposób konfiguracji translacji adresów na ruterach firmy CISCO
ZNANE SŁOWA I think there is a world market for maybe five computers Thomas Watson, IBM, 1943 640K should be enough for anybody Bill Gates, 1981 32 bits ought to be enough address space Vint Cerf, 1977
CO TO JEST NAT? NAT ang. network address translation Po raz pierwszy opisany w RFC 1631: The IP Network Address Translator (NAT) 1994 r. Używając techniki NAT, dokonujemy translacji adresów (najczęściej publicznych na prywatne) na brzegu sieci
ELEMENTY DZIAŁANIA NAT By działać, NAT potrzebuje: utrzymywać tablicę translacji adresów (i numerów portów) Adres wewnętrzny Adres zewnętrzny 10.0.0.2 149.156.201.1 10.0.0.10 201.20.20.20 10.0.1.20 201.10.10.10 dokonywać translacji adresów (i numerów portów) przeliczać odpowiednie sumy kontrolne
NAT Zakresy adresów prywatnych: Klasa A: 10.0.0.0 /8 Kla s a B: 172.16.0.0 / 12 Kla s a C: 19 2.16 8.0.0 / 16 Główne wykorzystanie NATa: gdy mamy jeden publiczny adres IP, a więcej niż jedno urządzenie Pula adresów publicznych w IPv4 się wyczerpuje.
ZASTOSOWANIE 1 149.156.203.0 /24 ISP 1 ISP 2 201.202.203.0 /24 Trzeba przeadresować wszystkie urządzenia w sieci!
ZASTOSOWANIE 2 192.168.1.0 /24 192.168.1.0 /24 konflikt adresów!
ZASTOSOWANIE 3 192.168.1.0 /24 ISP 1 149.156.203.3 ISP przydziela nam mniej adresów IP niż jest nam potrzebne. Najczęściej daje tylko 1!
TYPY ADRESÓW W NAT Inside Local adresy urządzeń wewnętrznych (inside) widziane z wewnątrz (local) Inside Global adresy urządzeń wewnętrznych (inside) widziane z zewnątrz (global) Outside Local adresy urządzeń zewnętrznych (outside) widziane z wewnątrz (local) Outside Global adresy urządzeń zewnętrznych (outside) widziane z zewnątrz (global)
DZIAŁANIE PAT 192.168.1.0 /24 serwer www 149.156.203.3 192.168.1.100 200.200.200.1 ISP IP źródła: 192.168.1.100:2000 IP celu: IP źródła: 149.156.203.3:80 200.200.200.1:3000 IP celu: 149.156.203.3:80 IP Port IP Port 192.168.1.100 2000 200.200.200.1 3000
DZIAŁANIE PAT 192.168.1.0 /24 serwer www 149.156.203.3 192.168.1.100 200.200.200.1 ISP IP źródła: 149.156.203.3:80 IP celu: 200.200.200.1:3000 IP źródła: 149.156.203.3:80 IP celu: 192.168.1.100:2000 IP Port IP Port 192.168.1.100 2000 200.200.200.1 3000
PROBLEMY Z PAT 192.168.1.0 /24 192.168.1.100 ISP serwer www 149.156.203.3 200.200.200.1 Jak zainicjować połączenia spoza sieci?
PROBLEMY Z PAT 149.156.203.3 192.168.1.100 NAT NAT 10.10.10.1 Jak zainicjować takie połączenie?
JAK ROZWIĄZAĆ PROBLEM Z NAT? przekierowanie portów jeśli znamy porty, na których działa aplikacja jest to konfiguracja trwała 200.200.200.1 192.168.1.100 192.168.1.200 NAT IP Port IP Port 192.168.1.100 80 200.200.200.1 80
NAT VS PAT Adres wewnętrzny Adres zewnętrzny 10.0.0.2 149.156.201.1 10.0.0.10 201.20.20.20 10.0.1.20 201.10.10.10 Adres wewn. Port Adres zewn. Port 10.0.0.2 80 204.1.1.10 16000 10.0.0.10 23000 204.1.1.10 16001 10.0.1.20 24000 204.1.1.10 16002
NAT - PODSUMOWANIE NAT pozwala na przezroczystą i dwustronną komunikację pomiędzy sieciami o dowolnej adresacji NAT eliminuje koszt związany z przeadresowaniem komputerów w sieciach NAT (PAT) oszczędza adresy IP NAT poprawia prywatność i bezpieczeństwo w sieci
NAT KONFIGURACJA, KROK PO KROKU 1. Definiujemy na ruterze, które interfejsy są wewnętrzne (prowadzą do naszej sieci), a które zewnętrzne (prowadzą na zewnątrz). Router(config-if )#ip nat inside/outside 2. Tworzymy access listę opisującą zakres adresów, które będą tłumaczone na granicy Router(config)# access-list <nr> permit <IP> <wildcard>
NAT - KONFIGURACJA 3. *Tworzymy pulę adresów na którą nastąpi translacja Router(config)# ip nat pool <nazwa> <IP> <IP> prefix-length <dł maski> 4. Tworzymy translację Router(config)# ip nat inside source list <nr> pool <nazwa> Router(config)# ip nat inside source list <nr> interface <interfejs> overload
NAT - KONFIGURACJA Do weryfikacji działania techniki NAT służą następujące komendy: show ip nat translations show ip nat statistics
PODSUMOWANIE Główne zastosowanie NATa w dzisiejszych sieciach to PAT, chociaż ma również inne zastosowania NAT poprawia bezpieczeństwo użytkowników, jednak poprzez ograniczenie ich osiągalności Nawiązanie połączenia pomiędzy dwoma użytkownikami będącymi za NATem można poprzez: urządzenie trzecie z publicznym adresem IP odpowiednie przekierowanie portów
Dziękuję za uwagę Kontakt: robert.wojcik@kt.agh.edu.pl