Малко известни подробности за работата NAT - Нат - софтуер

Така NAT съответствия маса, всеки запис се състои от две стойности - IL и IG.

Исторически погледнато, той е бил негов, обикновено имат предвид, когато ние използваме термина "NAT", а около него и ще говорим в бъдеще, поради разпространението му.

До сега, това е добре познат неща. Въпреки това, ако се вгледате в NAT-близо, възникват нови въпроси. Да вземем един прост мрежа с един компютър и рутер, който изпълнява NAT. рутер модел в този случай не е твърде важно - например, това е отдавна е остаряла, но все още е популярен Cisco 1601R.

интерфейс Serial0
IP адрес 11.22.33.44 255.255.255.252
IP Нат извън

интерфейс Ethernet0
IP адрес 192.168.0.1 255.255.255.0
IP Нат вътре

IP Нат вътре списък източник MyNetwork интерфейс Serial0 претоварване
IP достъп списък удължен MyNetwork
разрешително IP 192.168.0.0 0.0.0.255 всеки

В резултат на това в NAT таблицата ще бъде приблизително записа:

Прото Вътре глобалната Вътре местно Извън местно Извън глобалната

UDP 11.22.33.44:1053 192.168.0.141:1053 1.2.3.4:53 1.2.3.4:53

Между другото - добре, да кажем, че няма такова приложение, като че ли е? Както е добре известно на потребителите на програми като съревновавам и eDonkey, те изискват да бъде предоставена възможност свободно да получите UDP пакети с дестинация порт 4661 или 4242, или 4321 - точния брой пристанище зависи от настройките. И това също е добре известно, че техните потребители, тези програми не работят добре, да бъдат изстреляни от локална мрежа зад NAT. Така че, може да се случи, отчасти защото, въпреки успешното създаване на локален клиент връзки към сървъра, поради естеството на конкретното прилагане на NAT други клиенти, които са във външния свят, не може да се установи връзка с локален клиент.

По същата причина, той не може да работи DCC чат в IRC клиент, трансфер на файлове по ICQ и такива неща, които изискват безпрепятствено придвижване на пакети директно между компютъра на потребителя.

По този начин, отговаряйки на въпроса: "Не ни домакин 192.168.0.141 пакет ще се насочи към 11.22.33.44 от чуждестранната приемаща", - може би да получа, или може би не; отговорът на този въпрос зависи от изпълнението на NAT на граничния маршрутизатор.

STUN протокол

това бягане и уточняване като параметър на командния ред на една от публичния STUN сървър на, вие ще знаете типа на вашата NAT:

STUN клиент версия 0.94
Основно: Пълен Cone Нат, случаен порт, не фиба
Върната стойност е 0x9

Горният резултат е постигнат на компютър зад рутера ZyXEL Prestige 645R.

Резултат за Cisco 1721 маршрутизатор IOS версия 12.2, от своя страна, тя изглежда така:

STUN клиент версия 0.94
.
Основно: Port Restricted Нат, запазва пристанища, без фиба
Върната стойност е 0x1B

Същият резултат се получава за рутера конструиран чрез FreeBSD, NAT се извършва на natd на услуга.

Но в резултат на търсене на PIX (прибл. HunSolo)

STUN клиент версия 0.94
.
Основно: Port Restricted Нат, rundom порт, не фиба
Върната стойност е 0xb

Остава да се обясни какво е "случаен порт", "запазва пристанища" и "не фиба" в горните резултати.

Погледнете отново линията от NAT таблицата в нашия пример:

Прото Вътре глобалната Вътре местно Извън местно Извън глобалната

UDP 11.22.33.44:1053 192.168.0.141:1053 1.2.3.4:53 1.2.3.4:53

Както можете да видите, нашият рутер се опитва да запази същия брой порт (11.22.33.44:1053 и 192.168.0.141:1053), от което следва, че започна в неговата локална мрежа STUN-клиент да бъде информиран за това запазва пристанища. Между другото, FreeBSD, този резултат се постига чрез ключовите "-same_ports" или "-s" в съответствие план или конфигурационния файл natd демон на.

Отговорът на този въпрос зависи от това дали рутера поддържа функцията на "фибата" или не поддържа. Ако той го поддържа, пакетът ще бъде обработена по обичайния начин, и (ако рутера се използва прилагане на NAT Пълен Cone или Port с ограничения) стига до местоназначението - на 192.168.0.141 домакин. Ако не ( "без фиба"), пакетът ще бъде унищожена от рутера. Функция име "остър" (остър) произлиза от факта, че, ако такъв пакет да представлява преминаването на фигурата, формата на пътя ще бъде подобен на U-образна игла. Друго обяснение - думата "фибата" се превежда по същия начин, както и "180 градуса завой." Поддържани рутер функция "фиба", попадащи под действието на своите пакети, наистина, да се завърта на 180 градуса и се изпраща обратно към WLAN.

NAT шлюзове и приложения

За съжаление, не всички мрежови протоколи взаимодействие с NAT безболезнено. Най-честият пример - е FTP. Има две възможни случаи.

Проблемът тук възниква, когато клиентът се опитва да използва активен режим FTP. Сесията се провежда по същото време, както следва. В един момент на връзката контрол на сървъра е прехвърлен FTP-клиент команда: PORT 192,16,0,101,4,211.

Допълнителна диалоговия изглежда така:

Сървър: 200 PORT команда успешно. Помислете за използване PASV.
Клиент: RETR file.zip
Сървър: 150 Откриване двоичен режим връзка за данни за file.zip (1,334,109 байта).

За борба проблем е описано превключване на сървъра може да се използва в така наречените пасивен режим. Тъй като в този режим, инициаторът изпълнява клиентски връзка за данни, проблемът изчезва. Ето защо Microsoft Internet Explorer, както и конзола в FTP-клиент, вграден в Windows, използвайте пасивен режим по подразбиране (те се вмъкват автоматично в предната част на командата RETR и командата PASV NLST, смяна на сървъра в пасивен режим).

ALG подобна функционалност в маршрутизатори на базата на Linux OS осигуряване на допълнителни товарни модули и петна на ядрото (като ip_masq_ftp, ip_masq_irc и така нататък. Н.).

заключение