Detalii puțin cunoscute ale muncii - NAT nat - software-ul

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

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.

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 pachetul nostru 192.168.0.141 gazdă va primi direcționat către 11.22.33.44 de către gazdă străină“, - poate primi, sau poate nu; răspunsul la această întrebare depinde de punerea în aplicare a NAT la frontieră router.

Protocolul 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ă:

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:

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 FreeBSD, NAT se face pe natd daemon.

Dar, ca urmare a cauta PIX (aprox. HunSolo)

STUN client Versiunea 0.94
.
Primar: Port restricționat Nat, portul rundom, nici un ac de păr
Valoarea de retur este 0xb

Rămâne să explice ce este un „port aleator“, „păstrează porturile“ și „nici un 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 realizat prin „-same_ports“ cheie sau „-s“ pe termen de linie sau fișierul de configurare a demonului natd.

Răspunsul la această întrebare depinde de faptul dacă router-ul suporta functia 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. Numele funcției „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 „turn de 180 de grade.“ router funcția de „ac de păr“ Sprijinit 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.

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.).

concluzie