CG-NAT — зачем нужен и как начать пользоваться

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

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

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

Сравнительная таблица

Основа для сравнения NAT PAT
основной Преобразует частный локальный IP-адрес в общедоступный глобальный IP-адрес. Подобно NAT, он также преобразует частные IP-адреса внутренней сети в общедоступные IP-адреса с помощью номеров портов.
отношения Суперсет ПАТ. Вариант NAT (форма Динамического NAT).
Пользы Адрес IPv4 Адреса IPv4 вместе с номером порта.
Типы

Определение NAT

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

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

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

NAT может быть трех типов:

  • Статический NAT. В этом типе NAT локальный адрес сопоставляется с глобальным адресом, и существует взаимно-однозначное отношение. Статический NAT полезен, когда узлу требуется постоянный адрес, к которому необходимо получить доступ из Интернета. Например, корпоративные серверы или сетевые устройства.
  • Динамический NAT — Динамический NAT позволяет преобразовывать незарегистрированный частный IP-адрес в зарегистрированный публичный IP-адрес из пула публичных IP-адресов.
  • Перегрузка PAT / NAT / маскировка IP — PAT является наиболее популярным типом среди трех типов. Это вариант динамического NAT и похож на него, но он сопоставляет несколько частных IP-адресов на один общедоступный IP-адрес с использованием портов.

Определение ПАТ

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

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

Исходные исходные порты сохраняются в PAT. Если исходный порт уже выделен, ищутся доступные порты. Группы портов разделены на три диапазона: от 0 до 511, от 512 до 1023 или от 1024 до 65535.

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

Ключевые различия между NAT и PAT

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

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

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

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

Недостатки

  • Задержки переключения пути являются результатом перевода.
  • Отсутствие сквозной прослеживаемости.
  • Некоторые приложения не совместимы с NAT.

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

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

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

Недостатки

  • Более одного и того же типа общедоступных служб не могут быть выполнены с одним IP-адресом в PAT.
  • Количество записей во внутренней таблице ограничено для отслеживания соединений.

Заключение

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

17.03.2021 | VAS Experts

cg-nat-решения-1140x760.jpg

Как все работает

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

Альтернативные решения

A10 Networks Thunder

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

F5 BIG-IP

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

Cisco ASR 9000

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

При желании, вы можете потратить время своих технических специалистов и реализовать CG-NAT самостоятельно. На тематических информационных ресурсах есть примеры успешных кейсов такого рода. Из плюсов можно отметить полный контроль решения с вашей стороны — ваши инженеры, скорее всего, будут точно понимать его устройство. Главный же минус здесь в том, создание функциональности CG-NAT своими силами — это постоянная тяжелая работа, требующая ресурсов. Скорее всего, для очень многих компаний более оправданно будет воспользоваться готовым решением. Например, Carrier Grade NAT от VAS Experts, которое мы сейчас и рассмотрим.

Плюсы CG-NAT в составе СКАТ DPI

  1. Он максимально рационально использует адресное пространство IPv4.
  2. Отвечает требованиям, прописанным в технических стандартах RFC 4787 (Network Address Translation (NAT) Behavioral Requirements for Unicast UDP) и RFC 6888 (Common Requirements for Carrier-Grade NATs), соответствие которым должно гарантировать стабильную работу.
  3. СКАТ DPI может работать с 128 миллионами сессий одномоментно.
  4. Вы можете динамически масштабировать решение и увеличить пропускную способность не прерывая трафика.
  5. Единое управление всей функциональностью платформы.
  6. Трансляции журналируются и доступны либо в виде логов, либо же их можно передать на внешний коллектор по протоколу NetFlow v10 (IPFIX).

Как настраивается NAT в СКАТ DPI

В нашем решении его можно настроить буквально за две команды. Профиль можно создать одной командой, вот она:

fdpi_ctrl load profile --service 11  --profile.name test_nat --profile.json '{ "nat_ip_pool" : "5.200.43.0/24,5.200.44/25", "nat_tcp_max_sessions" : 2000, "nat_udp_max_sessions" : 2000 }'

А вот одна команда для его включения:

fdpi_ctrl load --service 11 --profile.name test_nat --ip 192.168.0.1

или же:

fdpi_ctrl load --service 11 --profile.name test_nat --login test_subs

или же:

fdpi_ctrl load --service 11 --profile.name test_nat --cidr 192.168.1.0/24

Управление CG-NAT через графический интерфейс

Нагрузка-на-пулы-1140x666.png
Нагрузка на профили и пулы адресов
NAT-статистика-нагрузка-на-порты-1140x608.png
NAT-статистика (нагрузка на порты)
Статистика-преобразований-1140x696.png
Статистика преобразования приватных IP-адресов в публичные

Дополнительные возможности

В СКАТ DPI встроена опция Full Cone NAT, которая позволяет отправлять пакеты из любого источника по внешнему отображаемому порту TCP/UDP. Благодаря этому, становится проще отслеживать активность пиринговых сервисов, таких, как торренты, игры и другие. Все соединения клиентов с одного серого внутреннего IP-адреса привязываются к одному белому внешнему IP-адресу благодаря функции Paired IP address pooling.

Также есть базовая защита от DDoS-атак. Она устроена так: при попытке подключения к «белому» адресу извне на определенный порт, устройство, выполняющее функции NAT проверяет, есть ли для данного порта установленные соединения. Если нет, то соединения будет прервано.

Также, в случае заражения какого-либо из абонентов зловредным ПО мы можем ограничить количество используемых портов UDP и TCP, чтобы это ПО не забрало себе все сетевые ресурсы. В этом случае пострадает только один абонент, а не все.

Также среди используемых технологий стоит озвучить Hairpinning. Она дает возможность всем абонентам за NAT обращаться к публичным адресам друг друга без пересылки пакетов за пределы устройства и трансляции за пределами устройства.

Несколько уточнений

Чтобы функция CG-NAT работала корректно, СКАТ DPI должен работать по схеме «в разрыв» (пример на схеме ниже). Также нужна лицензия СКАТ DPI BRAS или COMPLETE. Скорость трансляции адресов зависит от выбранной аппаратной платформы и лицензии. Она может составлять от 6 до 200Гбит/с. Кроме того, мы рекомендуем установить резервную платформу на случай нештатных ситуаций.

Поделиться в социальных сетях06/08/2018 00:25Общие моментыПример стандартной настройкиЧастные случаи и ошибкиNetmap и с чем его едятHairpin NAT что за зверь?Обсуждая NAT в контексте Цисок мы уже поднимали связанную с этим теорию, и поэтому знаем, что есть IP-адреса белые, читай, публичные, а есть серые — приватные, к которым относятся следующие диапазоны:При этом один и тот же серый айпишник может оказаться у вашего ноутбука, и у принтера дядюшки Сэма где-то в Калифорнии. Конечно, живи они свободно в глобальной паутине, это неминуемо привело бы к конфликту IP-адресов. Поэтому и существует NAT, преобразующий приватные адреса в публичные, а также, например, обеспечивающий видимость хостов за маршрутизаторами.И всё это NATNetwork Address Translation, трансляция сетевых адресов.Вспомним L3-уровень модели OSI. На сетевом уровне в заголовке IP-пакета содержится следующая информация:

  • Адрес и порт источника (source address / source port);
  • Адрес и порт назначения (destination address / destination port).

Соответственно, в маршрутизаторе предусмотрено два направления (в терминологии — Chain, «цепочки») трансляции адресов:

  • src-nat (замена адреса и опционально порта источника);
  • dst-nat (замена адреса и опционально порта назначения).

В рамках обработки пакета маршрутизатором он сначала попадает в цепочку dst-nat, а затем пройдя фильтр пакетов и отправившись по пути в соответствии с таблицей маршрутизации оказывается в цепочке src-nat.Ниже приведена таблица, графически отражающая весь путь пакета. По ней видно, что процесс Destination NAT входит в глобальную цепочку Prerouting, а финальная цепочка называется Postrouting, в которую входит Source NAT, и которая следует за основными этапами обработки пакета.1533501678_683px-ip_final.pngЧто мы из всего этого можем вынести?Во-первых, адрес и порт назначения пакета изменятся в цепочке dst-nat, до того как будут подвергнуты обработке цепочками input и forward. И тут кроется нюанс. В правилах Firewall нужно писать фильтры с учетом уже изменившегося адреса назначения пакета, иначе магия не произойдет (то есть имея в своей сети сервак с айпишником 192.168.0.15 и открытым портом 3389, в правилах файрволла нужно указывать именно эти данные, не обращая внимания, что снаружи он представлен иначе).Во-вторых, один и тот же пакет может быть подвергнут обработке сначала в цепочке dst-nat, а затем и в src-nat.И да, правилами NAT обрабатывается только первый пакет в сессии, а далее всем рулит уже Connection Tracker. Учитывайте это!Вся настройка производится здесь:

/ip firewall nat

Пакет выбирается по тем же принципам, что и при настройке фильтров там же поблизости, так что в этой статье не будем заострять здесь внимание, а перейдем сразу к действиям, то есть вкладке Action. Стоп-стоп, всё так, да не всё, есть небольшие исключения:

  • В рамках dst-nat нам недоступен выбор Out-interface, ведь данная цепочка производит обработку пакета до решения о его маршрутизации, и роутер попросту не знает, куда там этот пакет следует отправить;
  • По тем же причинам в цепочке src-nat недоступен выбор In-interface;

Так, теперь переходим к вкладке Action и действиям, которые в ней предлагаются.Accept — обработка пакета не производится, адреса назначения/источника останутся неизменными. Это важный момент, например, при работе с IPSec.Add dst to address list — адрес назначения добавляется в именованный список адресов с именем Adress List на определенное время (отвечает за него поле timeout).Dst-nat — заменит адрес назначения (dst address) значением, которое прописано в to addresses, а также порт, если в плашке to ports что-то указано. По понятным причинам данное действие работает только в рамках цепочки dstnat и её производных.Jump — переводит на собственную цепочку, chain, обработки пакетов. В качестве опции указываем имя цепочки.В Чуть подробнее о джампеСобственно говоря, имеется возможность писать собственные цепочки (Chain) обработки правила, дабы не использовать тяжеловесные дефолтные правила.Если вы когда-либо занимались программированием, то собственная цепочка очень похожа на процедуру, вызов которой осуществляется указанием в поле Action команды Jump с именем цепочки, возврат же происходит на следующее правило за вызовом цепочки, по окончании обработки трафика в цепочке, либо если в каком-либо правиле собственной цепочки было использовано Action=Return, что прервало дальнейшую обработку цепочки.Создаем собственную цепочку, что-то вроде:

/ip firewall filter  add action=accept chain=LAN-WAN disabled=no

Интерфейс при этом сейчас не указывается, т.к. его мы выставим в рамках создания джампа не неё:

add action=jump chain=forward disabled=no in-interface=LAN jump-target=LAN-WAN out-interface=WAN

Как-то так. Коснулись поверхностно, и при случае надо будет поговорить об этом подробнее.Взято с портала SPWLog — пакет заносится в Log-файл маршрутизатора и уходит на обработку следующим в списке правилом. Удобная фича при дебаге.Masquerade — это производная от действия src-nat, в данном случае адрес источника будет заменен на первый адрес out-interface используется исключительно в рамках цепочки srcnat.Netmap — данное действие используется при так называемом NAT 1:1, это когда пакеты в сеть 1.1.1.0/24 должны быть приведены к адресации 2.2.2.0/24. Данное действие может существовать как в dstnat, так и в srcant.Passthrough — отсутствие каких-либо действий. Просто передаем пакет на следующее правило. Но счетчик при этом исправно тикая, показывая пакеты прошедшие через это правило. Полезная штука для сбора статистической информации.Redirect — это производная от dst-nat, в качестве адреса назначения пакета подставляется сам маршрутизатор.Return — прерывает обработку пакета в цепочке и возвращает его на следующее правило за правилом Action=Jump, которое и передало пакет в эту цепочку.Same — а это уже частный случай src-nat. Используется он при наличии нескольких адресов для преобразования. Например, в случае наличия нескольких публичных IP.Src-nat — это действие заменяет source address тем, что выставлено в поле to addresses, а также порт, если что-то вписано в поле to ports. Живет это действие в цепочках srcnat и логически ему близких.Общие моментыПример стандартной настройкиЧастные случаи и ошибкиNetmap и с чем его едятHairpin NAT что за зверь?скачать dle 12.0Сеть и интернет / Статьи и теорияИспользуемые источники:

  • https://ru.gadget-info.com/difference-between-nat
  • https://vasexperts.ru/blog/cg-nat/cg-nat-zachem-i-kak/
  • http://routeworld.ru/set-i-internet/theory/205-rabota-s-nat-na-marshrutizatorah-mikrotik.html

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации