NAT Overloading sau Port Address Translation (PAT) este o formă modificată de NAT dinamic în care numărul de adrese locale interioare este mai mare decât numărul de adrese globale interioare. De cele mai multe ori, există o singură adresă IP globală internă care asigură accesul la internet pentru toate gazdele interne. Supraîncărcarea NAT este singura variantă de NAT care conservă efectiv adresele IP și este, de asemenea, cea mai populară formă de NAT.
Figura 10-4 Traducerea adreselor de port (PAT)
PAT permite supraîncărcarea sau maparea a mai mult de o adresă locală interioară la aceeași adresă globală interioară. Dar acest lucru înseamnă, de asemenea, că pachetele de retur ar avea toate aceeași adresă de destinație atunci când ajung la routerul NAT. Cum ar putea să știe routerul la ce adresă locală internă aparține fiecare pachet de retur? Pentru a face față acestui scenariu, intrările NAT din tabelul de traducere sunt intrări extinse; intrările nu urmăresc doar adresele IP relevante, ci și tipurile de protocol și porturile. Prin traducerea atât a adresei IP, cât și a numărului de port al unui pachet, până la 65535 de adrese locale interioare ar putea, teoretic, să fie mapate pe o singură adresă globală inisde (pe baza numărului de port pe 16 biți).
Dar nu uitați că o singură intrare NAT utilizează aproximativ 160 de octeți de memorie a routerului, astfel încât 65535 de intrări ar necesita mai mult de 10 MB de memorie și, de asemenea, cantități mari de putere a procesorului. În configurațiile practice PAT, nici pe departe nu este mapat acest număr de adrese, dar este cu siguranță o limită teoretică.
Iată un exemplu de configurație pentru supraîncărcarea NAT sau PAT conform figurii 10-4.
R1>
R1>enable
R1#configure terminal
Intrați comenzile de configurare, una pe linie. Terminați cu CNTL/Z.
R1(config)#ip nat pool MyPool 67.210.97.1 67.210.97.1 ?
netmask Specificați masca de rețea
prefix-length Specificați lungimea prefixului
R1(config)#ip nat pool MyPool 67.210.97.1 67.210.97.1 67.210.97.1 67.210.97.1 netmask 255.255.255.255.0
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.0.255
R1(config)#ip nat inside source list 1 pool MyPool overload
R1(config)#interface FastEthernet0/0
R1(config-if)#ip address 192.168.1.1 255.255.255.255.0
R1(config-if)#ip nat inside
R1(config-if)#interface FastEthernet0/1
R1(config-if)#ip address 67.210.97.1 255.255.255.255.255.0
R1(config-if)#ip nat outside
R1(config-if)#end
R1#
Configurația de mai sus poate părea foarte asemănătoare cu configurația pentru NAT dinamic, însă există diferențe importante. În primul rând, grupul de adrese IP a fost micșorat la o singură adresă IP atribuită interfeței exterioare a routerului R1.
În al doilea rând, lista de acces 1 se potrivește cu întreaga rețea de clasă C 192.168.1.0/24, ceea ce înseamnă că orice adresă locală interioară din această rețea va fi tradusă. Dacă doriți ca o anumită gazdă din această rețea să nu fie tradusă, trebuie să specificați în mod explicit prin adăugarea unei declarații deny la lista de acces. Să presupunem că dorim să refuzăm traducerea unei singure gazde 192.168.1.2, permițând în același timp toate celelalte gazde:
R1(config)#access-list 1 permit 192.168.1.0 0 0.0.0.0.255
De asemenea, există o adăugare a cuvântului cheie overload cu comanda ip nat inside source list 1 pool MyPool.
Să începem verificarea noastră obișnuită prin emiterea comenzii show ip nat translations:
R1#show ip nat translations
R1#
Nu există mape statice și, prin urmare, rezultatul gol de mai sus. Să generăm niște trafic de la gazde interne către server și să emitem din nou comanda show ip nat translations:
Pro Inside global Inside local Outside local Outside global
icmp 67.210.91.1:18 192.168.1.2:18 173.194.67.102:18 173.194.67.102:18 173.194.67.102:18
icmp 67.210.91.1:19 192.168.1.3:19 173.194.67.102:19 173.194.67.102:19
icmp 67.210.91.1:20 192.168.1.4:20 173.194.67.102:20 173.194.67.102:20 173.194.67.102:20 173.194.67.102:20
După cum puteți vedea în rezultatul de mai sus, toate adresele locale interioare sunt traduse în aceeași adresă globală interioară, ceea ce reprezintă esența supraîncărcării NAT sau PAT. Este posibil să fi observat că routerul a păstrat numerele porturilor sursă pe măsură ce adresele locale interioare au fost traduse în adrese globale interioare. Acesta este comportamentul obișnuit, dar atunci când routerul creează o nouă intrare de traducere astfel încât numărul portului sursă este deja utilizat, numărul portului este, de asemenea, tradus într-un număr diferit. Întâmplarea ca două gazde interioare să aleagă același număr de port sursă nu este foarte frecventă, dar totuși se poate întâmpla mai ales când numărul de conexiuni dinspre interior spre exterior este semnificativ.
Să emitem și comanda show ip nat statistics:
Total traduceri active: 3 (0 statice, 3 dinamice; 3 extinse)
Interfețe exterioare:
Serial1/0
Interfețe interioare:
FastEthernet0/0
Hits: 135 Misses: 15
CEF Pachete traduse: 150, CEF Pachete punctate: 0
Translații expirate: 12
Corelări dinamice:
– Inside Source
access-list 1 pool MyPool refcount 3
pool MyPool: netmask 255.255.255.255.0
start 67.210.91.1 end 67.210.91.1
type generic, total adrese 1, alocate 1 (100%), ratări 0
Pachete puse în coadă: 0
Ar trebui să țineți cont de două lucruri. În primul rând, supraîncărcarea NAT este utilă în orice situație în care numărul de gazde interioare este mai mare decât adresele publice pe care le aveți. În multe situații, aveți o singură adresă IP publică, care este atribuită interfeței exterioare a routerului dvs. orientat către Internet. În acest caz, pool-ul dvs. ar consta dintr-o singură adresă IP, așa cum arată configurația de mai sus. Cu toate acestea, este posibil să aveți mai multe adrese IP publice disponibile, dintre care una poate fi atribuită interfeței orientate spre Internet a routerului dumneavoastră. În acest caz, grupul NAT poate fi format din mai multe adrese IP, utilizând în continuare supraîncărcarea NAT pentru a găzdui un număr mai mare de gazde interne care doresc să se conecteze la internet. Pe scurt, puteți avea o singură adresă publică supraîncărcată sau puteți avea mai multe adrese publice supraîncărcate.
NAT Overload sau PAT este cea mai răspândită configurație NAT din motivul evident că este varianta de NAT care păstrează de fapt adresele IP globale, principalul motiv al utilizării NAT.
.