1. Wstęp do NAT
• Definicja: NAT to technika, która umożliwia zmianę adresów IP w pakietach sieciowych przechodzących przez router. NAT jest powszechnie używany do translacji adresów prywatnych w publiczne w sieciach lokalnych (LAN), co pozwala na dostęp do Internetu z wielu urządzeń przy użyciu jednego publicznego adresu IP.
• Cel: NAT pomaga zarządzać ograniczoną liczbą publicznych adresów IP i zwiększa bezpieczeństwo sieci poprzez ukrycie adresów prywatnych przed światem zewnętrznym.
2. Rodzaje NAT
• Static NAT (SNAT):
• Opis: Statyczna translacja, gdzie każdy prywatny adres IP jest mapowany na określony publiczny adres IP. Jest używane, gdy chcesz, aby jedno urządzenie w sieci lokalnej (np. serwer) miało stały publiczny adres.
• Zastosowanie: Często stosowane dla serwerów w sieci lokalnej (np. serwery WWW, FTP).
• Dynamic NAT:
• Opis: Adresy prywatne są mapowane na pulę publicznych adresów IP. Router przydziela publiczny adres z dostępnej puli, ale nie ma stałej mapy pomiędzy adresem prywatnym a publicznym.
• Zastosowanie: Używane, gdy wiele urządzeń w sieci lokalnej korzysta z różnych publicznych adresów w zależności od dostępności.
• PAT (Port Address Translation) / NAT Overloading:
• Opis: Jeden publiczny adres IP jest używany do translacji wielu prywatnych adresów IP. W tym przypadku, różne urządzenia w sieci lokalnej dzielą ten sam publiczny adres, ale każde połączenie jest identyfikowane przez unikalny numer portu.
• Zastosowanie: Jest to najczęściej stosowana forma NAT w domowych sieciach, ponieważ pozwala na korzystanie z wielu urządzeń przy jednym publicznym adresie IP.
3. Przykład konfiguracji NAT na routerze
• Założenia:
• Sieć lokalna ma adresy z zakresu 192.168.1.0/24.
• Publiczny adres IP routera to 203.0.113.1.
• Chcemy skonfigurować NAT dla wychodzących połączeń internetowych (PAT).
3.1. Konfiguracja NAT w systemie Cisco (przykład)
W przypadku routera Cisco konfiguracja NAT może wyglądać następująco:
• Krok 1: Wybór interfejsu LAN i WAN
• Interfejs LAN: GigabitEthernet0/1 (adres 192.168.1.1)
• Interfejs WAN: GigabitEthernet0/0 (adres 203.0.113.1)
• Krok 2: Konfiguracja NAT na routerze
• Wchodzimy do trybu konfiguracji globalnej:
Router> enable
Router# configure terminal
• Konfiguracja PAT (Overloading):
Aby umożliwić wielu urządzeniom w sieci lokalnej korzystanie z jednego publicznego adresu IP, używamy NAT z przekształceniem portów (PAT):
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)# ip nat inside source list 1 interface GigabitEthernet0/0 overload
• Wyjaśnienie:
• access-list 1 permit 192.168.1.0 0.0.0.255 – Tworzymy listę dostępu, która pozwala na translację adresów z sieci 192.168.1.0/24.
• ip nat inside source list 1 interface GigabitEthernet0/0 overload – Konfigurujemy NAT, używając interfejsu WAN (GigabitEthernet0/0) jako punktu wyjścia. Opcja overload oznacza, że wiele urządzeń będzie używać tego samego publicznego adresu IP, ale różne numery portów.
• Krok 3: Oznaczenie interfejsów wewnętrznych i zewnętrznych
• Interfejs wewnętrzny (LAN):
Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip nat inside
• Interfejs zewnętrzny (WAN):
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip nat outside
3.2. Konfiguracja NAT w systemie Linux
W systemie Linux NAT może być skonfigurowany za pomocą narzędzi iptables. Przykład konfiguracji NAT (PAT) dla połączeń wychodzących:
• Krok 1: Włączenie przekazywania pakietów
• Aby router mógł przekazywać pakiety między interfejsami, należy włączyć funkcję przekazywania pakietów:
echo 1 > /proc/sys/net/ipv4/ip_forward
• Krok 2: Konfiguracja NAT (PAT)
• Za pomocą iptables konfigurujemy translację adresów z wewnętrznej sieci 192.168.1.0/24 na publiczny adres IP:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
• -t nat: Określenie, że konfigurujemy tabelę NAT.
• -A POSTROUTING: Dodajemy regułę po przetworzeniu pakietu (po trasowaniu).
• -o eth0: Określenie interfejsu wyjściowego (np. eth0 to interfejs z publicznym adresem IP).
• -j MASQUERADE: Użycie trybu masquaradingu (typowy dla PAT).
4. Testowanie NAT
• Testowanie połączenia: Po skonfigurowaniu NAT można przetestować połączenie z Internetem z urządzeń w sieci lokalnej, np. za pomocą polecenia ping lub traceroute.
• Sprawdzanie tabeli NAT: Na routerze Cisco możesz użyć komendy:
Router# show ip nat translations
W systemie Linux:
iptables -t nat -L -n -v
5. Zabezpieczenia związane z NAT
• Zabezpieczanie NAT: NAT może stanowić dodatkową warstwę ochrony, ponieważ ukrywa adresy prywatne sieci lokalnej. Jednak ważne jest również skonfigurowanie zapory ogniowej (firewall) w celu ochrony przed atakami.
• Zmiany w NAT przy przekierowywaniu portów: W niektórych przypadkach, gdy musisz udostępnić usługi (np. serwer WWW), konieczne może być skonfigurowanie przekierowania portów na routerze.
6. Podsumowanie
• NAT jest technologią, która umożliwia efektywne zarządzanie adresami IP i zapewnia bezpieczeństwo sieci. Konfiguracja NAT w routerze pozwala na translację adresów IP w sieci, umożliwiając wielu urządzeniom korzystanie z jednego publicznego adresu IP.
• Istnieje kilka typów NAT, w tym Static, Dynamic i PAT, w zależności od wymagań dotyczących adresacji i dostępności publicznych adresów IP.