Nat трансляция сетевых адресов - Мир ПК
Fruitsekta.ru

Мир ПК
10 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Nat трансляция сетевых адресов

Технология преобразования сетевых адресов, механизмы PAT и NAT

Технология преобразования сетевых адресов (NAT)

Ещё одним механизмом, позволяющим поддерживать сетевую безопасность , является технология NAT .

NAT ( Network Address Translation – преобразование сетевых адресов) – это механизм в сетях TCP/IP , позволяющий преобразовывать IP-адреса транзитных пакетов. Механизм NAT описан в RFC 1631, RFC 3022.

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

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

На рисунках ниже приведен пример действия механизма NAT .

Пользователь корпоративной сети отправляет запрос в Интернет , который поступает на внутренний интерфейс маршрутизатора, сервер доступа или межсетевого экрана (устройство NAT ).

Устройство NAT получает пакет и делает запись в таблице отслеживания соединений, которая управляет преобразованием адресов.

Затем подменяет адрес источника пакета собственным внешним общедоступным IP-адресом и посылает пакет по месту назначения в Интернет .

Узел назначения получает пакет и передает ответ обратно устройству NAT .

Устройство NAT , в свою очередь , получив этот пакет, отыскивает отправителя исходного пакета в таблице отслеживания соединений, заменяет IP- адрес назначения на соответствующий частный IP- адрес и передает пакет на исходный компьютер . Поскольку устройство NAT посылает пакеты от имени всех внутренних компьютеров, оно изменяет исходный сетевой порт и данная информация хранится в таблице отслеживания соединений.

Существует 3 базовых концепции трансляции адресов:

  • статическая (SAT, Static Network Address Translation),
  • динамическая (DAT, Dynamic Address Translation),
  • маскарадная (NAPT, NAT Overload, PAT).

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

Динамический NAT отображает набор частных адресов на некое множество публичных IP-адресов. Если число локальных хостов не превышает число имеющихся публичных адресов, каждому локальному адресу будет гарантироваться соответствие публичного адреса. В противном случае, число хостов, которые могут одновременно получить доступ во внешние сети, будет ограничено количеством публичных адресов.

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

Механизмов взаимодействия внутренней локальной сети с внешней общедоступной сетью может быть несколько – это зависит от конкретной задачи по обеспечению доступа во внешнюю сеть и обратно и прописывается определенными правилами. Определены 4 типа трансляции сетевых адресов:

  • Full Cone (Полный конус)
  • Restricted Cone (Ограниченный конус)
  • Port Restricted Cone (Порт ограниченного конуса)
  • Symmetric (Симметричный)

В первых трех типах NAT для взаимодействия разных IP-адресов внешней сети с адресами из локальной сети используется один и тот же внешний порт . Четвертый тип – симметричный – для каждого адреса и порта использует отдельный внешний порт .

При использовании NAT , работающему по типу Full Cone, внешний порт устройства (маршрутизатора, сервера доступа, межсетевого экрана) открыт для приходящих с любых адресов запросов. Если пользователю из Интернета нужно отправить пакет клиенту, расположенному за NAT ’ом, то ему необходимо знать только внешний порт устройства, через который установлено соединение. Например, компьютер за NAT ’ом с IP-адресом 192.168.0.4 посылает и получает пакеты через порт 8000, которые отображаются на внешний IP- адрес и порт , как 10.1.1.1:12345. Пакеты из внешней сети приходят на устройство с IP-адресом:портом 10.1.1.1:12345 и далее отправляются на клиентский компьютер 192.168.0.4:8000.

Во входящих пакетах проверяется только транспортный протокол; адрес и порт назначения, адрес и порт источника значения не имеют.

При использовании NAT , работающему по типу Restricted Cone, внешний порт устройства (маршрутизатора, сервера доступа, межсетевого экрана) открыт для любого пакета, посланного с клиентского компьютера, в нашем примере: 192.168.0.4:8000. А пакет, пришедший из внешней сети (например, от компьютера 172.16.0.5:4000) на устройство с адресом:портом 10.1.1.1:12345, будет отправлен на компьютер 192.168.0.4:8000 только в том случае, если 192.168.0.4:8000 предварительно посылал запрос на IP- адрес внешнего хоста ( в нашем случае – на компьютер 172.16.0.5:4000). То есть, маршрутизатор будет транслировать входящие пакеты только с определенного адреса источника (в нашем случае компьютер 172.16.0.5:4000), но номер порта источника при этом может быть любым. В противном случае, NAT блокирует пакеты, пришедшие с хостов, на которые 192.168.0.4:8000 не отправлял запроса.

Механизм NAT Port Restricted Cone почти аналогичен механизму NAT Restricted Cone. Только в данном случае NAT блокирует все пакеты, пришедшие с хостов, на которые клиентский компьютер 192.168.0.4:8000 не отправлял запроса по какому-либо IP-адресу и порту. Mаршрутизатор обращает внимание на соответствие номера порта источника и не обращает внимания на адрес источника. В нашем примере маршрутизатор будет транслировать входящие пакеты с любым адресом источника, но порт источника при этом должен быть 4000. Если клиент отправил запросы во внешнюю сеть к нескольким IP-адресам и портам, то они смогут посылать пакеты клиенту на IP- адрес : порт 10.1.1.1:12345.

Symmetric NAT существенно отличается от первых трех механизмов способом отображения внутреннего IP-адреса:порта на внешний адрес : порт . Это отображение зависит от IP-адреса:порта компьютера, которому предназначен посланный запрос . Например, если клиентский компьютер 192.168.0.4:8000 посылает запрос компьютеру №1 (172.16.0.5:4000), то он может быть отображен как 10.1.1.1:12345, в тоже время, если он посылает с того же самого порта (192.168.0.4:8000) на другой IP- адрес , он отображается по-другому (10.1.1.1:12346).

Компьютер №1 (172.16.0.5:4000) может отправить пакет только на 10.1.1.1:12345, а компьютер №2 (169.10.2.8:6000) – только на 10.1.1.1:12346. Если любой из них попытается отправить пакеты на порт , с которого он не получал запроса, NAT заблокирует данные пакеты.

Внешний IP- адрес : порт открыт только тогда, когда клиентский компьютер отправляет данные во внешнюю сеть по определенному адресу:порту.

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

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

Однако следует упомянуть и о недостатках данной технологии:

Как работает трансляция сетевых адресов (NAT)

В первую очередь NAT был представлен миру IT и сетям из-за отсутствия IP-адресов или взгляда на него с другой точки зрения из-за огромного количества растущей ИТ-технологии, основанной на IP-адресах. Чтобы добавить к этому, NAT добавляет уровень безопасности, скрывая компьютеры, серверы и другое ИТ-оборудование из внешнего мира.

Читать еще:  Как заблокировать адрес

Когда компьютеры и серверы в сети обмениваются данными, их нужно идентифицировать друг с другом по уникальному адресу, в результате чего создается 32-битное число, а комбинации этих 32 бит будут вмещать более 4 миллиардов уникальных адресов, известный как IP-адрес. Это было названо IPv4, и хотя более 4 миллиардов адресов звучит много, он действительно не рассматривает, как быстро вырос мир компьютеров и Интернета.

Чтобы обойти эту проблему, было создано временное решение, известное как NAT. NAT привел к двум типам IP-адресов, общедоступных и частных. Был введен ряд частных адресов, которые каждый мог использовать, если они были закрыты в сети и не маршрутизировались в Интернете. Диапазон частных адресов, известных как RFC 1918;

NAT позволяет использовать этот частный IP-адрес во внутренней сети. Таким образом, в вашей частной сети вы назначаете уникальный IP-адрес всем вашим компьютерам, серверам и другим ресурсам, управляемым IP, обычно выполняемым через DHCP. Другая компания может использовать одни и те же частные IP-адреса, если они хранятся внутри своей сети. Таким образом, две компании могут использовать один и тот же диапазон IP-адресов, но поскольку они являются частными для своей сети, они не конфликтуют друг с другом.

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

Теперь перейдем к делу; Когда хост во внутренней сети с внутренним IP-адресом должен обмениваться данными за пределами своей частной сети, он будет использовать общедоступный IP-адрес в шлюзе сети, чтобы идентифицировать себя с остальным миром, и этот перевод преобразования частного IP-адреса адрес для общественности осуществляется NAT. Например, компьютер по внутреннему адресу 192.168.1.10 хотел бы общаться с веб-сервером где-то в Интернете, NAT переведет адрес 192.168.1.10 на общедоступный адрес компании, например, позвоните по этому 1.1.1.1. так что внутренний адрес определяется как общий адрес при общении с внешним миром. Это необходимо сделать, потому что, когда веб-сервер где-то в Интернете должен был ответить на этот внутренний компьютер, ему необходимо отправить его на уникальный и маршрутизируемый адрес в Интернете, общий адрес. Он не может использовать исходный адрес 192.168.1.10, поскольку он является закрытым, ни одного маршрутизируемого и скрытого от внешнего мира. Этот адрес, 1.1.1.1, будет адресом общего адреса для этой компании и может рассматриваться всеми. Теперь веб-сервер ответит на этот общедоступный адрес, 1.1.1.1. Затем NAT будет использовать свои записи для перевода пакетов, полученных с веб-сервера, который был предназначен для 1.1.1.1, во внутренний сетевой адрес 192.168.1.10, и хотя компьютер, который запросил исходную информацию, получит запрашиваемые пакеты.

Теперь вы можете увидеть два преимущества NAT. Во-первых, это сэкономит на IP-адресах, которые мы используем, поскольку каждому отдельному компьютеру не нужен публичный адрес, а также он будет скрывать эти частные компьютеры из внешнего мира. Каждый может видеть только публичный адрес, остальное скрывается за этим публичным адресом. Таким образом, из Интернета можно видеть только публичный адрес на внешнем интерфейсе брандмауэра или маршрутизатора и ничего за его пределами.

Типы NAT

Три основных типа правил NAT используются сегодня в зависимости от того, что необходимо выполнить;

Статический NAT

Пул открытых IP-адресов назначается устройству NAT. Затем частный IP-адрес может быть статически сопоставлен любому из этих общедоступных адресов. Этот тип схемы NATTING обычно используется для серверов, требующих одного и того же IP-адреса, поэтому имя «статическое», поэтому сервер 1 всегда будет иметь тот же самый IP-адрес, назначенный ему, сервер 2 будет иметь другой публичный IP-адрес, назначенный ему и так далее.

Динамический NAT

Опять же, устройство NAT будет состоять из пула IP-адресов. На этот раз, хотя пул IP-адресов будет использоваться по мере необходимости, а затем возвращается в пул. Поэтому, если компьютеру A нужен публичный адрес, это займет один из пула, а затем отложите его, когда закончите. В следующий раз, когда одному и тому же компьютеру понадобится IP-адрес, ему может быть присвоен другой общий адрес из пула, потому что тот, который использовался ранее, может использоваться другим компьютером, поэтому имя «динамическое». Поэтому пользователи, которые хотят общаться в Интернете в любой момент времени, будут ограничены тем, сколько общедоступных IP-адресов доступно в пуле NAT. Компания будет покупать несколько публичных IP-адресов в зависимости от их потребностей.

Трансляция адресов портов (PAT)

В этом типе настройки компания будет иметь только один общедоступный IP-адрес, назначенный для своей сети, и поэтому каждый будет использовать этот общий публичный адрес при использовании Интернета, например, в Интернете. Да, вы можете спросить, как каждый может поделиться одним адресом, ну и ключ лежит в имени, переводе адреса порта. Когда компьютер хочет использовать Интернет, устройство NAT, используя метод PAT, будет помнить IP-адрес и исходный порт внутреннего хоста. Например, 192.168.1.10 с исходным портом 55331 хотели просмотреть Amazon.com. Устройство NAT сохранит это, и когда Amazon ответит на общедоступный адрес и номер порта 55331, устройство NAT будет использовать метод PAT и искать информацию о порте, которая отображается на внутреннем компьютере, запрашивающем его. Поэтому было бы сказано, что эта информация Amazon отправила обратно на общедоступный адрес и номер порта 55331, сопоставив с IP-адресом 192.168.1.10, который изначально запросил его, хотя информация для этого компьютера. Таким образом, соединения однозначно идентифицируются исходным портом, все используют один и тот же общедоступный IP-адрес, но с уникальными портами-источниками, чтобы определить, кто запросил какую-либо информацию.

Используя этот метод, компания будет экономить разумные деньги и IP-адреса, потому что использует только один IP-адрес. Это стало основным фактором, почему IPv6 упоминается уже несколько лет, но в большинстве стран он еще не требуется.

NAT также реализуется в домашних маршрутизаторах и аппаратных брандмауэрах, таких как Netgear и Linksys этого мира, а также высокопроизводительные аппаратные брандмауэры, такие как Cisco и Juniper.

Это оказалось ценной особенностью аппаратных брандмауэров для сохранения общедоступных IP-адресов, а также контрмеры для некоторых типов атак, таких как разведывательная атака.

Недостатки NAT

Как и все, NAT имеет свои недостатки. Некоторые приложения и службы, такие как VPN и видеоконференции, могут обрабатываться через NAT (не совсем верно, поскольку вы можете в большинстве случаев настроить их для работы с NAT, но можете немного запутаться при настройке правил в приложениях, маршрутизаторах и межсетевые экраны).

Однако, чтобы обойти вышеупомянутую проблему, для этих специализированных сервисов можно приобрести несколько дополнительных IP-адресов. Однако в долгосрочной перспективе IPv6 уже внедряется в некоторых технологиях и в некоторых частях мира. Эта схема адресации использует 128-битную схему нумерации, в отличие от 32 битов IPv4, используемых для адресов. IPv6 поддерживает 2 по мощности 128 адресов, по сравнению с IPv4 2 до 32, теперь это массовое увеличение IP-адресов, хотя в будущем будет доказано увеличение IP-адресации с использованием IPv6.

Трансляция сетевых адресов (NAT). Виды, схемы работы

Трансляция сетевых адресов (NAT) используется многими сервис провайдерами и частными пользователями для решения проблемы нехватки реальных IP-адресов и обеспечения безопасности локальных сетей подключенных к Интернету. Например. Предприятие может иметь выделенный диапазон реальных IP-адресов, но гораздо большее количество компьютеров имеющих локальные IP-адреса которым необходим доступ в Интернет. Для решения этой проблемы используется технология трансляции адресов, которая позволяет компьютерам локальной сети взаимодействовать с сетью Интернет, используя всего один внешний реальный IP-адрес. NAT решает эту проблему с помощью подмены локального IP-адреса на наружный общедоступный адрес. Заменяя внутренний IP-адрес и порт на внешний IP-адрес и порт, NAT сохраняет таблицу соответствия, затем при получении ответного пакета производится обратное преобразование.
К локальным IP-адресам относятся следующие диапазоны адресов: 10.ххх.ххх.ххх, 192.168.ххх.ххх, 172.16.ххх.ххх — 172.32.ххх.ххх.
Схема работы NATа

Читать еще:  Клонировать mac адрес

Типы трансляторов сетевых адресов (NAT)

Трансляторы адресов подразделяются на 4 типа:
1. Symmetric NAT.
2. Full Cone NAT.
3. Address Restricted Cone NAT (он же Restricted NAT).
4. Port Restricted Cone NAT (или Port Restricted NAT)

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

1.Symmetric NAT.
До недавнего времени это была наиболее распространённая реализация. Его характерная особенность – в таблице NAT маппинг адреса IL на адрес IG жёстко привязан к адресу OG, то есть к адресу назначения, который был указан в исходящем пакете, инициировавшем этот маппинг. При указанной реализации NAT в нашем примере хост 192.168.0.141 получит оттранслированные входящие UDP-пакеты только от хоста 1.2.3.4 и строго с портом источника 53 и портом назначения 1053 – ни от кого более. Пакеты от других хостов, даже если указанные в пакете адрес назначения и порт назначения присутствуют в таблице NAT, будут уничтожаться маршрутизатором. Это наиболее параноидальная реализация NAT, обеспечивающая более высокую безопасность для хостов локальной сети, но в некоторых случаях сильно усложняющая жизнь системных администраторов. Да и пользователей тоже.

2. Full Cone NAT.
Эта реализация NAT – полная противоположность предыдущей. При Full Cone NAT входящие пакеты от любого внешнего хоста будут оттранслированы и переправлены соответствующему хосту в локальной сети, если в таблице NAT присутствует соответствующая запись. Более того, номер порта источника в этом случае тоже не имеет значения – он может быть и 53, и 54, и вообще каким угодно. Например, если некое приложение, запущенное на компьютере в локальной сети, инициировало получение пакетов UDP от внешнего хоста 1.2.3.4 на локальный порт 4444, то пакеты UDP для этого приложения смогут слать также и 1.2.3.5, и 1.2.3.6, и вообще все до тех пор, пока запись в таблице NAT не будет по какой-либо причине удалена. Ещё раз: в этой реализации NAT во входящих пакетах проверяется только транспортный протокол, адрес назначения и порт назначения, адрес и порт источника значения не имеют.

3. Address Restricted Cone NAT (он же Restricted NAT).
Эта реализация занимает промежуточное положение между Symmetric и Full Cone реализациями NAT – маршрутизатор будет транслировать входящие пакеты только с определенного адреса источника (в нашем случае 1.2.3.4), но номер порта источника при этом может быть любым.

4.Port Restricted Cone NAT (или Port Restricted NAT).
То же, что и Address Restricted Cone NAT, но в этом случае маршрутизатор обращает внимание на соответствие номера порта источника и не обращает внимания на адрес источника. В нашем примере маршрутизатор будет транслировать входящие пакеты с любым адресом источника, но порт источника при этом обязан быть 53, в противном случае пакет будет уничтожен маршрутизатором.

NAT и Интернет телефония с использованием SIP протокола

Существует три основных проблемы прохождения через NAT звонков с использованием SIP протокола.
1. Наличие локальных адресов в SIP сигнализации.

INVITE sip:74957877070@212.1.1.45 SIP/2.0
Record-Route:
Via: SIP/2.0/UDP 212.1.1.45;branch=z9hG4bK3af7.0a6e92f4.0
Via: SIP/2.0/UDP 192.168.0.21;branch=z9hG4bK12ee92cb;rport=5060
From: «test» ;tag=as149b2d97
To: sip:74957877070@mangosip.ru
Contact:
Call-ID: 3cbf958e6f43d91905c3fa964a373dcb@192.168.0.21:5060
CSeq: 3 INVITE
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: 394

v=0
o=root 3303 3304 IN IP4 192.168.0.21
s=session
c=IN IP4 192.168.0.21
t=0 0
m=audio 40358 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off — — — —
a=sendrecv

В приведенном примере сигнализации выделены поля, в которых указан локальный адрес. Как следствие этого сервер сети Интернет-телефонии (SoftSwitch) обработав такой запрос, с локальными адресами, не может отправить абоненту ответ, поскольку в поле «Via» указан адрес, который не маршрутизируется в Интернете.
2. Прохождение голосового потока (RTP).
Вызываемый абонент, получив вызов от сервера сети Интернет-телефонии, с указанием локального адреса получателя голосового потока не может отправить речевую информацию по назначению, поскольку указанный адрес не маршрутизируется в Интернете. Вследствие этого возникает, одностороння слышимость абонентов или ее полное отсутствие.
3. Абонент, подключенный через NAT, практически не может принимать входящие звонки.
Это связанно с тем, что NAT резервирует внешний порт на небольшой промежуток времени (от 1 до 3 мин.), поле чего освобождает его.
Полученный после этого входящий вызов от сервера сети Интернет-телефонии просто игнорируется и как следствие этого абонент расположенный за NATом не может получить информацию о входящем звонке

NAT (Преобразование сетевых адресов)

Их вы свободно можете использовать в своей частной сети, и поэтому, разумеется, они будут повторяться. Как же быть с уникальностью? Кому будет отвечать WEB-сервер, которому пришёл запрос с обратным адресом 192.168.1.1? Ростелекому? Компании Татнефть? Или вашему комнатному Длинку? В большом интернете никто ничего не знает о приватных сетях — они не маршрутизируются.
Тут и выходит на сцену NAT. По большому счёту, это обман, подстава. На натирующем устройстве ваш приватный адрес, грубо говоря, просто подменяется на белый адрес, который и будет фигурировать далее в пакете, пока он путешествует до WEB-сервера. А вот белые адреса очень даже хорошо маршрутизируются, и пакет точно вернётся обратно на натирующее устройство.
Но как оно в свою очередь поймёт, что с ним делать дальше? Вот с этим и разберёмся.

Статический
В этом случае один внутренний адрес преобразуется в один внешний. И при этом все запросы, приходящие на внешний адрес будут транслироваться на внутренний. Словно бы этот хост и является обладателем этого белого IP-адреса.
Настраивается следующей командой:

Что происходит:
1) Узел 172.16.6.5 обращается WEB-серверу. Он отправляет IP-пакет, где в качестве адреса получателя стоит 192.0.2.2, а отправителя 172.16.6.5.

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

Такой подход бывает полезным, когда у вас есть сервер внутри вашей сети, к которому необходим полный доступ извне. Разумеется, этот вариант вы не можете использовать, если хотите триста хостов выпустить в Интернет через один адрес. Такой вариант NAT’а никак не поможет сохранить белые IP-адреса, но тем не менее он бывает полезен.

Динамический
У вас есть пул белых адресов, например, провайдер выделил вам сеть 198.51.100.0/28 c 16-ю адресами. Два из них (первый и последний) — адрес сети и широковещательный, ещё два адреса назначаются на оборудование для обеспечения маршрутизации. 12 оставшихся адресов вы можете использовать для NAT’а и выпускать через них своих пользователей.
Ситуация похожа на статический NAT — один приватный адрес транслируется на один внешний, — но теперь внешний не чётко зафиксирован, а будет выбираться динамически из заданного диапазона.
Настраивается он так:

Задали пул (диапазон) публичных адресов, из которого будет выбираться адрес для натирования

Читать еще:  Как сделать меняющийся ip адрес

Задаём список доступа, который пропускает все пакеты с адресом источника 172.16.6.х, где х варьируется 0-255.

Этой командой мы стыкуем созданный ACL и пул.
Этот вариант тоже не универсальный, своих 300 пользователей вы так же не сможете выпустить всех в Интернет, если у вас нет 300 внешних адресов. Как только белые адреса исчерпаются, никто новый уже не сможет получить доступ в Интернет. При этом те пользователи, что уже успели отхватить себе внешний адрес, будут работать. Скинуть все текущие трансляции и освободить внешний адреса вам поможет команда clear ip nat translation *
Помимо динамического выделения внешних адресов, этот динамически NAT отличается от статического тем, что без отдельной настройки проброса портов уже невозможно внешнее соединение на один из адресов пула.

Many-to-One
Следующий тип имеет несколько названий: NAT Overload, Port Address Translation (PAT), IP Masquerading, Many-to-One NAT.
Последнее название говорит само за себя — через один внешний адрес выходит в мир много приватных. Это позволяет решить проблему с нехваткой внешних адресов и выпустить в мир всех желающих.
Тут надо бы дать пояснение, как это работает. Как два приватных адреса транслируются в один можно представить, но как маршрутизатор понимает кому нужно переслать пакет, вернувшийся из Интернета на этот адрес?
Всё очень просто:
Предположим, что от двух хостов из внутренней сети приходят пакеты на натирующее устройство. Оба с запросом к WEB-серверу 192.0.2.2.
Данные от хостов выглядят так:

И теперь пакеты доставляется по внутренней сети компьютерам-инициаторам, которым и невдомёк даже, что где-то с их данными так жёстко обошлись на границе.
Каждое ваше обращение — это отдельное соединение. То есть попытались вы открыть WEB-страницу — это протокол HTTP, использующий порт 80. Для этого ваш компьютер должен установить TCP-сессию с удалённым сервером. Такая сессия (TCP или UDP) определяется двумя сокетами: локальный IP-адрес: локальный порт и удалённый IP-адрес: удалённый порт. В обычной ситуации у вас устанавливается одно соединение компьютер-сервер, в случае же NATа соединения будет как бы два:, маршрутизатор-сервер и компьютер думает, что у него есть сессия компьютер-сервер.
Настройка отличается совершенно незначительно: добавочным словом overload:

При этом, разумеется, сохраняется возможность настроить пул адресов:

Перенаправление портов
Иначе говорят ещё проброс портов или mapping.
Когда мы только начали говорить про NAT, трансляция у нас была один-в-один и все запросы, приходящие извне автоматически перенаправлялись на внутренний хост. Таким образом можно было бы выставить сервер наружу в Интернет.
Но если у вас нет такой возможности — вы ограничены в белых адресах, или не хотите выставлять всем пучком портов его наружу, что делать?
Вы можете указать, что все запросы, приходящие на конкретный белый адрес и конкретный порт маршрутизатора, должны быть перенаправлены на нужный порт нужного внутреннего адреса.

Применение данной команды означает, что TCP-запрос, пришедший из интернета на адрес 198.51.100.2 по порту 80, будет перенаправлен на внутренний адрес 172.16.0.2 на тот же 80-й порт. Разумеется, вы можете пробрасывать и UDP и делать перенаправление с одного порта на другой. Это, например, может оказаться полезным, если у вас есть два компьютера, к которым нужен доступ по RDP извне. RDP использует порт 3389. Один и тот же порт вы не можете пробросить на разные хосты (при использовании одного внешнего адреса). Поэтому вы можете сделать так:

Тогда, чтобы попасть на компьютер 172.16.6.61 вы запускаете RDP-сессию на порт 198.51.100.2:3389, а на 172.16.6.66 — 198.51.100.2:3398. Маршрутизатор сам раскидает всё, куда надо.
Кстати, эта команда — частный случай самой первой: ip nat inside source static 172.16.6.66 198.51.100.2. Только в этом случае речь идёт о пробросе всего трафика, а в наших примерах — конкретных портов протокола TCP.
Вот так в общих чертах фунциклирует NAT. Про его особенности, плюсы/минусы написано куча статей, но не отметить их нельзя.

Слабости и силости NAT
Плюсы
В первую очередь NAT позволяет сэкономить публичные IP-адреса. Собственно для этого он и был создан. Через один адрес, теоретически можно выпустить больше 65000 серых адресов (по количеству портов).
Во-вторых, PAT и динамический NAT является в какой-то степени файрволом, препятствуя внешним соединениям доходить до конечных компьютеров, на которых может не оказаться своего файрвола и антивируса. Дело в том, что если извне на натирующее устройство приходит пакет, который тут не ожидается или не разрешён, он просто отбрасывается.
Чтобы пакет был пропущен и обработан, должны выполниться следующие условия:
1) В NAT-таблице должна быть запись для этого внешнего адреса, указанного как адрес отправителя в пакете
И
2) Порт отправителя в пакете должен совпадать с портом для этого белого адреса в записи
И
3) Порт назначения в пакете, совпадает с портом в записи.
ИЛИ
Настроен проброс портов.
Но не нужно рассматривать NAT именно как файрвол — это не более, чем дополнительная его плюшка.
В-третьих, NAT скрывает от посторонних глаз внутреннюю структуру вашей сети — при трассировке маршрута извне вы не увидите ничего далее натирующего устройства.
Минусы
Есть у NAT’а и минусы. Самые ощутимые из них, пожалуй, следующие:
— Некоторые протоколы не могут работать через NAT без костылей. Например, FTP или протоколы туннелирования (несмотря на то, как просто я настроил FTP в лабораторке, в реальной жизни это может создать кучу проблем)
— Другая проблема кроется в том, с одного адреса идёт много запросов на один сервер. Многие были свидетелем этого, когда заходишь на какой-нибудь Rapidshare, а он говорит, что с вашего IP уже было соединение, вы думаете, что “врёт, собака”, а это ваш сосед уже сосет. По этой же причине бывали проблемы c ICQ, когда сервера отказывали в регистрации.
— Не очень актуальная сейчас проблема: нагрузка на процессор и оперативную память. Поскольку объём работы довольно велик по сравнению с простой маршрутизацией (это надо не просто глянуть заголовок IP, надо его снять, TCP-заголовок снять, в таблицу занести, новые заголовки прикрутить) в мелких конторах с этим бывают проблемы.
Я сталкивался с такой ситуацией.
Одно из возможных решений — вынести функцию NAT на отдельный ПК либо на специализированное устройство, например Cisco ASA.
Для больших игроков, у которых маршрутизаторы ворочают по 3-4 BGP full-view, сейчас это не составляет проблем.

Что ещё нужно знать?
— NAT применяется в основном для обеспечения доступа в Интернет хостам с приватными адресами. Но бывает и иное применение — связь между двумя частными сетями с пересекающимися адресными пространствами.
Например, ваша компания покупает себе филиал в Актюбинске. У вас адресация 10.0.0.0-10.1.255.255, а у них 10.1.1.0-10.1.10.255. Диапазоны явно пересекаются, настроить маршрутизацию никак не получится, потому что один и тот же адрес может оказаться и в Актюбинске и у вас в штаб-квартире.
В таком случае на месте стыка настраивается NAT. Поскольку серых адресов у нас не мерено, можно выделить, к примеру, диапазон 10.2.1.0-10.2.10.255 и делать трансляцию один-в-один:
10.1.1.1-10.2.1.1
10.1.1.2-10.2.1.2

10.1.10.255-10.2.10.255

— В больших игрушках для взрослых NAT может быть реализован на отдельной плате (и часто так и есть) и без неё не заработает. А на офисных железках, напротив, есть почти всегда.

— С повсеместным внедрением IPv6 необходимость в NAT’e будет сходить на нет. Уже сейчас большие заказчики начинают интересоваться функционалом NAT64 — это когда у вас выход в мир через IPv4, а внутренняя сеть уже на IPv6

— Разумеется, это лишь поверхностный взгляд на NAT и есть ещё море нюансов, не утонуть в котором вам поможет самообразование.

Ссылка на основную публикацию
Adblock
detector