|
NATТрансляция сетевых адресов (NAT) это технология которая позволяет отображать IP адреса (номера портов) из одной группы в другую, прозрачно для конеченого пользователя. NAT может использоваться для достижения двух основных целей:
Принципы организации сети Интернет требуют, чтобы каждый узел сети имел уникальный IP-адрес. Однако из-за все возрастающего дефецита свободных IP-адресов получение индивидуального IP-адреса для каждого компьютера в организации может быть не всегда оправдано. Также, для сетей на базе протокола IP, не требующих непосредственного подключения к Интернет выделено три диапазона IP-адресов (IP-сетей): Данные адреса также иногда называют частными или "серыми" IP-адресами. Таким образом любая организация может назначать узлам внутри своей локальной сети IP-адреса из указанных диапазонов. Однако, непосредственный доступ в Интернет из таких сетей невозможен. Данное ограничение можно обойти за счет технологии NAT. Достаточно иметь единственный узел с доступом в Интернет и имеющим уникальный ("белый") IP-адрес, выданный провайдером. Такой узел будет назваетсяваться шлюзом. Шлюз должен иметь, как минимум два сетевых, адаптера (сетевых карты, модемов и т.д.), один из которых обеспечивает доступ в Интернет. Этому внешнему адаптеру присвоен "белый" IP-адрес. Остальным, внутренним адаптерам могут быть присвоены как "белые", так и "серые" IP-адреса. При прохождении сетевых пакетов через шлюз, с внутреннего адаптера на внешний происходит трансляция сетевых адресов (NAT). В общем виде, существует довольно много схем трансляции сетевых адресов. Большинство из них описаны в RFC-1631, RFC-2663, RFC-2766, RFC-3022. В Lan2net NAT Firewall используется схема NAPT в терминах RFC-2663. Данная схема является разновидностью Traditional NAT, детального описанного в RFC-3022. В Linux подобная схема NAT называется "Masquarading". В Lan2net NAT Firewall NAT выполняется для протоколов TCP, UDP и ICMP. Трансляция сетевых адресов выполняется в процессе контроля транзитных соединений. Когда пакет IP-соединения с "серым" адресом источника передается драйвером TCP/IP к драйверу внешнего сетевого адаптера, драйвер Lan2net NAT Firewall перехватывает пакет и модифицирует в нем IP-адрес источника и номер порта источника для протоколов UDP и TCP. Для пакетов протокола ICMP модифицируется идентификатор запроса. После модификации пакета он передается драйверу внешнего сетевого адаптера и далее отсылается целевому узлу в Интернет. Для принятых ответных пакетов данного соединения происходит обратная модификация указанных параметров. В процессе модификации, "серый" IP-адрес источника заменяется на "белый" IP-адрес, назначенный внешнему сетевому адаптеру. При дальнейшей передаче пакет выглядит, как будь-то, он отправлен с "белого" IP-адреса. Тем самым обеспечивается уникальность IP-адреса источника соединения в рамках всей сети Интернет. Модификация номеров TCP- и UDP- портов источника и идентификатора ICMP-запроса осуществляется таким образом, чтобы значения данных параметров оставались уникальными в рамках всех транзитных и исходящих IP-соединений для данного сетевого адаптера. В Lan2net NAT Firewall уникальные номера портов источника и идентификаторов запроса назначаются из диапазона 30000-43000. Получив ответные пакеты, драйвер внешнего сетевого адаптера передает их драйверу TCP/IP. В этот момент пакеты перехватываются драйвером Lan2net NAT Firewall. Драйвер Lan2net NAT Firewall опеределяет принадлежность пакетов исходному IP-соединению. Так как при модификации номеров TCP- или UDP-портов или идентификатора ICMP-запроса в исходящих пакетах им были присвоены уникальные значения, то теперь на основе этих значений драйвер может восстановить оригинальный ("серый") IP-адрес источника запроса. Таким образом, в ответных пакетах значение IP-адрес назначения заменяется на IP-адрес источника запроса, а номера TCP- или UDP-портов или идентификатора ICMP-запроса также восстанавливают свои оригинальные значения. После этого ответные пакеты передаются драйверу TCP/IP и далее через внутренний адаптер к узлу, сделавшему запрос. Как видно, описаный механизм обеспечивает прозрачный доступ в Интернет с узлов с "серыми" IP-адресами. Кроме того, все соединения после шлюза выглядят как, если бы они были установлены с единственного "белого" IP-адреса. Тем самым обеспечивается сокрытие внутренней структуры корпоративной или домашней сети. |