Mai puțin cunoscute detalii de operare nat (cisco), blog-

NAT, într-adevăr, mântuirea pentru administratorul de sistem atunci când aveți nevoie pentru a conecta rapid la LAN pe Internet. Dar dacă tot ce știi despre el?

NAT și punerea sa în aplicare

Astfel, NAT tabelă mapări, fiecare intrare este format din două valori - IL și IG.

caz mai frecvente - aceasta NPAT, rețea și portul adresa de traducere. Când utilizați NPAT în tabelul de mapare, fiecare intrare are două (ca în NAT simplă) și cinci valori:

Punct de vedere istoric, a fost lui, au de obicei în minte atunci când folosim termenul «NAT», și despre el și vom vorbi în viitor, datorită prevalenței sale.

Până acum, a fost un bine-cunoscut lucruri. Cu toate acestea, dacă te uiți la NAT mai aproape, apar noi întrebări. Pentru a realiza o rețea simplă cu un computer și un router care efectuează NAT. model de router, în acest caz, nu este prea important - de exemplu, acesta a fost mult timp depășite, dar încă popular Cisco 1601R (a se vedea figura 2 ..).

Figura 2. Exemplu de rețea cu NAT


!
. Ultima modificare de configurare la 09:29:45 UTC într-o zi de TheAllmightyMaster
. NVRAM config actualizat ultima dată la 19:27:46 UTC altă zi de TheAllmightyMaster
!
versiunea 12.2
...
interfaţă Serial0
adresa IP 11.22.33.44 255.255.255.252
ip nat în afara
...
interfaţă Ethernet0
Adresa IP 192.168.0.1 255.255.255.0
ip nat în interior
...
ip nat în interiorul interfață lista sursă MyNetwork Serial0 suprasarcină
...
ip lista de acces extins MyNetwork
permis de IP 192.168.0.0 0.0.0.255 orice

Ca urmare, în tabelul de NAT va fi de aproximativ record:

Proto interior la nivel mondial în interiorul locală din afara locală din afara la nivel mondial
UDP 11.22.33.44:1053 192.168.0.141:1053 1.2.3.4:53 1.2.3.4:53

Apropo - bine, să spunem că nu există nici o astfel de aplicație, ca și cum ar fi fost? După cum este bine cunoscut pentru utilizatorii de programe, cum ar fi eMule și eDonkey, ei cer să li se ofere posibilitatea de a primi în mod liber pachete UDP cu portul de destinație 4661, sau 4242 sau 4321 - numărul de port exact depinde de setările. Și aceasta este, de asemenea, bine cunoscut pentru utilizatorii lor, aceste programe nu funcționează bine, fiind concediat dintr-o rețea locală în spatele NAT. Deci, se poate întâmpla, în parte pentru că, în ciuda stabilirea cu succes a unei conexiuni client locale la server, din cauza naturii implementării specifice a NAT alți clienți care sunt în lumea exterioară, nu se poate stabili o conexiune cu un client local.

Din același motiv, este posibil să nu funcționeze DCC chat în IRC client, transfer de fișiere pe ICQ și lucruri de genul care necesită călătorie fără obstacole de pachete direct între calculatorul utilizatorului.

Astfel, răspunzând la întrebarea, „Do vom obține un pachet de gazdă 192.168.0.141 care vizează 11.22.33.44 de către gazdă străină“ - pot fi primite, sau poate nu; răspunsul la această întrebare depinde de punerea în aplicare a NAT la frontieră router.

Implementările cum există patru:

Figura 3. Algoritmul de STUN

Rularea-l și specificând ca parametru de linie de comandă a unuia dintre publice STUN-server, veți cunoaște tipul de NAT dumneavoastră:


C: \> client.exe stun.xten.com
STUN client Versiunea 0.94
...
Primar: Full Cone Nat, port aleator, nici un ac de păr
Valoarea de retur este 0x9

Rezultatul de mai sus a fost obținut pe un calculator din spatele router ZyXEL Prestige 645R.

Rezultatul pentru Cisco 1721 router IOS versiunea 12.2, la rândul său, se pare ca acest lucru:

C: \> client.exe stun.xten.net
STUN client Versiunea 0.94
...
Primar: Port restricționat Nat, păstrează porturile, fără ac de păr
Valoarea de retur este 0x1B

Același rezultat a fost obținut pentru router construit pe baza FreeBSD 4.9, la care NAT efectuat daemon natd.

Rămâne să explice ce «port aleator», «păstrează porturile» și «nu» ac de păr în rezultatele de mai sus.

Uită-te din nou la linia din tabelul de NAT în exemplul nostru:

Proto interior la nivel mondial în interiorul locală din afara locală din afara la nivel mondial
UDP 11.22.33.44:1053 192.168.0.141:1053 1.2.3.4:53 1.2.3.4:53

După cum puteți vedea, router-ul nostru încearcă să păstreze același număr de port (11.22.33.44:1053 și 192.168.0.141:1053), din care rezultă că a început în rețeaua locală sa STUN-client să fie informat cu privire la aceasta «păstrează porturile». Apropo, FreeBSD, acest rezultat este obținut prin tasta «-same_ports» sau «-s» la începutul liniei sau fișierul de configurare a demonului natd.

Răspunsul la această întrebare depinde de faptul dacă router-ul acceptă funcția de «ac de păr» sau nu acceptă. Dacă el susține, pachetul va fi procesat în mod obișnuit, și (în cazul în care router-ul este utilizat pentru punerea în aplicare a NAT Full con sau port restricted) ajunge la destinație - pentru 192.168.0.141 gazdă. Dacă nu ( «nici un ac de păr»), pachetul va fi distrus de către router. Nume funcție «ac de păr» (ac de păr), derivă din faptul că, în cazul în care un astfel de pachet pentru a reprezenta trecerea figurii, forma calea va fi similar cu un știft în formă de U. O altă explicație - cuvântul „ac de păr“ este tradus în același mod ca și un „viraj de 180 de grade.“ Sprijinit Funcția router «ac de păr» care intră sub acțiunea pachetelor sale, într-adevăr, să fie rotit cu 180 de grade și trimis înapoi la WLAN.

gateway-uri și aplicații NAT

Din păcate, nu toate protocoalele de rețea de interacțiune cu NAT nedureroasă. Cel mai comun exemplu - este FTP. Există două cazuri posibile.

Figura 4. Exemplu de FTP-sesiune

Problema aici apare atunci când un client încearcă să utilizeze modul FTP activ. Sesiunea are loc în același timp, după cum urmează. La un moment dat de pe conexiunea de control serverul este transferat FTP-client comandă: PORT 192,16,0,101,4,211.

Mai mult de dialog arată astfel:

Server: comanda 200 PORT de succes. Luați în considerare utilizarea PASV.
Client: RETR file.zip
Server: 150 Deschidere conexiune de date BINARY pentru modul file.zip (1,334,109 bytes).

Pentru a combate problema descrisă comutarea server poate fi utilizat într-un mod pasiv așa-numitele. Deoarece în acest mod, inițiatorul realizează conexiunea de date client, problema dispare. De aceea, Microsoft Internet Explorer, precum și o consolă în FTP-client, construit în Windows, utilizați modul pasiv implicit (acestea sunt inserate automat în fața comenzii RETR și comanda PASV NLST, comutarea server în modul pasiv).

ALG funcționalitate similară în routere bazate pe Linux OS furnizează module suplimentare incarcabile și patch-uri pentru kernel-ul (cum ar fi ip_masq_ftp, ip_masq_irc și așa mai departe. N.).

Trimite acest link: