NAT

Поделись знанием:
Перейти к: навигация, поиск
К:Википедия:Статьи без источников (тип: не указан)

NAT (от англ. Network Address Translation — «преобразование сетевых адресов») — это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов. Также имеет названия IP Masquerading, Network Masquerading и Native Address Translation.





Функционирование

Преобразование адреса методом NAT может производиться почти любым маршрутизирующим устройством — маршрутизатором, сервером доступа, межсетевым экраном. Наиболее популярным является SNAT, суть механизма которого состоит в замене адреса источника (англ. source) при прохождении пакета в одну сторону и обратной замене адреса назначения (англ. destination) в ответном пакете. Наряду с адресами источник/назначение могут также заменяться номера портов источника и назначения.

Принимая пакет от локального компьютера, роутер смотрит на IP-адрес назначения. Если это локальный адрес, то пакет пересылается другому локальному компьютеру. Если нет, то пакет надо переслать наружу в интернет. Но ведь обратным адресом в пакете указан локальный адрес компьютера, который из интернета будет недоступен. Поэтому роутер «на лету» транслирует (подменяет) обратный IP-адрес пакета на свой внешний (видимый из интернета) IP-адрес и меняет номер порта (чтобы различать ответные пакеты, адресованные разным локальным компьютерам). Комбинацию, нужную для обратной подстановки, роутер сохраняет у себя во временной таблице. Через некоторое время после того, как клиент и сервер закончат обмениваться пакетами, роутер сотрет у себя в таблице запись о n-ом порте за сроком давности.

Помимо source NAT (предоставления пользователям локальной сети с внутренними адресами доступа к сети Интернет) часто применяется также destination NAT, когда обращения извне транслируются межсетевым экраном на компьютер пользователя в локальной сети, имеющий внутренний адрес и потому недоступный извне сети непосредственно (без NAT).

Существует 3 базовых концепции трансляции адресов: статическая (Static Network Address Translation), динамическая (Dynamic Address Translation), маскарадная (NAPT, NAT Overload, PAT).

Статический NAT — Отображение незарегистрированного IP-адреса на зарегистрированный IP-адрес на основании один к одному. Особенно полезно, когда устройство должно быть доступным снаружи сети.

Динамический NAT — Отображает незарегистрированный IP-адрес на зарегистрированный адрес из группы зарегистрированных IP-адресов. Динамический NAT также устанавливает непосредственное отображение между незарегистрированным и зарегистрированным адресом, но отображение может меняться в зависимости от зарегистрированного адреса, доступного в пуле адресов, во время коммуникации.

Перегруженный NAT (NAPT, NAT Overload, PAT, маскарадинг) — форма динамического NAT, который отображает несколько незарегистрированных адресов в единственный зарегистрированный IP-адрес, используя различные порты. Известен также как PAT (Port Address Translation). При перегрузке каждый компьютер в частной сети транслируется в тот же самый адрес, но с различным номером порта.

Механизм NAT определён в RFC 1631, RFC 3022.

Типы NAT

Классификация NAT, часто встречающаяся в связи с VoIP.[1] Термин «соединение» использован в значении «последовательный обмен пакетами UDP».

Симметричный NAT (Symmetric NAT) — Трансляция, при которой каждое соединение, инициируемое парой «внутренний адрес: внутренний порт» преобразуется в свободную уникальную случайно выбранную пару «публичный адрес: публичный порт». При этом инициация соединения из публичной сети невозможна. К:Википедия:Статьи без источников (тип: не указан)[источник не указан 2824 дня]

Cone NAT, Full Cone NAT — Однозначная (взаимная) трансляция между парами «внутренний адрес: внутренний порт» и «публичный адрес: публичный порт». Любой внешний хост может инициировать соединение с внутренним хостом (если это разрешено в правилах межсетевого экрана).

Address-Restricted cone NAT, Restricted cone NAT — Постоянная трансляция между парой «внутренний адрес: внутренний порт» и «публичный адрес: публичный порт». Любое соединение, инициированное с внутреннего адреса, позволяет в дальнейшем получать ему пакеты с любого порта того публичного хоста, к которому он отправлял пакет(ы) ранее.

Port-Restricted cone NAT — Трансляция между парой «внутренний адрес: внутренний порт» и «публичный адрес: публичный порт», при которой входящие пакеты проходят на внутренний хост только с одного порта публичного хоста — того, на который внутренний хост уже посылал пакет.

Преимущества

NAT выполняет три важных функции.

  1. Позволяет сэкономить IP-адреса (только в случае использования NAT в режиме PAT), транслируя несколько внутренних IP-адресов в один внешний публичный IP-адрес (или в несколько, но меньшим количеством, чем внутренних). По такому принципу построено большинство сетей в мире: на небольшой район домашней сети местного провайдера или на офис выделяется 1 публичный (внешний) IP-адрес, за которым работают и получают доступ интерфейсы с приватными (внутренними) IP-адресами.
  2. Позволяет предотвратить или ограничить обращение снаружи ко внутренним хостам, оставляя возможность обращения изнутри наружу. При инициации соединения изнутри сети создаётся трансляция. Ответные пакеты, поступающие снаружи, соответствуют созданной трансляции и поэтому пропускаются. Если для пакетов, поступающих снаружи, соответствующей трансляции не существует (а она может быть созданной при инициации соединения или статической), они не пропускаются.
  3. Позволяет скрыть определённые внутренние сервисы внутренних хостов/серверов. По сути, выполняется та же указанная выше трансляция на определённый порт, но возможно подменить внутренний порт официально зарегистрированной службы (например, 80-й порт TCP (HTTP-сервер) на внешний 54055-й). Тем самым, снаружи, на внешнем IP-адресе после трансляции адресов на сайт (или форум) для осведомлённых посетителей можно будет попасть по адресу example.org:54055, но на внутреннем сервере, находящемся за NAT, он будет работать на обычном 80-м порту. Повышение безопасности и скрытие «непубличных» ресурсов.

Недостатки

  1. Старые протоколы. Протоколы, разработанные до массового внедрения NAT, не в состоянии работать, если на пути между взаимодействующими хостами есть трансляция адресов. Некоторые межсетевые экраны, осуществляющие трансляцию IP-адресов, могут исправить этот недостаток, соответствующим образом заменяя IP-адреса не только в заголовках IP, но и на более высоких уровнях (например, в командах протокола FTP). См. Application-level gateway.
  2. Идентификация пользователей. Из-за трансляции адресов «много в один» появляются дополнительные сложности с идентификацией пользователей и необходимость хранить полные логи трансляций.
  3. Иллюзия DoS-атаки. Если NAT используется для подключения многих пользователей к одному и тому же сервису, это может вызвать иллюзию DoS-атаки на сервис (множество успешных и неуспешных попыток). Например, избыточное количество пользователей ICQ за NAT приводит к проблеме с подключением к серверу некоторых пользователей из-за превышения допустимой скорости подключений. Частичным решением проблемы является использование пула адресов (группы адресов), для которых осуществляется трансляция.
  4. Пиринговые сети. В NAT-устройствах, не поддерживающих технологию Universal Plug & Play, в некоторых случаях, необходима дополнительная настройка (см. Трансляция порт-адрес) при работе с пиринговыми сетями и некоторыми другими программами, в которых необходимо не только инициировать исходящие соединения, но также принимать входящие.

Пример

Трансляция локальной сети с диапазоном адресов 172.17.14.0/24 в глобальную сеть будет осуществляться через один внешний IP-адрес (адрес маршрутизатора, выполняющего трансляцию).

Применение:IP сеть через единственный IP-адрес

  • На рабочих станциях указанный шлюз по умолчанию или gateway
  • Преобразует служебные заголовки, формирует идентичный IP-пакет
  • Публикация локальных ресурсов во внешней IP-сети

• Экономическая выгода вследствие приобретения единственного IP-подключения, а не IP-сети.

• Сокрытие от внешнего наблюдателя структуры внутренней IP-сети.

• Организация системы с распределенной нагрузкой.

• При общем доступе через NAT прозрачно открывается доступ к внутренней структуре с защитой без использования межсетевого экрана и т. п.

• Через NAT корректно работают многие сетевые протоколы. Конструктивные реализации (общий доступ — это и есть подключение NAT) есть аппаратная реализация NAT (интегрированы межсетевые экраны).

NAT loopback

Смысл технологии NAT loopback (или NAT hairpinning) прост: если пакет приходит из внутренней сети на внешний IP-адрес маршрутизатора, он считается пришедшим извне — а значит, работают правила брандмауэра, относящиеся ко внешним соединениям. И если пакет успешно пройдёт сквозь брандмауэр, сработает NAT, взяв на себя посредничество между двумя внутрисетевыми машинами. Это даёт две вещи.

  1. Прямо изнутри локальной сети можно проверить, как настроены сетевые службы.
  2. Доступ к серверу, находящемуся в локальной сети, по доменному имени. Без NAT loopback пришлось бы править файл hosts на каждой машине для каждого задействованного домена и поддомена.

Недостатком NAT loopback можно считать повышенную нагрузку на хаб и маршрутизатор (по сравнению с прямым доступом к серверу).

NAT Traversal

NAT Traversal (прохождение или автонастройка NAT) — это набор возможностей, позволяющих сетевым приложениям определять, что они находятся за устройством, обеспечивающим NAT, узнавать внешний IP-адрес этого устройства и выполнять сопоставление портов для пересылки пакетов из внешнего порта NAT на внутренний порт, используемый приложением; все это выполняется автоматически, пользователю нет необходимости вручную настраивать сопоставления портов или вносить изменения в какие-либо другие параметры. Однако существуют меры предосторожности в доверии к таким приложениям — они получают обширный контроль над устройством, появляются потенциальные уязвимости.

Программная реализация NAT

При наличии уже существующего сервера под управлением серверной ОС возможно организовать трансляцию адресов без необходимости закупки дополнительных, аппаратных устройств. Как правило для программной реализации NAT требуется наличие по крайней мере двух сетевых адаптеров в сервере (возможны варианты с одним, но при наличии trunk-VLAN).

Все существующие и использующиеся серверные ОС поддерживают простейшую трансляцию адресов.

С точки зрения отказоустойчивости, гибкости и производительности, используются операционные системы семейства UNIX (большинство GNU/Linux, *BSD-системы, а также OpenSolaris и др.). Во многих из них NAT доступен «из коробки», в других возможна реализация за счёт добавления модулей в сочетании с межсетевыми экранами с функциями трансляции адресов (IPFW, IPtables и др.). Также, NAT работает «из коробки» в семействе операционных систем Windows Server.

См. также

Напишите отзыв о статье "NAT"

Примечания

  1. Андрей Жуков. [aoz.com.ua/2009/01/26/nat-types/ Типы Network Address Translation (NAT)]

Отрывок, характеризующий NAT

– Это что за каналья еще? Расстрелять мерзавцев! – хрипло кричал он, махая руками и шатаясь. Он испытывал физическое страдание. Он, главнокомандующий, светлейший, которого все уверяют, что никто никогда не имел в России такой власти, как он, он поставлен в это положение – поднят на смех перед всей армией. «Напрасно так хлопотал молиться об нынешнем дне, напрасно не спал ночь и все обдумывал! – думал он о самом себе. – Когда был мальчишкой офицером, никто бы не смел так надсмеяться надо мной… А теперь!» Он испытывал физическое страдание, как от телесного наказания, и не мог не выражать его гневными и страдальческими криками; но скоро силы его ослабели, и он, оглядываясь, чувствуя, что он много наговорил нехорошего, сел в коляску и молча уехал назад.
Излившийся гнев уже не возвращался более, и Кутузов, слабо мигая глазами, выслушивал оправдания и слова защиты (Ермолов сам не являлся к нему до другого дня) и настояния Бенигсена, Коновницына и Толя о том, чтобы то же неудавшееся движение сделать на другой день. И Кутузов должен был опять согласиться.


На другой день войска с вечера собрались в назначенных местах и ночью выступили. Была осенняя ночь с черно лиловатыми тучами, но без дождя. Земля была влажна, но грязи не было, и войска шли без шума, только слабо слышно было изредка бренчанье артиллерии. Запретили разговаривать громко, курить трубки, высекать огонь; лошадей удерживали от ржания. Таинственность предприятия увеличивала его привлекательность. Люди шли весело. Некоторые колонны остановились, поставили ружья в козлы и улеглись на холодной земле, полагая, что они пришли туда, куда надо было; некоторые (большинство) колонны шли целую ночь и, очевидно, зашли не туда, куда им надо было.
Граф Орлов Денисов с казаками (самый незначительный отряд из всех других) один попал на свое место и в свое время. Отряд этот остановился у крайней опушки леса, на тропинке из деревни Стромиловой в Дмитровское.
Перед зарею задремавшего графа Орлова разбудили. Привели перебежчика из французского лагеря. Это был польский унтер офицер корпуса Понятовского. Унтер офицер этот по польски объяснил, что он перебежал потому, что его обидели по службе, что ему давно бы пора быть офицером, что он храбрее всех и потому бросил их и хочет их наказать. Он говорил, что Мюрат ночует в версте от них и что, ежели ему дадут сто человек конвою, он живьем возьмет его. Граф Орлов Денисов посоветовался с своими товарищами. Предложение было слишком лестно, чтобы отказаться. Все вызывались ехать, все советовали попытаться. После многих споров и соображений генерал майор Греков с двумя казачьими полками решился ехать с унтер офицером.
– Ну помни же, – сказал граф Орлов Денисов унтер офицеру, отпуская его, – в случае ты соврал, я тебя велю повесить, как собаку, а правда – сто червонцев.
Унтер офицер с решительным видом не отвечал на эти слова, сел верхом и поехал с быстро собравшимся Грековым. Они скрылись в лесу. Граф Орлов, пожимаясь от свежести начинавшего брезжить утра, взволнованный тем, что им затеяно на свою ответственность, проводив Грекова, вышел из леса и стал оглядывать неприятельский лагерь, видневшийся теперь обманчиво в свете начинавшегося утра и догоравших костров. Справа от графа Орлова Денисова, по открытому склону, должны были показаться наши колонны. Граф Орлов глядел туда; но несмотря на то, что издалека они были бы заметны, колонн этих не было видно. Во французском лагере, как показалось графу Орлову Денисову, и в особенности по словам его очень зоркого адъютанта, начинали шевелиться.
– Ах, право, поздно, – сказал граф Орлов, поглядев на лагерь. Ему вдруг, как это часто бывает, после того как человека, которому мы поверим, нет больше перед глазами, ему вдруг совершенно ясно и очевидно стало, что унтер офицер этот обманщик, что он наврал и только испортит все дело атаки отсутствием этих двух полков, которых он заведет бог знает куда. Можно ли из такой массы войск выхватить главнокомандующего?
– Право, он врет, этот шельма, – сказал граф.
– Можно воротить, – сказал один из свиты, который почувствовал так же, как и граф Орлов Денисов, недоверие к предприятию, когда посмотрел на лагерь.
– А? Право?.. как вы думаете, или оставить? Или нет?
– Прикажете воротить?
– Воротить, воротить! – вдруг решительно сказал граф Орлов, глядя на часы, – поздно будет, совсем светло.
И адъютант поскакал лесом за Грековым. Когда Греков вернулся, граф Орлов Денисов, взволнованный и этой отмененной попыткой, и тщетным ожиданием пехотных колонн, которые все не показывались, и близостью неприятеля (все люди его отряда испытывали то же), решил наступать.
Шепотом прокомандовал он: «Садись!» Распределились, перекрестились…
– С богом!
«Урааааа!» – зашумело по лесу, и, одна сотня за другой, как из мешка высыпаясь, полетели весело казаки с своими дротиками наперевес, через ручей к лагерю.
Один отчаянный, испуганный крик первого увидавшего казаков француза – и все, что было в лагере, неодетое, спросонков бросило пушки, ружья, лошадей и побежало куда попало.
Ежели бы казаки преследовали французов, не обращая внимания на то, что было позади и вокруг них, они взяли бы и Мюрата, и все, что тут было. Начальники и хотели этого. Но нельзя было сдвинуть с места казаков, когда они добрались до добычи и пленных. Команды никто не слушал. Взято было тут же тысяча пятьсот человек пленных, тридцать восемь орудий, знамена и, что важнее всего для казаков, лошади, седла, одеяла и различные предметы. Со всем этим надо было обойтись, прибрать к рукам пленных, пушки, поделить добычу, покричать, даже подраться между собой: всем этим занялись казаки.
Французы, не преследуемые более, стали понемногу опоминаться, собрались командами и принялись стрелять. Орлов Денисов ожидал все колонны и не наступал дальше.
Между тем по диспозиции: «die erste Colonne marschiert» [первая колонна идет (нем.) ] и т. д., пехотные войска опоздавших колонн, которыми командовал Бенигсен и управлял Толь, выступили как следует и, как всегда бывает, пришли куда то, но только не туда, куда им было назначено. Как и всегда бывает, люди, вышедшие весело, стали останавливаться; послышалось неудовольствие, сознание путаницы, двинулись куда то назад. Проскакавшие адъютанты и генералы кричали, сердились, ссорились, говорили, что совсем не туда и опоздали, кого то бранили и т. д., и наконец, все махнули рукой и пошли только с тем, чтобы идти куда нибудь. «Куда нибудь да придем!» И действительно, пришли, но не туда, а некоторые туда, но опоздали так, что пришли без всякой пользы, только для того, чтобы в них стреляли. Толь, который в этом сражении играл роль Вейротера в Аустерлицком, старательно скакал из места в место и везде находил все навыворот. Так он наскакал на корпус Багговута в лесу, когда уже было совсем светло, а корпус этот давно уже должен был быть там, с Орловым Денисовым. Взволнованный, огорченный неудачей и полагая, что кто нибудь виноват в этом, Толь подскакал к корпусному командиру и строго стал упрекать его, говоря, что за это расстрелять следует. Багговут, старый, боевой, спокойный генерал, тоже измученный всеми остановками, путаницами, противоречиями, к удивлению всех, совершенно противно своему характеру, пришел в бешенство и наговорил неприятных вещей Толю.
– Я уроков принимать ни от кого не хочу, а умирать с своими солдатами умею не хуже другого, – сказал он и с одной дивизией пошел вперед.
Выйдя на поле под французские выстрелы, взволнованный и храбрый Багговут, не соображая того, полезно или бесполезно его вступление в дело теперь, и с одной дивизией, пошел прямо и повел свои войска под выстрелы. Опасность, ядра, пули были то самое, что нужно ему было в его гневном настроении. Одна из первых пуль убила его, следующие пули убили многих солдат. И дивизия его постояла несколько времени без пользы под огнем.


Между тем с фронта другая колонна должна была напасть на французов, но при этой колонне был Кутузов. Он знал хорошо, что ничего, кроме путаницы, не выйдет из этого против его воли начатого сражения, и, насколько то было в его власти, удерживал войска. Он не двигался.
Кутузов молча ехал на своей серенькой лошадке, лениво отвечая на предложения атаковать.
– У вас все на языке атаковать, а не видите, что мы не умеем делать сложных маневров, – сказал он Милорадовичу, просившемуся вперед.
– Не умели утром взять живьем Мюрата и прийти вовремя на место: теперь нечего делать! – отвечал он другому.
Когда Кутузову доложили, что в тылу французов, где, по донесениям казаков, прежде никого не было, теперь было два батальона поляков, он покосился назад на Ермолова (он с ним не говорил еще со вчерашнего дня).
– Вот просят наступления, предлагают разные проекты, а чуть приступишь к делу, ничего не готово, и предупрежденный неприятель берет свои меры.
Ермолов прищурил глаза и слегка улыбнулся, услыхав эти слова. Он понял, что для него гроза прошла и что Кутузов ограничится этим намеком.
– Это он на мой счет забавляется, – тихо сказал Ермолов, толкнув коленкой Раевского, стоявшего подле него.
Вскоре после этого Ермолов выдвинулся вперед к Кутузову и почтительно доложил:
– Время не упущено, ваша светлость, неприятель не ушел. Если прикажете наступать? А то гвардия и дыма не увидит.
Кутузов ничего не сказал, но когда ему донесли, что войска Мюрата отступают, он приказал наступленье; но через каждые сто шагов останавливался на три четверти часа.
Все сраженье состояло только в том, что сделали казаки Орлова Денисова; остальные войска лишь напрасно потеряли несколько сот людей.
Вследствие этого сражения Кутузов получил алмазный знак, Бенигсен тоже алмазы и сто тысяч рублей, другие, по чинам соответственно, получили тоже много приятного, и после этого сражения сделаны еще новые перемещения в штабе.
«Вот как у нас всегда делается, все навыворот!» – говорили после Тарутинского сражения русские офицеры и генералы, – точно так же, как и говорят теперь, давая чувствовать, что кто то там глупый делает так, навыворот, а мы бы не так сделали. Но люди, говорящие так, или не знают дела, про которое говорят, или умышленно обманывают себя. Всякое сражение – Тарутинское, Бородинское, Аустерлицкое – всякое совершается не так, как предполагали его распорядители. Это есть существенное условие.
Бесчисленное количество свободных сил (ибо нигде человек не бывает свободнее, как во время сражения, где дело идет о жизни и смерти) влияет на направление сражения, и это направление никогда не может быть известно вперед и никогда не совпадает с направлением какой нибудь одной силы.