Překlad IP adres nebo portu pro přístup do vnitřní sítě za routerem. Bez použití NATu by do vnitřních sítí nešlo přistupovat. Zároveň se tak šetří IPv4 adresy - pro jednu organizaci stačí jediná veřejná IP adresa pro celou vnitřní síť. Zpětný datový tok na jednotlivá zařízení realizuje právě NAT. NAT překládá lokální adresy na vnější.
Adresy NAT
Existují 4 adresy, které je nutné rozlišovat při nasazení NATu na router:
- inside local address - adresy zařízení ve vnitřní síti
- inside global address - adresy viditelné z vnějšího prostředí představující vnitřní zařízení
- outside local address - adresa zařízení na vnější síti, které je cílem komunikace
- outside global address - adresa vnějšího zařízení viditelná z vnitřní sítě
Typy NAT
Static - jedné vnitřní adrese je přiřazena jedna vnější adresy. Nutno mít dostatek veřejných adres!
Dynamic - "obdoba DHCP" - na určitý počet vnitřních adres je přiřazen menší počet vnějších adres. Ty jsou přidělovány v případě potřeby. Po dokončení požadavku na komunikaci je vnější IP adresa opět uvolněna.
Port address translation - využíváme několik nebo jedinou vnější IP adresu, požadavky na komunikaci jsou vyřizovány přes port. Postupuje se s čísly portu tak, že pro další nový požadavek je přiděleno další číslo portu. Po vyčerpání rozsahu se použita další veřejná IP adresa.
Schéma ukázkové sítě
Static NAT
Přiřazujeme dvojice IP adres k sobě - tedy na jednu vnitřní adresu potřebujeme jednu volnou vnější IP adresu. Pro několik málo přístupu z vnějšku to jde, pro větší množství by to bylo plýtvání veřejnými IP adresami. V podstatě NAT pro všechny počítače znaměná použití veřejných adres pro každý zvlášť.
Zde přiřadíme volno IP adresu 209.10.20.100 adrese počítače 192.168.0.10, druhý dostane vnější IP adresu 209.10.20.101 pro svoji 192.168.0.20. Pokud z vnějšího prostředí pingneme 209.10.20.100 - pingáme ve skutečnosti PC-LAN-1.
Inside global address pool | Inside local address |
209.10.20.100 | 192.168.0.10 |
209.10.20.101 | 192.168.0.20 |
Konfigurace Static NAT
Router(config)#ip nat inside source static 192.168.0.10 209.10.20.100 - propojení vnější a vnitřní adresy
Router(config)#ip nat inside source static 192.168.0.20 209.10.20.101 - propojení vnější a vnitřní adresy
Router(config)#int fast 0/0
Router(config-if)#ip nat inside - určení vnitřního rozhraní routeru
Router(config)#int fast 0/0
Router(config-if)#ip nat outside - určení vnějšího rozhraní routeru
Kontrola
Router#show ip nat translation
Router#show ip nat statistics
Router#clear ip nat statistics
Dynamic NAT
Dynamický NAT řeší problém s množstvím volných veřejných IP adres tak, že pro omezený počet vnějších adres přiřadí větší množství IP adres vnitřních. Dojde tedy k jisté úspoře. NIcméně je to pořád 1 veřejná IP adresa na jedno připojení k síti z vnějšího prostředí.
Inside global address pool | Inside local address |
209.10.20.100 | 192.168.1.10 |
209.10.20.101 | 192.168.1.20 |
not assigned | 192.168.1.30 |
Konfigurace Dynamic NAT
Router(config)#ip nat pool MUJ-NAT 215.45.85.226 215.45.85.240 netmask 255.255.255.224 - konfigurace rozsahu veřejných adres
Router(config)#access-list 50 permit 192.168.1.0 0.0.0.128 - přístup pro vymezenou síť - adresy budou moci být překládány
Router(config)#ip nat inside source list 50 pool MUJ-NAT - vytvořený ACL je přiřazen vnějším adresám z MUJ-NAT
Router(config)#int fast 0/0
Router(config-if)#ip nat inside - určení vnitřního rozhraní routeru
Router(config)#int giga 0/0
Router(config-if)#ip nat outside - určení vnějšího rozhraní routeru
Port address translation
Asi nejlepší řešení, pro jednu vnější IP adresu umožníme připojneí na port. Pak nám stačí pouze tato jedna adresa k přístupu na mnoho vnitřních IP adres.
Inside global address pool | Inside local address |
209.10.20.100:1952 | 192.168.0.10 |
209.10.20.100:1953 | 192.168.0.20 |
209.10.20.100:1954 | 192.168.0.30 |
Konfigurace Port Address Translation - konfigurace na několik vnějších adres
Rozsah adres
Router(config)#ip nat pool MUJ-PAT 209.10.20.100 209.10.20.101 netmask 255.255.255.0 - konfigurace rozsahu veřejných adres
Router(config)#access-list 50 permit 192.168.0.0 0.0.0.255 - přístup pro vymezenou síť - adresy budou moci být překládány
Router(config)#ip nat inside source list 50 pool MUJ-PAT overload - vytvořený ACL je přiřazen vnějším adresám z MUJ-PAT - klíčové slovo overload na konci řádku je rozdíl mezi Dynamic NAT a PAT!
Router(config)#int fast 0/0
Router(config-if)#ip nat inside - určení vnitřního rozhraní routeru
Router(config)#int giga 0/0
Router(config-if)#ip nat outside - určení vnějšího rozhraní routeru
Konfigurace Port Address Translation - konfigurace na jedinou vnější IP adresu
Pouze jedna veřejná IP
Router(config)#access-list 50 permit 192.168.0.0 0.0.0.255 - přístup pro vymezenou síť - adresy budou moci být překládány
Router(config)#ip nat inside source list 50 interface giga 0/0 overload - vytvořený ACL je přiřazen výstupnímu zařízení - klíčové slovo overload na konci řádku
Router(config)#int fast 0/0
Router(config-if)#ip nat inside - určení vnitřního rozhraní routeru
Router(config)#int giga 0/0
Router(config-if)#ip nat outside - určení vnějšího rozhraní routeru
Diagnostika je u všech stejná - viz Static NAT
Port forwarding
Na hraničním routeru lze nastavit přeposílání určitých paketů (dle čísla portu - např. 80) na pevnou vnitřní IP adresu.
Router(config)#ip nat inside source static tcp 192.168.1.20 80 209.10.20.1 8080 - propojení vnitřní adresy s 192.168.0.20:80 s vnější lokální adresou (vnější rozhraní routeru) 209.10.20.1:8080
Router(config)#int fast 0/0
Router(config-if)#ip nat inside - určení vnitřního rozhraní routeru
Router(config)#int giga 0/0
Router(config-if)#ip nat outside - určení vnějšího rozhraní routeru