Технология преобразования сетевых адресов, механизмы PAT и NAT. NAT - это что такое? Настройка NAT

Количества публичных IPv4-адресов недостаточно, чтобы назначить уникальные адреса всем устройствам, подключённым к Интернету. В большинстве случаев, сети реализуются с использованием частных IPv4-адресов в соответствии с RFC 1918. На рис. 1 показан диапазон адресов, включённых в RFC 1918. Вероятнее всего, компьютеру, на котором вы сейчас просматриваете материал учебного курса, назначен частный адрес.

Эти частные адреса используются в рамках организации или объекта с целью обеспечения взаимодействия устройств на локальном уровне. Но поскольку эти адреса не определяют конкретную компанию или организацию, частные IPv4-адреса нельзя использовать для маршрутизации через Интернет. Для того, чтобы разрешить устройству с частным IPv4-адресом доступ к устройствам и ресурсам вне локальной сети, частный адрес сначала необходимо преобразовать в публичный адрес.

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

Без использования NAT адресное пространство IPv4 было бы исчерпано задолго до наступления 2000 года. Несмотря на свои преимущества, NAT имеет ряд ограничений, которые будут подробно рассматриваться далее в этой главе. Решением проблемы исчерпания пространства IPv4-адресов и ограничений NAT является окончательный переход на IPv6.

Характеристики NAT

Преобразование сетевых адресов NAT используется в различных целях, однако основной задачей данного механизма является сохранение публичных IPv4-адресов. Это достигается путём разрешения сетям использовать частные IPv4-адреса для внутреннего взаимодействия и преобразования их в публичные адреса только в случае необходимости. Дополнительное преимущество NAT - повышение степени конфиденциальности и безопасности сети - объясняется тем, что данный механизм скрывает внутренние IPv4-адреса от внешних сетей.

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

Маршрутизатор NAT обычно работает на границе тупиковой сети. Тупиковая сеть - это сеть, использующая единственное соединение с соседней сетью, один входящий маршрут и один исходящий маршрут. В примере, показанном на рисунке, R2 является пограничным маршрутизатором. С точки зрения интернет-провайдера, маршрутизатор R2 создаёт тупиковую сеть.

Когда устройству в тупиковой сети требуется соединение с устройством вне его сети, пакет пересылается пограничному маршрутизатору. Пограничный маршрутизатор выполняет процесс NAT, преобразуя внутренний частный адрес устройства в публичный, внешний, маршрутизируемый адрес.

Примечание . Подключение к сети интернет-провайдера может также использовать частный адрес или публичный адрес, совместно используемый клиентами поставщика. В рамках рассматриваемой темы в качестве примера приведён публичный адрес.

В терминологии NAT под «внутренней сетью» подразумевается набор сетей, задействованных в преобразовании. Термин «внешняя сеть» относится ко всем остальным сетям.

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

В NAT предусмотрено 4 типа адресов:

  • внутренний локальный адрес;
  • внутренний глобальный адрес;
  • внешний локальный адрес;
  • внешний глобальный адрес.

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

  • Внутренний адрес - это адрес устройства, преобразуемый механизмом NAT.
  • Внешний адрес - это адрес устройства назначения.

В рамках NAT по отношению к адресам также используется понятие локальности или глобальности:

  • Локальный адрес - это любой адрес, появляющийся во внутренней части сети.
  • Глобальный адрес - это любой адрес, появляющийся во внешней части сети.

На рисунке внутренним локальным адресом PC1 является 192.168.10.10. С точки зрения PC1 веб-сервер использует внешний адрес 209.165.201.1. Когда пакеты отправляются из PC1 по глобальному адресу веб-сервера, внутренний локальный адрес PC1 преобразуется в 209.165.200.226 (внутренний глобальный адрес). Адрес внешнего устройства обычно не преобразуется, так как этот адрес обычно уже является публичным IPv4-адресом.

Обратите внимание, что для PC1 используются разные локальный и глобальный адреса, а для веб-сервера в обоих случаях используется один публичный IPv4-адрес. С точки зрения веб-сервера трафик, исходящий от PC1, представляется поступающим с адреса 209.165.200.226, внутреннего глобального адреса.

Маршрутизатор NAT (R2 на рисунке) представляет собой точку разграничения между внутренней и внешней сетями, а также между локальными и глобальными адресами.

Термины «внутренний» и «внешний» используются в сочетании с терминами «локальный» и «глобальный», когда речь идёт о конкретных адресах. На рисунке маршрутизатор R2 настроен на использование механизма NAT. Он использует пул публичных адресов, назначаемых внутренним узлам.

  • Внутренний локальный адрес - это адрес источника, видимый из внутренней сети. На рисунке PC1 назначен IPv4-адрес 192.168.10.10. Это внутренний локальный адрес PC1.
  • Внутренний глобальный адрес - это адрес источника, видимый из внешней сети. На рисунке, когда PC1 отправляет трафик веб-серверу с адресом 209.165.201.1, R2 преобразует внутренний локальный адрес во внутренний глобальный адрес. В этом случае R2 меняет исходный IPv4-адрес с 192.168.10.10 на 209.165.200.226. В терминологии NAT, внутренний локальный адрес 192.168.10.10 преобразуется во внутренний глобальный адрес 209.165.200.226.
  • Внешний глобальный адрес - это адрес назначения, видимый из внешней сети. Это глобально маршрутизируемый IPv4-адрес, назначенный узлу в Интернете. Например, веб-сервер доступен по IPv4-адресу 209.165.201.1. В большинстве случаев внешний локальный и внешний глобальный адреса совпадают.
  • Внешний локальный адрес - это адрес назначения, видимый из внутренней сети. В этом примере PC1 отправляет трафик веб-серверу с IPv4-адресом 209.165.201.1. В редких случаях этот адрес может отличаться от глобально маршрутизируемого адреса назначения.

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

Примечание . Использование внешнего локального адреса не рассматривается в материале данного учебного курса.

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

Существуют три механизма преобразования сетевых адресов:

  • Статическое преобразование сетевых адресов (статический NAT) - это взаимно-однозначное соответствие между локальным и глобальным адресами.
  • Динамическое преобразование сетевых адресов (динамический NAT) - это сопоставление адресов по схеме «многие ко многим» между локальными и глобальными адресами.
  • Преобразование адресов портов (PAT) - это сопоставление адресов по схеме «многие к одному» между локальными и глобальным адресами. Данный метод также называется перегрузкой (NAT с перегрузкой).

Статическое преобразование сетевых адресов (NAT)

Статический NAT использует сопоставление локальных и глобальных адресов по схеме «один в один». Эти соответствия задаются администратором сети и остаются неизменными.

На рисунке для маршрутизатора R2 настроены статические соответствия для внутренних локальных адресов Svr1, PC2 и PC3. Когда эти устройства отправляют трафик в Интернет, их внутренние локальные адреса преобразуются в заданные внутренние глобальные адреса. Для внешних сетей эти устройства используют публичные IPv4-адреса.

Метод статического преобразования сетевых адресов особенно полезен для веб-серверов или устройств, которые должны иметь постоянный адрес, доступный из Интернета - например, для веб-сервера компании. Статический NAT также подходит для устройств, которые должны быть доступны авторизованному персоналу, работающему вне офиса, но при этом оставаться закрытыми для общего доступа через Интернет. Например, сетевой администратор может с PC4 подключиться с помощью SSH к внутреннему глобальному адресу Svr1 (209.165.200.226). Маршрутизатор R2 преобразует этот внутренний глобальный адрес во внутренний локальный адрес и подключает сеанс администратора к Svr1.

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

Динамическое преобразование адресов NAT

Метод динамического преобразования сетевых адресов (динамический NAT) использует пул публичных адресов, которые присваиваются в порядке живой очереди. Когда внутреннее устройство запрашивает доступ к внешней сети, динамический NAT присваивает доступный публичный IPv4-адрес из пула.

На рисунке PC3 получает доступ к Интернету, используя первый доступный адрес в пуле динамического NAT. Другие адреса по-прежнему доступны для использования. Аналогично статическому NAT, для динамического NAT требуется достаточное количество публичных адресов, способное обеспечить общее количество одновременных сеансов пользователей.

Преобразование адресов портов (PAT)

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

С помощью данного метода множество адресов могут быть сопоставлены одному или нескольким адресам, поскольку каждый частный адрес также отслеживаются по номеру порта. Если устройство начинает сеанс TCP/IP, оно создаёт значение порта TCP или UDP для источника, чтобы уникальным образом определить сеанс. Когда маршрутизатор NAT получает пакет от клиента, он использует свой номер порта источника, чтобы уникальным образом определить конкретное преобразование NAT.

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

Для управления анимацией используйте кнопки «Воспроизведение» и «Пауза» на рисунке.

Анимация иллюстрирует процесс преобразования адресов портов (PAT). Для того, чтобы различать преобразования, механизм PAT добавляет уникальные номера портов источника к внутреннему глобальному адресу.

Поскольку маршрутизатор R2 обрабатывает каждый пакет, он использует номер порта (в рассматриваемом примере 1331 и 1555) для идентификации устройства, с которого поступил пакет. Адрес источника (SA) - это внутренний локальный адрес с добавленным назначенным номером порта TCP/IP. Адрес назначения (DA) - это внешний локальный адрес с добавленным номером порта службы. В данном примере порт службы равен 80: HTTP.

Для адреса источника маршрутизатор R2 преобразует внутренний локальный адрес во внутренний глобальный адрес с добавленным номером порта. Адрес назначения не меняется, но теперь он становится внешним глобальным IP-адресом. Когда веб-сервер отвечает, путь проходится снова, только в обратном порядке.

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

Преобразование PAT пытается сохранить оригинальный порт источника. В том случае, если оригинальный порт источника уже используется, PAT назначает первый доступный номер порта, начиная с начала соответствующей группы портов - 0-511, 512-1023 или 1024-65535. Если доступных портов больше нет, а в пуле адресов есть несколько внешних адресов, PAT переходит к следующему адресу, пытаясь выделить оригинальный порт источника. Данный процесс продолжается до тех пор, пока не исчерпаются как доступные порты, так и внешние IP-адреса.

Для ознакомления с принципом работы PAT нажмите кнопку «Воспроизведение» на рисунке.

В анимации узлы выбирают один и тот же номер порта - 1444. Это допустимо для внутреннего адреса, поскольку узлам назначены уникальные частные IP-адреса. Но на маршрутизаторе с поддержкой NAT номера портов необходимо изменить. В противном случае пакеты от двух различных узлов выходили бы из R2 с одинаковым адресом источника. В рассматриваемом примере в процессе преобразования PAT второму адресу узла назначается следующий доступный порт (1445).

Сравнение NAT и PAT

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

Как показано на рисунке, NAT преобразует IPv4-адреса, исходя из схемы 1:1 для частных IPv4-адресов и публичных IPv4-адресов. В то же время, PAT меняет и адрес, и номер порта.

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

Пакеты без сегмента уровня 4

Что же происходит с пакетами IPv4, передающими данные, не являющиеся сегментом TCP или UDP? Данные пакеты не содержат номера порта уровня 4. PAT преобразует большинство основных протоколов, передаваемых с помощью IPv4 и не использующих TCP или UDP, в протокол транспортного уровня. Самым распространённым среди таких протоколов является протокол ICMPv4. Процесс преобразования PAT обрабатывает каждый из этих протоколов по-разному. Например, сообщения запросов ICMPv4, эхо-запросы и эхо-ответы содержат идентификатор запроса (Query ID). ICMPv4 использует идентификатор запроса (Query ID), чтобы определить эхо-запрос с соответствующим эхо-ответом. Идентификатор запроса увеличивается с каждым отправленным эхо-запросом. PAT использует идентификатор запроса вместо номера порта уровня 4.

Примечание . Другие сообщения ICMPv4 не используют идентификатор запроса (Query ID). Эти сообщения и другие протоколы, не использующие номера портов TCP и UDP, могут отличаться друг от друга и не рассматриваются в рамках материала настоящего учебного курса.

Настройка NAT

Настройка статического NAT

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

На рис. 1 показана внутренняя сеть, содержащая веб-сервер с частным IPv4-адресом. На маршрутизаторе R2 настроен статический NAT, чтобы предоставить доступ к веб-серверу устройствам из внешней сети (Интернет). Клиент из внешней сети обращается к веб-серверу, используя публичный IPv4-адрес. Статический NAT преобразует публичный IPv4-адрес в частный IPv4-адрес.

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

Шаг 1. Первой задачей является создание соответствия между внутренним локальным и внутренним глобальным адресами. Например, на рис. 1 в качестве статического преобразования NAT настроены внутренний локальный адрес 192.168.10.254 и внутренний глобальный адрес 209.165.201.5.

Шаг 2. После настройки соответствия интерфейсы, участвующие в преобразовании, настраиваются как внутренние или внешние относительно NAT. В этом примере интерфейс Serial 0/0/0 маршрутизатора R2 является внутренним, а Serial 0/1/0 - внешним интерфейсом.

Пакеты, поступающие на внутренний интерфейс маршрутизатора R2 (Serial 0/0/0) от настроенного внутреннего локального IPv4-адреса (192.168.10.254) преобразуются, а затем передаются во внешнюю сеть. Пакеты, поступающие на внешний интерфейс маршрутизатора R2 (Serial 0/1/0), адресованные настроенному внутреннему глобальному IPv4-адресу (209.165.201.5), преобразуются к внутреннему локальному адресу (192.168.10.254) и затем передаются во внутреннюю сеть.

На рис. 2 приведены команды, необходимые для настройки статического NAT.

На рис. 3 показаны команды, необходимые для создания на маршрутизаторе R2 статического сопоставления NAT для веб-сервера в справочной топологии. В рамках показанной конфигурации R2 преобразует в пакетах, отправленных веб-сервером, адрес 192.168.10.254 в публичный IPv4-адрес 209.165.201.5. Интернет-клиент направляет веб-запросы на публичный IPv4-адрес 209.165.201.5. Маршрутизатор R2 пересылает этот трафик веб-серверу по адресу 192.168.10.254.

Используйте средство проверки синтаксиса (см. рис. 4) для настройки дополнительной записи статического преобразования NAT на маршрутизаторе R2.

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

1. Клиенту нужно подключиться к веб-серверу. Клиент передает пакет на веб-сервер, используя публичный IPv4-адрес назначения 209.165.201.5. Это внутренний глобальный адрес веб-сервера.

2. Первый пакет, который маршрутизатор R2 получает от клиента на свой внешний интерфейс NAT, заставляет R2 проверить свою таблицу NAT. IPv4-адрес назначения находится в таблице NAT, и маршрутизатор выполняет соответствующее преобразование.

3. R2 заменяет внутренний глобальный адрес 209.165.201.5 внутренним локальным адресом 192.168.10.254. Затем R2 пересылает пакет веб-серверу.

4. Веб-сервер получает пакет и отвечает клиенту, используя внутренний локальный адрес 192.168.10.254.

5а. R2 получает пакет от веб-сервера на свой внутренний интерфейс NAT с адресом источника, соответствующим внутреннему локальному адресу веб-сервера, 192.168.10.254.

5b. R2 проверяет таблицу NAT на предмет наличия преобразования для внутреннего локального адреса. Этот адрес присутствует в таблице NAT. R2 выполняет обратное преобразование адреса источника во внутренний глобальный адрес 209.165.201.5 и пересылает пакет клиенту через свой интерфейс Serial 0/1/0.

6. Клиент получает пакет и продолжает диалог. Маршрутизатор NAT выполняет шаги 2-5b для каждого пакета (шаг 6 на рисунке не показан).

Проверка статического NAT

Для проверки работы NAT используется команда show ip nat translations . Эта команда отображает активные преобразования NAT. В отличие от динамических преобразований, статические преобразования всегда присутствуют в таблице NAT. На рис. 1 показан результат этой команды для предыдущего примера конфигурации. Поскольку в примере приводится статическая конфигурация, преобразование всегда присутствует в таблице NAT независимо от активных взаимодействий. Если команда вводится во время активного сеанса, выходные данные будут также содержать адрес внешнего устройства, как показано на рис. 1.

Другой полезной командой являетсяshow ip nat statistics . Как показано на рис. 2, команда show ip nat statistics

Чтобы убедиться в правильности работы преобразования NAT, перед тестированием рекомендуется очистить статистику всех предыдущих преобразований с помощью командыclear ip nat statistics .

До начала взаимодействия с веб-сервером команда show ip nat statistics не должна показывать каких-либо совпадений. После установки клиентом сеанса с веб-сервером результат команды show ip nat statistics покажет увеличение количества совпадений до 5. Это подтверждает выполнение статического преобразования NAT на R2.

Настройка динамического NAT

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

Для динамического NAT, как и для статического NAT, требуется настройка внутреннего и внешнего интерфейсов, участвующих в преобразовании NAT. Однако, если статическое преобразование NAT создаёт постоянное сопоставление с одним адресом, для динамического NAT используется пул адресов.

Примечание . Преобразование между публичными и частными IPv4-адресами является самым распространённым применением NAT. Тем не менее, преобразования NAT могут возникать между любыми парами адресов.

В справочной топологии, показанной на рисунке, внутренняя сеть использует адреса из пространства частных адресов, определённого в RFC 1918. К маршрутизатору R1 подключены две локальных сети - 192.168.10.0/24 и 192.168.11.0/24. Пограничный маршрутизатор R2 настроен на динамическое преобразование NAT с использованием пула публичных IPv4-адресов от 209.165.200.226 до 209.165.200.240.

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

На рис. показаны шаги и команды, используемые для настройки динамического NAT.

Шаг 1. С помощью команды ip nat pool задайте пул адресов, которые будут использоваться для преобразования. Данный пул адресов обычно является группой публичных адресов. Эти адреса определяются с помощью указания начального и конечного IP-адресов пула. Ключевое слово netmask или prefix-length указывает, какие биты адреса относятся к сети, а какие - к диапазону адресов узлов.

Шаг 2. Настройте стандартный ACL-список, чтобы определить (разрешить) только те адреса, которые должны быть преобразованы. ACL-список со слишком большим количеством разрешающих команд может привести к непредсказуемым результатам. Помните, что в конце каждого ACL-списка находится строка deny all .

Шаг 3. Выполните привязку ACL-списка к пулу. Команда ip nat inside source list access-list-number number pool pool name используется для привязки списка к пулу. Эта конфигурация используется маршрутизатором, чтобы определить, какие устройства (list ) получают какие адреса (pool ).

Шаг 4. Определите интерфейсы, являющиеся внутренними по отношению к NAT, т.е. любой интерфейс, подключенный к внутренней сети.

Шаг 5. Определите интерфейсы, являющиеся внешними относительно NAT, т.е. любой интерфейс, подключенный к внешней сети.

На рис. 2 приведен пример топологии и соответствующая конфигурация. Данная конфигурация разрешает преобразование для всех узлов сети 192.168.0.0/16, содержащей локальные сети 192.168.10.0 и 192.168.11.0, когда узлы создают трафик, входящий в S0/0/0 и выходящий из S0/1/0. Адреса этих узлов преобразуются в доступный адрес из пула в диапазоне от 209.165.200.226 до 209.165.200.240.

На рис. 3 показана топология, используемая для конфигурации инструмента проверки синтаксиса. Используйте инструмент проверки синтаксиса на рис. 4, чтобы настроить динамическое преобразование NAT на маршрутизаторе R2.

Анализ динамического NAT

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

На рис. 1 показан поток трафика изнутри наружу.

1. Узлы с IPv4-адресами источника (192.168.10.10 (PC1) и 192.168.11.10 (PC2)) отправляют пакеты, запрашивающие подключение к серверу на публичный IPv4-адрес (209.165.200.254).

2. Маршрутизатор R2 получает первый пакет от узла 192.168.10.10. Поскольку этот пакет был получен на интерфейс, настроенный как внутренний интерфейс NAT, R2 проверяет конфигурацию NAT, чтобы определить, следует ли выполнять преобразование для данного пакета. ACL-список разрешает этот пакет, поэтому R2 выполняет его преобразование. Маршрутизатор R2 проверяет свою таблицу NAT. Поскольку для данного IP-адреса нет записей преобразования, R2 решает, что для адреса источника 192.168.10.10 требуется динамическое преобразование. Маршрутизатор R2 выбирает доступный глобальный адрес из пула динамических адресов и создает запись преобразования - 209.165.200.226. Первоначальный IPv4-адрес источника (192.168.10.10) - это внутренний локальный адрес, а используемый для преобразования адрес - это внутренний глобальный адрес (209.165.200.226) в таблице NAT.

R2 повторяет процедуру для второго узла, 192.168.11.10, выбирая следующий доступный глобальный адрес из пула динамических адресов и создавая вторую запись преобразования, 209.165.200.227.

3. R2 заменяет внутренний локальный адрес источника PC1 (192.168.10.10) используемым для преобразования внутренним глобальным адресом (209.165.200.226) и пересылает пакет. Те же действия выполняются для пакета, отправленного PC2, с использованием для преобразования адресом, соответствующим PC2 (209.165.200.227).

Рис 1

На рис. 2 показан поток трафика снаружи вовнутрь.

4. Сервер получает пакет от PC1 и отвечает, используя IPv4-адрес назначения 209.165.200.226. Получив второй пакет, сервер отвечает PC2, используя IPv4-адрес назначения 209.165.200.227.

5а. Получив пакет с IPv4-адресом назначения 209.165.200.226, маршрутизатор R2 выполняет поиск в таблице NAT. С помощью сопоставления из таблицы маршрутизатор R2 выполняет преобразование адреса обратно во внутренний локальный адрес (192.168.10.10) и пересылает пакет PC1.

5b. Получив пакет с IPv4-адресом назначения 209.165.200.227, маршрутизатор R2 выполняет поиск в таблице NAT. С помощью сопоставления из таблицы маршрутизатор R2 выполняет преобразование адреса обратно во внутренний локальный адрес (192.168.11.10) и пересылает пакет PC2.

6. PC1 с адресом 192.168.10.10 и PC2 с адресом 192.168.11.10 получают пакеты и продолжают диалог. Маршрутизатор NAT выполняет шаги 2-5b для каждого пакета (шаг 6 не приводится на рисунках).

Рис 2

Проверка динамического NAT

Результаты команды show ip nat translations , показанные на рис. 1, содержат сведения о двух предыдущих назначениях NAT. Команда отображает все настроенные статические преобразования адресов и все динамические преобразования, созданные в результате обработки трафика.

Добавление ключевого слова verbose выводит дополнительную информацию о каждом преобразовании, включая время, прошедшее после создания и использования записи.

По умолчанию срок действия записей преобразования истекает через 24 часа, если настройка таймеров не была изменена с помощью команды ip nat translation timeout timeout-seconds в режиме глобальной конфигурации.

Для удаления динамических записей до истечения их времени действия используйте команду режима глобальной конфигурации clear ip nat translation . При проведении проверки конфигурации NAT рекомендуется удалять динамические записи. Как показано в таблице, эту команду можно использовать с ключевыми словами и переменными, чтобы определить удаляемые записи. Конкретные записи можно удалить во избежание сбоев активных сеансов. Чтобы удалить из таблицы все преобразования, используйте команду глобальной конфигурации clear ip nat translation * .

Примечание . Из таблицы удаляются только динамические преобразования. Статические преобразования невозможно удалить из таблицы преобразований.

Как показано, команда show ip nat statistics выводит сведения о суммарном количестве активных преобразований, параметрах конфигурации NAT, числе адресов в пуле и числе выделенных адресов.

В качестве альтернативы, можно воспользоваться командой show running-config и найти команды NAT, ACL, интерфейса или пула с нужными значениями. Внимательно изучите результаты и исправьте все обнаруженные ошибки.

Настройка преобразования адресов портов (PAT)

Преобразование адресов портов PAT (также называемое NAT с перегрузкой) экономит адреса во внутреннем глобальном пуле, разрешая маршрутизатору использовать один внутренний глобальный адрес для нескольких внутренних локальных адресов. Другими словами, один публичный IPv4-адрес может использоваться для сотен или даже тысяч внутренних IPv4-частных адресов. Если настроен данный тип преобразования, маршрутизатор хранит достаточный объём информации протоколов более высоких уровней, например, номера портов TCP или UDP, для обратного преобразования внутреннего глобального адреса в нужный внутренний локальный адрес. При привязке нескольких внутренних локальных адресов к одному внутреннему глобальному адресу для различения локальных адресов используются номера портов TCP или UDP.

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

В зависимости от того, каким образом интернет-провайдер выделяет публичные IPv4-адреса, существует два способа настройки PAT. В первом случае интернет-провайдер выделяет организации несколько публичных IPv4-адресов, а во втором случае выделяется единственный публичный IPv4-адрес, необходимый организации для подключения к сети интернет-провайдера.

Настройка PAT для пула публичных IP-адресов

Если объекту было выделено несколько публичных IPv4-адресов, то эти адреса могут быть частью пула, используемого PAT. Это аналогично динамическому NAT, за исключением того, что публичных адресов недостаточно для создания взаимно-однозначных соответствий внутренних и внешних адресов. Небольшой пул адресов совместно используется большим числом устройств.

На рис. 1 показаны шаги по настройке PAT для использования пула адресов. Основное различие между данной конфигурацией и конфигурацией для динамического взаимно-однозначного NAT состоит в использовании ключевого слова overload . Ключевое словоoverload задействует работу PAT.

Пример конфигурации, показанной на рис. 2, создаёт преобразование с перегрузкой для пула NAT с именем NAT-POOL2. NAT-POOL2 содержит адреса с 209.165.200.226 по 209.165.200.240. Объектами преобразования являются узлы сети 192.168.0.0/16. В качестве внутреннего интерфейса определен интерфейс S0/0/0, а в качестве внешнего интерфейса - интерфейс S0/1/0.

Используйте средство проверки синтаксиса на рис. 3, чтобы настроить PAT на маршрутизаторе R2, используя пул адресов.

Настройка PAT для одного публичного IPv4-адреса

На рис. 1 показана топология реализации PAT для преобразования одного публичного IPv4-адреса. В этом примере для всех узлов сети 192.168.0.0/16 (соответствующий список ACL 1), отправляющих трафик в Интернет через маршрутизатор R2, будет выполняться преобразование в IPv4-адрес 209.165.200.225 (IPv4-адрес интерфейса S0/1/0). Потоки трафика будут определяться номерами портов в таблице NAT, поскольку было использовано overload .

На рис. 2 показаны действия, необходимые для настройки PAT с одним IPv4-адресом. Если доступен только один публичный IPv4-адрес, для конфигурации с перегрузкой обычно назначается публичный адрес внешнего интерфейса, который подключается к интернет-провайдеру. Все внутренние адреса в пакетах, выходящих из внешнего интерфейса, преобразуются в один IPv4-адрес.

Шаг 1. Определите ACL-список, разрешающий преобразование трафика.

Шаг 2. Настройте преобразование источника, используя ключевые словаinterface и overload . Ключевое слово interface определяет IP-адрес интерфейса, который будет использоваться при преобразовании внутренних адресов. Ключевое словоoverload указывает маршрутизатору отслеживать номера портов для каждой записи NAT.

Шаг 3. Укажите интерфейсы, являющиеся внутренними по отношению к NAT. Это любой интерфейс, подключенный к внутренней сети.

Шаг 4. Укажите интерфейс, являющийся внешним по отношению к NAT. Это должен быть тот же интерфейс, который указан в записи преобразования источника в шаге 2.

Эта конфигурация аналогична динамическому NAT, за исключением того, что для определения внешнего IPv4-адреса вместо пула адресов используется ключевое словоinterface . Таким образом, пул NAT не определяется.

Используйте средство проверки синтаксиса, чтобы настроить PAT на маршрутизаторе R2 с использованием одного адреса.

Анализ PAT

Процесс преобразования NAT с перегрузкой является одинаковым как при использовании пула адресов, так и при использовании одного адреса. Продолжая предыдущий пример PAT с использованием одного публичного IPv4-адреса, компьютеру PC1 требуется подключение к веб-серверу Svr1. Одновременно другому клиенту, PC2, нужно установить аналогичный сеанс с веб-сервером Svr2. И для PC1, и для PC2 настроены частные IPv4-адреса, а на маршрутизаторе R2 включено преобразование PAT.

Процесс передачи пакетов от компьютеров к серверам

1. На рис. 1 показаны компьютеры PC1 и PC2, отправляющие пакеты серверам Svr1 и Svr2, соответственно. PC1 использует IPv4-адрес 192.168.10.10 и TCP-порт источника 1444. PC2 использует IPv4-адрес 192.168.10.11 источника и, по случайному совпадению, тот же TCP-порт источника - 1444.

2. Пакет компьютера PC1 первым достигает маршрутизатора R2. Используя PAT, R2 изменяет IPv4-адрес источника на 209.165.200.225 (внутренний глобальный адрес). В таблице NAT отсутствуют другие устройства, использующие порт 1444, поэтому PAT сохраняет этот же номер порта. Затем пакет пересылается серверу Svr1 по адресу 209.165.201.1.

3. Далее на маршрутизатор R2 приходит пакет с компьютера PC2. Настройка PAT обеспечивает использование для всех преобразований одного внутреннего глобального IPv4-адреса - 209.165.200.225. Аналогично процессу преобразования для PC1, PAT изменяет IPv4-адрес источника PC2 на внутренний глобальный адрес 209.165.200.225. Однако в этом пакете PC2 используется номер порта источника, уже содержащийся в текущей записи PAT, обеспечивающей преобразование PC1. PAT увеличивает номер порта источника, пока его значение не окажется уникальным для данной таблицы. В данном случае записи порта источника в таблице NAT и пакету от PC2 назначается номер 1445.

Хотя PC1 и PC2 используют одинаковый преобразованный адрес, внутренний глобальный адрес 209.165.200.225, и одинаковый номер порта источника - 1444, изменённый номер порта для PC2 (1445) делает уникальной каждую запись в таблице NAT. Это становится очевидным при отправке серверами обратных пакетов клиентам.

Процесс передачи пакетов от серверов к компьютерам

4. Как показано на рис. 2, при типовом обмене «клиент-сервер» серверы Svr1 и Svr2 отвечают на запросы, полученные от компьютеров PC1 и PC2 соответственно. Серверы используют для обратного трафика порт источника из полученного пакета в качестве порта назначения и адрес источника - в качестве адреса назначения. Серверы ведут себя так, как если бы они взаимодействовали с одним узлом 209.165.200.225, однако это не так.

5. Получив пакеты, маршрутизатор R2 находит уникальную запись в таблице NAT, используя адрес назначения и порт назначения каждого пакета. В случае получения пакета от сервера Svr1 адресу назначения IPv4 209.165.200.225 соответствует несколько записей, но только одна из них содержит порт назначения 1444. Используя эту запись таблицы, маршрутизатор R2 изменяет IPv4-адрес назначения пакета на 192.168.10.10. Изменение порта назначения в данном случае не требуется. Затем пакет пересылается компьютеру PC1.

6. Получив пакет от сервера Svr2, маршрутизатор R2 выполняет аналогичное преобразование. Маршрутизатор снова находит адрес назначения IPv4 209.165.200.225 с несколькими записями. Однако, используя порт назначения 1445, R2 может уникально идентифицировать запись преобразования. IPv4-адрес назначения меняется на 192.168.10.11. В этом случае порт назначения также необходимо изменить обратно на первоначальное значение 1444, сохранённое в таблице NAT. Затем пакет пересылается компьютеру PC2.

Проверка PAT

Маршрутизатор R2 настроен на предоставление PAT клиентам из сети 192.168.0.0/16. Когда внутренние узлы выходят через маршрутизатор R2 в Интернет, выполняется преобразование их адресов в IPv4-адрес из пула PAT с уникальным номером порта источника.

Для проверки PAT используются те же команды, что и для проверки статического и динамического NAT, как показано на рис. 1. Команда show ip nat translations выводит преобразования для трафика от двух различных узлов к различным веб-серверам. Обратите внимание, что двум различным внутренним узлам выделяется один и тот же IPv4-адрес 209.165.200.226 (внутренний глобальный адрес). Для различения этих двух транзакций в таблице NAT используются номера портов источников.

Как показано на рис. 2, команда show ip nat statistics позволяет проверить, что в пуле NAT-POOL2 выделен один адрес для обоих преобразований. Результат выполнения команды содержит информацию о количестве и типе активных преобразований, параметрах настройки NAT, количестве адресов в пуле и количестве выделенных адресов.

NAT (Network address translation) – технология трансляции сетевых адресов. Технология NAT позволила решить наибольшую проблему протокола IPv4: к середине 1990-х годов пространство IPv4-адресов могло быть полностью исчерпано. Если бы технологию NAT не изобрели то, рост Интернета значительно замедлился бы. Конечно, на сегодня создана новая версия протокола IP – IPv6. Данная версия поддерживает огромное количество IP-адресов, что существование NAT – бессмысленно. Однако, до сих пор довольно много организаций используют в своей работе протокол IPv4 и полный переход на IPv6 состоится не скоро. Поэтому есть смысл изучить технологию NAT.

Трансляция сетевых адресов NAT позволяет хосту, не имеющего “белого IP”, осуществлять связь с другими хостами через Интернет. Белый IP-адрес представляет из себя зарегистрированный, уникальный, глобальный IP-адрес в сети Интернет. Есть также “серые IP-адреса”, которые используются в частной сети и не маршрутизируются в сети Интернет. Поэтому необходима технология NAT, которая будет подменять серый IP-адрес на белый. Диапазон “серых IP-адресов” представлен в таблице.

Трансляция NAT заменяет частные IP-адреса открытыми зарегистрированными IP-адресами в каждом пакете протокола IP.

Осуществляя трансляцию NAT, маршрутизатор изменяет IP-адрес отправителя в тот момент, когда пакет покидает частную сеть. Маршрутизатор также изменяет адрес получателя каждого пакета, который возвращается в частную сеть. Программное обеспечение Cisco IOS поддерживает несколько разновидностей трансляции NAT:

  1. Статическая трансляция NAT – каждому частному IP-адресу соответствует один публичный IP. При использовании статической трансляции маршрутизатор NAT просто устанавливает взаимно однозначное соответствие между частным и зарегистрированным IP-адресом, от имени которого он выступает.
  2. Динамическая трансляция NAT – преобразование внутренних Ip-адресов во внешние происходит динамически. Создается пул возможных публичных IP-адресов и из этого пула динамически выбираются Ip-адреса для преобразования.
  3. Трансляция адресов портов PAT – позволяет выполнить масштабирование для поддержки многих клиентов с использованием всего лишь нескольких открытых IP-адресов. PAT транслирует сетевой адрес в зависимости от TCP/UDP-порта получателя.

Рассмотрим более подробно каждый из видов трансляции.

Статическая трансляция NAT делает точное соответствие между частным и публичным Ip-адресом. Рассмотрим на примере.

Провайдер ISP компании назначает ей зарегистрированный номер сети 200.1.1.0. Соответственно маршрутизатор NAT должен сделать так, чтобы этот частный адрес выглядел таким образом, как если бы находился в сети 200.1.1.0. Для этого маршрутизатор изменяет IP-адрес отправителя в пакетах, которые как на рисунке пересылаются слева направо. В данном примере маршрутизатор изменяет частный Ip-адрес 10.1.1.1 на открытый 200.1.1.1. Другому частному адресу 10.1.1.2 соответствует публичный 200.1.1.2. Далее рассмотрим настройку статического NAT в Cisco.

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

На схеме видно, что пользователь получил от провайдера адрес 100.0.0.0 сети класса C. Вся эта сеть с маской 255.255.255.0 настроена на последовательном канале между пользователем и Интернетом. Поскольку это двухточечный канал, в данной сети используется только 2 из 254 действительных (возможных) IP-адресов.

Конфигурация для роутера NAT_GW:

NAT_GW>enable NAT_GW#configure terminal - описание интерфейса - задаем шлюз по-умолчанию - описание интерфейса - задаем Ip и маску NAT_GW(config-if)#no shutdown - включаем интерфейс физически NAT_GW(config-if)#exit NAT_GW(config)#ip nat inside source static 192.168.1.2 100.0.0.1 NAT_GW(config)#ip nat inside source static 192.168.1.3 100.0.0.2 - статическое сопоставление адресов NAT_GW(config)#ip nat inside source static 192.168.1.4 100.0.0.3 - статическое сопоставление адресов

Статические соответствия создаются с помощью команды ip nat inside source static . Ключевое слово inside означает, что NAT транслирует адреса для хостов, находящихся во внутренней части сети. Ключевое слово source означает, что NAT транслирует IP-адреса в пакетах, поступающих на ее внутренние интерфейсы. Ключевое слово static означает, что эти параметры определяют статическую запись, которая никогда не удалится из таблицы NAT в связи с истечением периода времени. При создании записей статической трансляции NAT маршрутизатору необходимо знать, какие интерфейсы являются внутренними (inside), а какие внешними (outside). Подкоманды интерфейса ip nat inside и ip nat outside соответствующим образом идентифицируют каждый интерфейс.

Для просмотра важной информации о NAT существует две команды show ip nat translations, show ip nat statistics.

Первая команда выводит три записи статической трансляции NAT, созданной в конфигурации. Вторая команда выводит статистическую информацию, такую, как количество активных в данный момент записей в таблице трансляции. Эта статистика также включает в себя количество повторных попаданий (hit), которое увеличивается на единицу с каждым пакетом, для которого NAT должна транслировать адреса.

Перейдем далее к динамической трансляции сетевых адресов NAT. Динамическая трансляция создает пул возможных глобальных внутренних адресов и определяет критерий соответствия для определения того, какие внутренние глобальные IP-адреса должны транслироваться с помощью NAT. Например, в схеме ниже был установлен пул из пяти глобальных IP-адресов в диапазоне 200.1.1.1 – 200.1.1.5. Трансляция NAT также настроена для преобразования всех внутренних локальных адресов, которые начинаются с октетов 10.1.1

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

  1. Настроить интерфейсы, которые будут находится во внутренней подсети, с помощью команды ip nat inside.
  2. Настроить интерфейсы, которые будут находится во внешней подсети, с помощью команды ip nat outside.
  3. Настроить список ACL, соответствующий пакетам, поступающим на внутренние интерфейсы, для которых должна быть применена трансляция NAT
  4. Настроить пул открытых зарегистрированных IP-адресов с помощью команды режима глобального конфигурирования ip nat pool имя первый-адрес последний-адрес netmask маска-подсети.
  5. Включить динамическую трансляцию NAT, указав в команде глобального конфигурирования ip nat inside source list номер-acl pool имя-пула

Схема будет использоваться такая же как и в прошлый раз. Новая конфигурация для роутера NAT_GW:

NAT_GW>enable - переходим в расширенный режим NAT_GW#configure terminal - переходим в режим конфигурации NAT_GW(config)#interface fa0/0 - настройка интерфейса в сторону частной сети NAT_GW(config-if)#description LAN - описание интерфейса NAT_GW(config-if)#ip address 192.168.1.1 255.255.255.0 - задаем шлюз по-умолчанию NAT_GW(config-if)#no shutdown - включаем интерфейс физически NAT_GW(config-if)#ip nat inside - настраиваем интерфейс как внутренний NAT_GW(config-if)#exit NAT_GW(config)#interface fa0/1 - настройки интерфейса в сторону провайдера NAT_GW(config-if)#description ISP - описание интерфейса NAT_GW(config-if)#ip address 100.0.0.253 255.255.255.0 - задаем Ip и маску NAT_GW(config-if)#no shutdown - включаем интерфейс физически NAT_GW(config-if)#ip nat outside - настраиваем интерфейс как внешний NAT_GW(config-if)#exit NAT_GW(config)#ip nat pool testPool 100.0.0.1 100.0.0.252 netmask 255.255.255.0- создаем динамический пул NAT_GW(config)#access-list 1 permit 192.168.1.1 0.0.0.255 - создаем список доступа 1, в котором разрешаем транслировать Ip-адреса из подсети 192.168.1.1/24 NAT_GW(config)#ip nat inside source list 1 pool testPool - включаем динамическую трансляцию NAT_GW(config)#ip route 0.0.0.0 0.0.0.0 100.0.0.254 - статический маршрут в сторону провайдера

Следующий вид трансляции – трансляция адресов портов PAT (Port Address Translation). Про этот вид NAT я расскажу в следующей статье, когда мы будем подключать локальную подсеть к Интернету. Тема довольно большая и важная. PAT является наиболее популярным видом NAT’a.


Подписывайтесь на нашу

2 32 или 4 294 967 296 IPv4 адресов это много? Кажется, что да. Однако с распространением персональных вычислений, мобильных устройств и быстрым ростом интернета вскоре стало очевидно, что 4,3 миллиарда адресов IPv4 будет недостаточно. Долгосрочным решением было IPv6 , но требовались более быстрое решение для устранения нехватки адресов. И этим решением стал NAT (Network Address Translation) .

Что такое NAT

Сети обычно проектируются с использованием частных IP адресов. Это адреса 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16 . Эти частные адреса используются внутри организации или площадки, чтобы позволить устройствам общаться локально, и они не маршрутизируются в интернете. Чтобы позволить устройству с приватным IPv4-адресом обращаться к устройствам и ресурсам за пределами локальной сети, приватный адрес сначала должен быть переведен на общедоступный публичный адрес.

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

Маршрутизаторы с поддержкой NAT могут быть настроены с одним или несколькими действительными общедоступными IPv4-адресами. Эти общедоступные адреса называются пулом NAT. Когда устройство из внутренней сети отправляет трафик из сети наружу, то маршрутизатор с поддержкой NAT переводит внутренний IPv4-адрес устройства на общедоступный адрес из пула NAT. Для внешних устройств весь трафик, входящий и выходящий из сети, выглядит имеющим общедоступный IPv4 адрес.

Маршрутизатор NAT обычно работает на границе Stub -сети. Stub-сеть – это тупиковая сеть, которая имеет одно соединение с соседней сетью, один вход и выход из сети.

Когда устройство внутри Stub-сети хочет связываться с устройством за пределами своей сети, пакет пересылается пограничному маршрутизатору, и он выполняет NAT-процесс, переводя внутренний частный адрес устройства на публичный, внешний, маршрутизируемый адрес.

Терминология NAT

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

При использовании NAT, адреса IPv4 имеют разные обозначения, основанные на том, находятся ли они в частной сети или в общедоступной сети (в интернете), и является ли трафик входящим или исходящим.

NAT включает в себя четыре типа адресов:

  • Внутренний локальный адрес (Inside local address) ;
  • Внутренний глобальный адрес (Inside global address) ;
  • Внешний местный адрес (Outside local address) ;
  • Внешний глобальный адрес (Outside global address) ;

При определении того, какой тип адреса используется, важно помнить, что терминология NAT всегда применяется с точки зрения устройства с транслированным адресом:

  • Внутренний адрес (Inside address) - адрес устройства, которое транслируется NAT;
  • Внешний адрес (Outside address) - адрес устройства назначения;
  • Локальный адрес (Local address) - это любой адрес, который отображается во внутренней части сети;
  • Глобальный адрес (Global address) - это любой адрес, который отображается во внешней части сети;

Рассмотрим это на примере схемы.


На рисунке ПК имеет внутренний локальный (Inside local ) адрес 192.168.1.5 и с его точки зрения веб-сервер имеет внешний (outside ) адрес 208.141.17.4. Когда с ПК отправляются пакеты на глобальный адрес веб-сервера, внутренний локальный (Inside local ) адрес ПК транслируется в 208.141.16.5 (inside global ). Адрес внешнего устройства обычно не переводится, поскольку он является общедоступным адресом IPv4.

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

Термины, inside и outside , объединены с терминами local и global , чтобы ссылаться на конкретные адреса. На рисунке маршрутизатор настроен на предоставление NAT и имеет пул общедоступных адресов для назначения внутренним хостам.

На рисунке показано как трафик отправляется с внутреннего ПК на внешний веб-сервер, через маршрутизатор с поддержкой NAT, и высылается и переводится в обратную сторону.


Внутренний локальный адрес (Inside local address ) - адрес источника, видимый из внутренней сети. На рисунке адрес 192.168.1.5 присвоен ПК – это и есть его внутренний локальный адрес.

Внутренний глобальный адрес (Inside global address ) - адрес источника, видимый из внешней сети. На рисунке, когда трафик с ПК отправляется на веб-сервер по адресу 208.141.17.4, маршрутизатор переводит внутренний локальный адрес (Inside local address ) на внутренний глобальный адрес (Inside global address ). В этом случае роутер изменяет адрес источника IPv4 с 192.168.1.5 на 208.141.16.5.

Внешний глобальный адрес (Outside global address ) - адрес адресата, видимый из внешней сети. Это глобально маршрутизируемый IPv4-адрес, назначенный хосту в Интернете. На схеме веб-сервер доступен по адресу 208.141.17.4. Чаще всего внешние локальные и внешние глобальные адреса одинаковы.

Внешний локальный адрес (Outside local address ) - адрес получателя, видимый из внутренней сети. В этом примере ПК отправляет трафик на веб-сервер по адресу 208.141.17.4

Рассмотрим весь путь прохождения пакета. ПК с адресом 192.168.1.5 пытается установить связь с веб-сервером 208.141.17.4. Когда пакет прибывает в маршрутизатор с поддержкой NAT, он считывает IPv4 адрес назначения пакета, чтобы определить, соответствует ли пакет критериям, указанным для перевода. В этом пример исходный адрес соответствует критериям и переводится с 192.168.1.5 (Inside local address ) на 208.141.16.5. (Inside global address ). Роутер добавляет это сопоставление локального в глобальный адрес в таблицу NAT и отправляет пакет с переведенным адресом источника в пункт назначения. Веб-сервер отвечает пакетом, адресованным внутреннему глобальному адресу ПК (208.141.16.5). Роутер получает пакет с адресом назначения 208.141.16.5 и проверяет таблицу NAT, в которой находит запись для этого сопоставления. Он использует эту информацию и переводит обратно внутренний глобальный адрес (208.141.16.5) на внутренний локальный адрес (192.168.1.5), и пакет перенаправляется в сторону ПК.

Типы NAT

Существует три типа трансляции NAT:

  • Статическая адресная трансляция (Static NAT) - сопоставление адресов один к одному между локальными и глобальными адресами;
  • Динамическая адресная трансляция (Dynamic NAT) - сопоставление адресов “многие ко многим” между локальными и глобальными адресами;
  • Port Address Translation (NAT) - многоадресное сопоставление адресов между локальными и глобальными адресами c использованием портов. Также этот метод известен как NAT Overload ;

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

Статическая NAT таблица выглядит так:


Динамический NAT использует пул публичных адресов и назначает их по принципу «первым пришел, первым обслужен». Когда внутреннее устройство запрашивает доступ к внешней сети, динамический NAT назначает доступный общедоступный IPv4-адрес из пула. Подобно статическому NAT, динамический NAT требует наличия достаточного количества общедоступных адресов для удовлетворения общего количества одновременных сеансов пользователя.

Динамическая NAT таблица выглядит так:


Port Address Translation (PAT)

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

С помощью PAT несколько адресов могут быть сопоставлены с одним или несколькими адресами, поскольку каждый частный адрес также отслеживается номером порта. Когда устройство инициирует сеанс TCP/IP , оно генерирует значение порта источника TCP или UDP для уникальной идентификации сеанса. Когда NAT-маршрутизатор получает пакет от клиента, он использует номер своего исходного порта, чтобы однозначно идентифицировать конкретный перевод NAT. PAT гарантирует, что устройства используют разный номер порта TCP для каждого сеанса. Когда ответ возвращается с сервера, номер порта источника, который становится номером порта назначения в обратном пути, определяет, какое устройство маршрутизатор перенаправляет пакеты.

Картинка иллюстрирует процесс PAT. PAT добавляет уникальные номера портов источника во внутренний глобальный адрес, чтобы различать переводы.


Поскольку маршрутизатор обрабатывает каждый пакет, он использует номер порта (1331 и 1555, в этом примере), чтобы идентифицировать устройство, с которого выслан пакет.

Адрес источника (Source Address ) - это внутренний локальный адрес с добавленным номером порта, назначенным TCP/IP. Адрес назначения (Destination Address ) - это внешний локальный адрес с добавленным номером служебного порта. В этом примере порт службы 80: HTTP.

Для исходного адреса маршрутизатор переводит внутренний локальный адрес во внутренний глобальный адрес с добавленным номером порта. Адрес назначения не изменяется, но теперь он называется внешним глобальным IP-адресом. Когда веб-сервер отвечает, путь обратный.

В этом примере номера портов клиента 1331 и 1555 не изменялись на маршрутизаторе с NAT. Это не очень вероятный сценарий, потому что есть хорошая вероятность того, что эти номера портов уже были прикреплены к другим активным сеансам. PAT пытается сохранить исходный порт источника. Однако, если исходный порт источника уже используется, PAT назначает первый доступный номер порта, начиная с начала соответствующей группы портов 0-511, 512-1023 или 1024-65535 . Когда портов больше нет, и в пуле адресов имеется более одного внешнего адреса, PAT переходит на следующий адрес, чтобы попытаться выделить исходный порт источника. Этот процесс продолжается до тех пор, пока не будет доступных портов или внешних IP-адресов.

То есть если другой хост может выбрать тот же номер порта 1444. Это приемлемо для внутреннего адреса, потому что хосты имеют уникальные частные IP-адреса. Однако на маршрутизаторе NAT номера портов должны быть изменены - в противном случае пакеты из двух разных хостов выйдут из него с тем же адресом источника. Поэтому PAT назначает следующий доступный порт (1445) на второй адрес хоста.

Подведем итоги в сравнении NAT и PAT. Как видно из таблиц, NAT переводит IPv4-адреса на основе 1:1 между частными адресами IPv4 и общедоступными IPv4-адресами. Однако PAT изменяет как сам адрес, так и номер порта. NAT перенаправляет входящие пакеты на их внутренний адрес, ориентируясь на входящий IP адрес источника, заданный хостом в общедоступной сети, а с PAT обычно имеется только один или очень мало публично открытых IPv4-адресов, и входящие пакеты перенаправляются, ориентируясь на NAT таблицу маршрутизатора.

А что относительно пакетов IPv4, содержащих данные, отличные от TCP или UDP? Эти пакеты не содержат номер порта уровня 4. PAT переводит наиболее распространенные протоколы, переносимые IPv4, которые не используют TCP или UDP в качестве протокола транспортного уровня. Наиболее распространенными из них являются ICMPv4. Каждый из этих типов протоколов по-разному обрабатывается PAT. Например, сообщения запроса ICMPv4, эхо-запросы и ответы включают идентификатор запроса Query ID . ICMPv4 использует Query ID. для идентификации эхо-запроса с соответствующим ответом. Идентификатор запроса увеличивается с каждым отправленным эхо-запросом. PAT использует идентификатор запроса вместо номера порта уровня 4.

Преимущества и недостатки NAT

NAT предоставляет множество преимуществ, в том числе:

  • NAT сохраняет зарегистрированную схему адресации, разрешая приватизацию интрасетей. При PAT внутренние хосты могут совместно использовать один общедоступный IPv4-адрес для всех внешних коммуникаций. В этом типе конфигурации требуется очень мало внешних адресов для поддержки многих внутренних хостов;
  • NAT повышает гибкость соединений с общедоступной сетью. Многочисленные пулы, пулы резервного копирования и пулы балансировки нагрузки могут быть реализованы для обеспечения надежных общедоступных сетевых подключений;
  • NAT обеспечивает согласованность для внутренних схем адресации сети. В сети, не использующей частные IPv4-адреса и NAT, изменение общей схемы адресов IPv4 требует переадресации всех хостов в существующей сети. Стоимость переадресации хостов может быть значительной. NAT позволяет существующей частной адресной схеме IPv4 оставаться, позволяя легко изменять новую схему общедоступной адресации. Это означает, что организация может менять провайдеров и не нужно менять ни одного из своих внутренних клиентов;

  • NAT обеспечивает сетевую безопасность. Поскольку частные сети не рекламируют свои адреса или внутреннюю топологию, они остаются достаточно надежными при использовании в сочетании с NAT для получения контролируемого внешнего доступа. Однако нужно понимать, что NAT не заменяет фаерволы;

Но у NAT есть некоторые недостатки. Тот факт, что хосты в Интернете, по-видимому, напрямую взаимодействуют с устройством с поддержкой NAT, а не с фактическим хостом внутри частной сети, создает ряд проблем:

  • Один из недостатков использования NAT связан с производительностью сети, особенно для протоколов реального времени, таких как VoIP . NAT увеличивает задержки переключения, потому что перевод каждого адреса IPv4 в заголовках пакетов требует времени;
  • Другим недостатком использования NAT является то, что сквозная адресация теряется. Многие интернет-протоколы и приложения зависят от сквозной адресации от источника до места назначения. Некоторые приложения не работают с NAT. Приложения, которые используют физические адреса, а не квалифицированное доменное имя, не доходят до адресатов, которые транслируются через NAT-маршрутизатор. Иногда эту проблему можно избежать, реализуя статические сопоставления NAT;
  • Также теряется сквозная трассировка IPv4. Сложнее трассировать пакеты, которые подвергаются многочисленным изменениям адресов пакетов в течение нескольких NAT-переходов, что затрудняет поиск и устранение неполадок;
  • Использование NAT также затрудняет протоколы туннелирования, такие как IPsec, поскольку NAT изменяет значения в заголовках, которые мешают проверкам целостности, выполняемым IPsec и другими протоколами туннелирования;
  • Службы, требующие инициирования TCP-соединений из внешней сети, или stateless протоколы, например, использующие UDP, могут быть нарушены. Если маршрутизатор NAT не настроен для поддержки таких протоколов, входящие пакеты не могут достичь своего адресата;

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас:(Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Возможно, вам потребуется назначить постоянный, статический IP-адрес на PlayStation 4, чтобы установить соединение NAT Type 2. Установка постоянного IP адреса гарантирует, что ваша консоль всегда будет иметь тот же внутренний IP, даже после перезагрузки приставки. Некоторые маршрутизаторы дают возможность вручную назначить IP-адрес, так что сперва вам необходимо проверить, возможен ли такой вариант в вашем роутере. Если нет, тогда можно провести настройку статического IP через меню консоли PS4.

Данное руководство разбито на две части. Прочитайте все от начала и до конца.

Как вручную настроить статический IP-адрес на PlayStation 4 через роутер

Отыщите в своем роутере путь для ручной настройки IP-адреса. Не все маршрутизаторы поддерживают эту функцию. Процесс настройки будет отличаться в зависимости от модели роутера, которой вы пользуетесь. Если ваш модем позволяет провести ручную настройку IP-адреса, тогда просто назначьте постоянный IP для PlayStation 4. В этом случае никаких изменений в настройках самой приставки делать не придется. Роутер самостоятельно будет назначать внутренний IP для PS4, функции которого идентичны статическому.

В случае, если ваш роутер не поддерживает ручной настройки IP, вам придется проделать настройки через консоль PS4. Для этого следуйте инструкции ниже:

  1. Можно попробовать навсегда привязать PS4 к IP-адресу, который вы используете сейчас. Чтобы найти этот IP, включите PS4 и сделайте следующее:

Запишите этот IP и MAC адрес PS4 на листок. Кроме того, вам необходимо будет запомнить IP-адрес вашего роутера, который указан в качестве шлюза по умолчанию (Default Gateway). Как это сделать, описано в следующем пункте нашего руководства.

  1. Через компьютер зайдите в настройки роутера (делается это через браузер, путем ввода IP роутера, например, 192.168.1.1. или 192.168.1.0. / 192.168.0.1). Вам необходимо будет навсегда присвоить PS4 IP-адрес, который вы записали раньше, при выполнении первого пункта.

Ниже скриншот с примером модема, который позволяет вручную назначить IP.

В этом роутере от Asus есть строки для ввода IP-адреса, после чего в выпадающему меню выбирается MAC-адрес. Используйте цифры адресов, которые вы записали при выполнении первого пункта этого руководства. В нашем примере, после записи цифр, необходимо нажать кнопку «Добавить» (Add).

В некоторых маршрутизаторах нельзя назначить IP-адреса, которые входят в диапазон DHCP роутера (диапазон адресов, который автоматически назначается роутером различным устройствам в вашей сети). Если это ваш случай, то нужно будет выбрать IP адрес вне диапазона DHCP роутера. Как сделать это, смотрите пункты 2-4 следующего раздела этого руководства («Как настроить статический IP -адрес в PS 4 »).

  1. После того, как вы привязали PS4 к определенному IP-адресу, протестируйте подключение консоли, чтобы убедиться в нормальной работоспособности. Чтобы провести тест соединения, сделайте следующее:

В случае успешного прохождения проверки соединения, вы увидите надпись «Проверка Интернет-соединения прошла успешно» (Internet Connection Successful).

  • UDP: 3478-3479

Более подробная информация о том, как это сделать, есть

  1. После того, как вы назначали постоянный IP адрес для PS4 и перенаправили порты в роутере, проверьте Интернет-соединение. Как это сделать, смотрите в п.3 этого руководства.

Поздравляем, ваше соединение должно быть установлено на NAT Type 2.

Если у вас не получилось установить подключение NAT Type 2, проверьте, все ли верно вы сделали. Повторно просмотрите данные, которые вы ввели в строку IP-адреса и MAC-адреса.

Если трудности с настройкой подключением NAT Type 2 остались, проверьте, правильно ли установлено соединение. У вас может быть не один роутер в локальной сети. Чтобы определить количество роутеров в сети, вы можете воспользоваться бесплатной программой Router Detector . Очень важно, что в сети был только один модем, в ином случае настроить сеть без лишней головной боли достаточно тяжело.

Как настроить статический IP-адрес в PS4

Если у вас роутер, в котором нельзя вручную назначить внутренние IP-адреса, для настройки постоянного IP в PS4 выполните следующие действия:

  1. Узнайте, какой IP-адрес, маску подсети, шлюз и DNS использует PS4 в настоящее время. Чтобы сделать это, следуйте инструкции ниже:

Запишите IP-адрес, маску подсети, шлюз, главный DNS и дополнительный (Primary DNS и secondary DNS). Вам нужно будет ввести все эти цифры в консоль чуть позже.

  1. Далее, войдите в настройки маршрутизатора через ПК.

Чтобы войти в настройки роутера, напишите его IP-адрес в строке браузера. Найти IP можно в списке адресов, которые вы записали при выполнении пункта 1. IP роутера – это адрес шлюза по умолчанию (Default Gateway).

Если не можете разобраться как же зайти в настройки модема, посети эту страницу . Выберите модель своего роутера и прочитайте, как зайти в настройки.

Вам необходимо через настройки посмотреть диапазон адресов DHCP, которые использует модем для автоматического назначения IP устройствам в сети.

Ниже есть скриншот, как должна выглядеть строка с этим диапазоном. Использовано меню роутера Linksys. Диапазон DHCP обведен красным.

  1. Вам нужно будет выбрать число между 2 и 254, которое находится за пределами диапазона DHCP, чтобы назначить IP вашей приставке.

В приведенном выше примере, маршрутизатор Linksys использует диапазон от 100 до 149, чтобы назначать IP-адреса для устройств во внутренней сети. В этом случае можно выбрать, например, число 31, тогда полный IP адрес для PS4 будет выглядеть так: 192.168.0.31. Вот еще несколько примеров, чтобы вы лучше разобрались:

  • Если диапазон DHCP 200-254, вы можете выбрать цифры от 2 до 50
  • Если роутер использует диапазон 50-200, тогда от 2 до 49
  1. Чтобы проверить, может ли выбранный вами IP быть использован, сделайте следующее:
  • Через меню «Пуск» откройте «Выполнить»
  • Введите команду «cmd» без кавычек и нажмите Enter
  • После этого должно появиться черное окошко
  • Далее, в строке ввода введите: «Ping (пробел) IP». Например: Ping 192.168.1.54
  • Нажмите Enter.

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

  1. Далее вам понадобится PS4, чтобы установить IP-адрес, который вы выбрали.

Теперь сделайте следующее:


Если вы в точности выполнили все вышеописанные действия, то статический IP будет настроен правильно. Если возникают какие-либо проблемы, проверьте правильность ввода информации, в частности, проверьте цифры, которые вы ввели в строку IP-адреса, шлюза, DNS. Чтобы перепроверить это, откройте главное меню PS4, выберите Настройки => Сеть => Просмотреть статус сети.

  1. Открытие портов (opening ports) или Port Forwarding в вашем роутере означает перенаправление всего трафика на определенный внутренний IP-адрес. Чтобы получить соединение NAT Type 2, вам нужно направить следующие порты на IP-адрес приставки PS4:
  • TCP: 80, 443, 1935, 3478-3480
  • UDP: 3478-3479

Более подробная информация о том, как перенаправить порты, есть

  1. После того, как вы назначили статический IP-адрес для PlayStation 4 и правильно перенаправили порты вашего роутера, можете сделать проверку Интернет-соединения. Как это сделать, читайте немного выше.

Поздравляем с установкой соединения NAT Type 2! При возникновении любых проблем, в первую очередь советуем проверять правильность ввода цифр при указании адреса шлюза, IP, DNS и маски подсети.

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

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

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

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


Рис. 7.1.

Пользователь корпоративной сети отправляет запрос в Интернет , который поступает на внутренний интерфейс маршрутизатора, сервер доступа или межсетевого экрана (устройство 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-адресов внешней сети с адресами из локальной сети используется один и тот же внешний порт . Четвертый тип – симметричный – для каждого адреса и порта использует отдельный внешний порт .

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

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

    1. Не все протоколы могут "преодолеть" NAT. Некоторые не в состоянии работать, если на пути между взаимодействующими хостами есть трансляция адресов. Опеределенные межсетевые экраны, осуществляющие трансляцию IP-адресов, могут исправить этот недостаток, соответствующим образом заменяя IP-адреса не только в заголовках IP, но и на более высоких уровнях (например, в командах протокола FTP).
    2. Из-за трансляции адресов "много в один" появляются дополнительные сложности с идентификацией пользователей и необходимость хранить полные логи трансляций.
    3. Атака DoS со стороны узла, осуществляющего NAT – если NAT используется для подключения многих пользователей к одному и тому же сервису, это может вызвать иллюзию DoS-атаки на сервис (множество успешных и неуспешных попыток). Например, избыточное количество пользователей ICQ за NAT приводит к проблеме с подключением к серверу некоторых пользователей из-за превышения допустимой скорости подключений.