что такое nat в сети
Что такое NAT в роутере: определение, примеры, как включить и настроить
Всем привет! Сегодня мы поговорим про то, что же такое NAT в роутере. Как вы, наверное, все знаете, большинство адресов в интернете использует IPv4 версию. Эти адреса имеют диапазон от 0.0.0.0 до 255.255.255.255. Если подсчитать, то у нас есть больше 4-х миллиардов айпишников. Вроде бы достаточно много, но на деле с ростом клиентов интернета свободных адресов почти уже не осталось. Приплюсуем сюда тот факт, что многие IP зарезервированы, а на планете активно развивается мобильный интернет, который забирает львиную долю IPv4.
Но как получается всем подключаться к интернету и не оставаться в стороне? – Для этих целей и используется NAT (Network Address Translation – трансляция сетевых адресов). А теперь о самой сетевой технологии более подробно в статье.
Что такое NAT и как работает и зачем он нужен
Если у вас есть дома роутер, то вы уже используете технологию NAT. Чтобы вам было понятнее для чего она нужна, давайте рассмотрим простой пример. Представим, что вам нужно в квартиру провести интернет. Вы звоните провайдеру, он приходит и прокидывает вам кабель. Помимо всего, чтобы работать в глобальной сети вам нужен внешний айпишник, его также предоставляет только провайдер.
Конечно вы можете воткнуть кабель в ноутбук или компьютер, тогда никакого NAT (в вашей квартире) не будет, так как ваш комп будет напрямую подключен к интернету сети. Но если помимо вас, интернетом хотят пользоваться и другие жильцы квартиры, то вам нужно установить Wi-Fi роутер. Не будете же вы каждому жителю проводить интернет-кабель и отдельно платить за каждого.
Кабель подключается к выделенному WAN порту. Далее к роутеру уже можно подключить телефоны, планшеты, ноутбуки, компьютеры, телевизоры и многое другое. Маршрутизатор выступает неким шлюзом между вашей домашней и глобальной интернет сетью.
Роутер каждому устройству дома выдает свой локальный IP. Например:
Шлюз, он же роутер, имеет сразу два адреса:
Все жители квартиры сразу могут иметь доступ к интернету с одного внешнего адреса за счет роутера. Как я уже и говорил, таких внешних айпишников в интернете очень мало – всего 4 294 967 296.
NAT – это технология, которая позволяет переводить вот такие вот локальные адреса во внешние и получать ответ из интернета. В итоге каждый житель квартиры, находясь внутри локальной сети, и используя за счет роутера внешний IP – может выходить в интернет.
Если говорить грубо, то NAT – это как дверь в квартире, каждый может её использовать, чтобы выйти в открытый мир. В итоге пользователей в интернете становится куда больше чем 4 миллиарда, но количество самих адресов остается всегда одним и тем же.
NAT позволяет скрывать внутренние айпишники от интернета, и их никто не сможет увидеть. Это мы рассмотрели случай, когда подключена небольшая семья. А представим, что нужно подключить офис из сотни или даже тысячи человек. Для организации просто не целесообразно подключать каждому пользователю свой интернет с внешним IP. Да и это не нужно. Достаточно использовать маршрутизатор, в котором уже по умолчанию будет работать NAT.
Схема достаточно простая, давайте рассмотрим пример.
Как видите, NAT постоянно переводит внутренний адрес во внешний и обратно. Если локальная сеть имеет только один выходной маршрутизатор, который может быть связан с внешней сетью, то такую сеть называют Stub сетью.
Термины NAT
В сфере NAT есть различная терминология, которую вы можете встретить в настройках маршрутизатора или на схемах подключения.
Есть 4 вида NAT адресов:
Пока ничего не понятно? Сейчас постараюсь рассказать на примере. Давайте рассмотрим пример NAT адресации. Смотрим на картинку ниже.
Типы NAT
Статический (Static) NAT
Статический NAT – это когда у каждого локального внутреннего адреса, есть свой глобальный адрес. Часто используется для Web-серверов. Весь трафик при этом проходит аналогично через один узел, и у каждого устройства есть свой как локальный, так и глобальный IP.
Динамический (Dynamic) NAT
У нас есть пул внутренних айпишников, который постоянно присваивается разные глобальные внешние адреса. Внешние IP присваиваются по принципу, какой есть свободный, тот и назначается маршрутизатором. Очень часто используется в городских сетях провайдерами, именно поэтому ваши глобальные IP постоянно меняются. Чтобы немного расширить эту тему, советую более подробно почитать про белые и серые IP.
PAT (Port Address Translation)
Самая популярная форма NAT. Про неё я в самом начале и говорил. Когда нескольким локальным адресам назначается один глобальный. То есть когда вся семья, грубо говоря, использует один внешний IP. Чтобы маршрутизатор понял, кому именно посылать ответ от сервера, на который ранее был запрос, он использует в своем запросе номер порта. И по нему отсылает ответ нужному локальному пользователю.
Посмотрите на картинку выше. Как видите при запросе на выделенный сервер, помимо того, что роутер переводит адреса, он еще в запросе добавляет номер порта. То есть ответ от сервера также имеет этот порт, который потом уже используется для того, чтобы ответ получил нужный компьютер.
Плюсы и минусы IP NAT
Видео
Если вам что-то было не понятно, или вам лень читать, то советую посмотреть это полезное видео.
Как настроить и включить NAT на роутере
Стандартный NAT уже работает в режиме PAT и его настраивать не нужно. То есть вы просто настраиваете интернет и Wi-Fi на маршрутизаторе. Другой вопрос, если дома вы решили организовать Web, игровой или почтовый сервер. А быть может вы хотите подключить камеры видеонаблюдения и следить за домом или квартирой, отдыхая на Бали. Вот тут нам понадобится проброс портов – об смотрите статью про порты. Там коротко рассказано, что такое порты, для чего они нужны и как их пробросить.
NAT (Network Address Translation) для новичков
Приветствую всех читателей данной статьи!
Данная статья будет полезна как новичкам в IT сфере, так и неопытным системным администраторам/ сетевым инженерам. Здесь затрагиваются понятия и принцип работы технологии NAT, ее значение в наше время, виды и создание с конфигурированием в программе-симуляторе Cisco Packet Tracer.
Введение
С задачей объединения устройств в единую сеть помогают различные компании, занимающиеся разработкой и внедрением сетевого оборудования.На сей момент на рынке сетевого оборудования доминируют компании Cisco Systems и Huawei. В данной статье будем вести работу с оборудованием Cisco.
В операционной системе IOS представлен специфичный интерфейс командой строки CLI (Command Line Interface). В этом интерфейсе возможно использовать некоторое количество команд. Количество зависит от выбранного режима и от уровня привилегий пользователя (пользовательский, привилегированный, глобальной конфигурации и специфической конфигурации).
Нехватка IP адресов. Технология NAT
В 80х годах ХХ века заложили основу IPv4, позволяющую создавать
4.3 млрд. адресов, но никто не предполагал, что этот запас так быстро иссякнет. С каждым годом появлялось все больше и больше пользователей и с 25 ноября 2019г. в России и в Европе официально закончились IP адреса. Лимит исчерпан.
Для решения этой проблемы было придумано несколько способов:
Первый способ заключается в усилении контроля за IP адресами.
Пусть существует некоторый сайт N с IPv4 xxx.xxx.xxx.xxx, и его хост решил прекратить его поддержание данного сайта. Сайт заброшен, а IP продолжает числиться как занятый и таких случаев может быть очень много. То бишь необходимо провести «инвентаризацию» IP адресов и изъять неиспользуемые/заброшенные.
Протокол IPv6 разработан как преемник протокола IPv4. Основные преимущества IPv6 над IPv4 заключаются в увеличенном адресном пространстве (IPv4 имел 32 бита, что равнялось 2 32 адресам, а IPv6 имел 128 бит, что равнялось 2 128 адресам), 6 версия протокола стала безопаснее (т.к. в v4 не предусматривались многие аспекты безопасности, ибо расчет был на сторонние ПО, а в v6 появились контрольные суммы и шифрование пакетов), однако это далеко не все преимущества IPv6 над IPv4.
Проблема, казалось бы, решена, однако перейти с протокола IPv4 на IPv6 вызывает трудности, потому что эти протоколы несовместимы. И изюминкой причины тяжелого перехода на 6 версию протокола является денежная стоимость. Многие кампании не готовы вложить достаточное кол-во средств для перехода, хоть и стоит отметить, что процесс перехода с 4 на 6 версию постепенно идет.
Cогласно документу RFC 1918, IANA зарезервировала 3 блока адресов для частных IP (серых) (рис 1), остальные же IP адреса носят название публичных адресов (белых).
рис.1
Маршрутизатор подменяет обратный IP-адрес пакета на свой внешний (видимый из интернета) IP-адрес и меняет номер порта (чтобы различать ответные пакеты, адресованные разным локальным компьютерам). Комбинацию, нужную для обратной подстановки, маршрутизатор сохраняет у себя во временной таблице. Через некоторое время после того, как клиент и сервер закончат обмениваться пакетами, маршрутизатор сотрет у себя в таблице запись об n-ом порте за сроком давности.
Существует множество типов технологии NAT, однако основными принято считать: Статический NAT (Static Network Address Translation), Динамический NAT (Dynamic Network Address Translation) и Перегруженный NAT (Network Address Translation Overload).
Статический NAT применяют для отображения незарегистрированного IP-адреса на зарегистрированный IP-адрес на основании один к одному. Особенно полезно, когда устройство должно быть доступным снаружи сети.
рис 2
Статический NAT используется чаще всего в корпоративных сетях, когда необходимо, чтобы какой-либо IP адрес всегда был доступен из глобальной сети. Зачастую статическим IP наделяют сервера и помещают их в DМZ (рис 2).
Подготовка компьютерной сети
Логическая схема топологии сети будет выглядеть как показано на изображении (рис 3)
рис 4
рис 5
Теперь нужно настроить непосредственно маршрутизатор. Технология sub-interface позволяет объединять несколько виртуальных интерфейсов в один и подключить их к физическому интерфейсу (на маршрутизаторе выбран физический интерфейс fa0/0). Необходимо дать для каждого VLAN’а свой под-интерфейс (показано красным на рис 5) и выдать им IP адрес (показано зеленым на рис 5).
Таким образом, в будущем мы будем NAT’ить трафик.
Дадим серверу статичный IP 192.168.3.2, а остальных оставим для динамического распределения адресов.
После настройки DHCP, нужно прописать на каждом саб-интерфейсе в R0 команду «ip helper-address 192.168.3.2», тем самым указывая, куда стоит обращаться для получения IP адреса.
После данной команды, устройства получат запрашиваемые IP адреса.
рис 6
Пингуем с рандомного ПК сам сервер (1 пинг) и шлюзы маршрутизатора (2- 3 пинг) (рис 6).
Дальше для удобства будем эмулировать подключение к провайдеру, путем создания в программе-симуляторе РС провайдера, сервера Serv2 с IP 213.234.60.2 (эмулирующий остальную сеть интернет) и роутера R3.
Настройка NAT
Ну и наконец-то мы дошли до самой настройки NAT.
Для внедрения NAT нужно определиться какие порты будут внешними(outside), а какие внутренними(inside).
рис 7
рис 8
рис 9
А теперь, на финал, внедрим NAT Overload на R0.
Для этого создадим ACL и пропишем там сети, которые должны «натиться» (показано синим на рис 9) и, показав что нужно «натить», активируем лист (показано красным на рис 9).
Таким образом, реализовав статическую и динамическую (типа PAT) настройку NAT, мы смогли защитить небольшую сеть от подключения извне.
Надеюсь вам понравилась данная статья.
Спасибо за ее чтение, всем хорошего настроения 🙂
Задачи [ править ]
1. NAT решает проблему ограниченного диапазона IP-адресов, она существенна до тех пор, пока не произойдёт окончательный переход на IPv6.
2. Позволяет ограничить общение снаружи ко внутренним хостам, при этом возможность общаться изнутри наружу остаётся.
3. Даёт возможность скрыть внутренние сервисы внутренних хостов/серверов. Можно подменить внутренний порт официально зарегистрированной службы (например, 80-й порт TCP (HTTP-сервер) на внешний 54055-й). Таким образом, снаружи можно будет попасть на сайт по адресу вида http://example.org:54055, но на внутреннем сервере, находящемся за NAT, работа HTTP-сервера будет происходить на обычном 80-м порту, то есть 80-й порт сервера не будет доступным из Интернета для прямого входящего соединения.
Принцип работы [ править ]
Компьютер может быть подключен к Интернету напрямую (белый IP-адрес, обычно при подключении непосредственно к модему), либо через NAT — тогда компьютер имеет локальный IP-адрес, из Интернета недоступный (частный, серый). К серым адресам относятся адреса из следующих диапазонов:
Преобразование адреса методом NAT может производиться почти любым маршрутизирующим устройством — маршрутизатором, сервером доступа, межсетевым экраном. Принимая пакет от локального компьютера, роутер смотрит на IP-адрес назначения. Если это локальный адрес, то пакет пересылается другому локальному компьютеру. Если нет, то пакет надо переслать наружу в интернет. Но ведь обратным адресом в пакете указан локальный адрес компьютера, который из интернета будет недоступен. Поэтому роутер «на лету» транслирует (подменяет) обратный IP-адрес пакета на свой внешний (видимый из интернета) IP-адрес и меняет номер порта (чтобы различать ответные пакеты, адресованные разным локальным компьютерам). Комбинацию, нужную для обратной подстановки, роутер сохраняет у себя во временной таблице. Через некоторое время после того, как клиент и сервер закончат обмениваться пакетами, роутер сотрет у себя в таблице запись о n-ом порте за сроком давности.
Пример [ править ]
Типы NAT [ править ]
Статический [ править ]
Один внутренний адрес преобразуется в один внешний, все запросы, приходящие на внешний адрес будут транслироваться на внутренний, как будто хост и является обладателем белого IP-адреса. Такой подход бывает полезным, когда внутри частной сети есть сервер, к которому необходим полный доступ извне. Минус подхода в том, что он никак не помогает сохранить белые адреса.
Динамический [ править ]
Есть пул белых адресов, например, провайдер выделил сеть 198.51.100.0/28 с 16-ю адресами. Два из них (первый и последний) — адрес сети и широковещательный, ещё два адреса назначаются на оборудование для обеспечения маршрутизации. Двенадцать оставшихся адресов можно использовать для NAT и выпускать через них своих пользователей.
Ситуация похожа на статический NAT — один приватный адрес транслируется на один внешний, — но теперь внешний не чётко зафиксирован, а будет выбираться динамически из заданного диапазона. Проблема подхода такая же, как и в случае со статическим NAT — не решается проблема ограниченности белых адресов.
Many-to-One [ править ]
Следующий тип имеет несколько названий: NAT Overload, Port Address Translation (PAT), IP Masquerading, Many-to-One NAT. Суть этого типа в том, что через один внешний адрес выходит наружу много приватных. Этот подход, в отличие от предыдущих, позволяет решить проблему с нехваткой внешних адресов.
Проблемы NAT [ править ]
Hole punching [ править ]
Hole punching — метод для прямого соединения двух хостов, которые находятся за NAT-ами. Для инициации соединения требуется третья сторона – сервер, который виден обоим компьютерам. Обычно используются публичные STUN-серверы.
STUN (сокр. от англ. Session Traversal Utilities for NAT, Утилиты прохождения сессий для NAT) — это сетевой протокол, который позволяет клиенту, находящемуся за сервером трансляции адресов (или за несколькими такими серверами), определить свой внешний IP-адрес, способ трансляции адреса и порта во внешней сети, связанный с определённым внутренним номером порта. Эта информация используется для установления соединения UDP между двумя хостами в случае, если они оба находятся за маршрутизатором NAT.
UDP hole punching [ править ]
Алгоритм установления UDP сессии между 2 хостами находящимися за NAT [ править ]
Если [math]A[/math] и [math]B[/math] находятся за одним и тем же NAT-ом, то они соединятся через приватные адреса, иначе через публичные. На картинке показан пример, когда [math]A[/math] и [math]B[/math] находятся за разными NAT-ами.
TCP hole punching [ править ]
Алгоритм установления TCP соединения между 2 хостами находящимися за NAT [ править ]
NAT — что это такое, зачем он нужен и как его использовать
На данный момент в интернете больше всего распространены IP адреса в формате четвертой версии интернет протокола — IPv4. Но данная технология позволяет создавать лишь 4.3 миллиарда айпи на всех пользователей всемирной паутины.
Хотя нам и кажется, что это много — их уже критически не хватает, надо было придумывать, что-то новое, и еще до появления IPv6 был создан механизм преобразования сетевых адресов — NAT.
Из прошлого материала вы могли узнать о сетевом шлюзе, сейчас давайте разберемся, что из себя представляет технология NAT, как она работает и зачем была в принципе придумана и внедрена.
Что такое НАТ — NAT
NAT — это специальный механизм, реализованный в сетях TCP/IP, который позволяет изменять айпи адреса пересылаемых пакетов, т.е. тех внутренних IP, которые присылаются на сетевой шлюз — в глобальные для дальнейшей отправки во внешний интернет. Также, такие пакеты называют транзитными.
Реализуется через маршрутизатор, на программном уровне или настраивается самим провайдером. Полностью расшифровывается, как Network Address Translation и переводится на русский, как Преобразование Сетевых Адресов.
Простыми словами, работает это так. При создании сетей обычно используются частные IP вида: 10/8, 172.16/12, 192.168/16. Обмен пакетами между этими айпи внутри такой сети происходит напрямую. Но, чтобы выйти в глобальную паутину, такой IP должен быть преобразован в глобальный/публичный — именно этим и занимается NAT.
Именно НАТ позволяет вам из частной сети общаться с внешними ip адресами, за ее пределами. А между прочем, даже ваш роутер и подсоединенные к нему ПК, ноутбук, телевизор, смартфон и т.д. — это уже локальная частная сеть.
Интересно! Вот таким вот простыми способом, была решена проблема нехватки уникальных айпи IPv4 для каждого устройства. Т.е. в своей сети — свой IP, а во всемирной паутине — публичный, другой IP.
Типы NAT
1. Статический, Static NAT
Берется один IP-адрес из внутренней сети и преобразовывается во внешний/публичный и все запросы, которые будут на него посылаться извне, будут пересылаться именно на этот внутренний айпи. Т.е. для всемирной паутины он будет выглядеть полностью, как белый/публичный IP.
Используется чаще всего в корпоративных сетях, когда необходимо, чтобы какой-либо IP всегда был доступен из глобальной паутины.
Работает это так:
Вот и все. Если у вас несколько роутеров, то такую процедуру можно проделать со всеми ними.
2. Динамический, Dynamic NAT
Если вы имеете определенное количество белых/внешних IP, например, ваш поставщик интернета предоставил вам сеть 199.49.101.0/28 — с 16 айпи. Надеюсь помните, что первый и конечный адреса всегда заняты, подробнее в статье про IPv4. Еще два мы возьмем для оборудования на функционирование маршрутизации. И остается их 12, которые можно применять для NAT и пускать посредством них свои устройства.
Тут все практически также, как и со статичным НАТ, также 1 внутренний айпи привязан к 1 внешнему, но с той лишь разницей, что адреса теперь будут выдаваться динамически каждому нуждающемуся пользователю во внутренней сети, а не одному определенному узлу.
Все бы хорошо, но если, например, адресов 12, а пользователей 300? Те, кто успел, те и смогут их использовать.
3. NAT Overload
Этот вид еще имеет другие названия такие как: Many-to-One NAT, Port Address Translation (PAT) и IP Masquerading.
Как вы знаете, чаще всего провайдер выдает вам лишь один IP адрес, который может быть статическим или динамическим. Но дома может быть множество устройств с разными программами, которым необходим доступ во всемирную паутину и как определить, какое из них отправило запрос, какое приложение? Проблема эта решается использованием портов, по этой ссылке очень подробно описана эта тема.
Важно! Надеюсь вы помните, что порт пишется сразу после айпи через двоеточие, например: 176.57.209.9:443. И такая связка называется — сокет.
Как это будет выглядеть, когда NAT подменяет один IP на другой? Так, например, с двух устройств с внутренними адресами 173.52.6.7 и 173.52.4.5, которые должны заменяться на: 198.50.100.9 и 198.50.100.11 будет выполнен запрос на какой-либо сервер в интернете — это будет смотреться так:
Что происходит дальше? NAT берет IP-пакет первого узла, вынимает его TCP сегмент, при этом узнавая порт. У этого айпи внешний адрес 198.50.100.9 — на него он меняется при выходе в глобальный интернет. Далее происходит выбор порта, к примеру, 11837 и все данные уровня приложений упаковываются в новый TCP сегмент. Порт адресата естественно остается — 80, а вот того, кто отправляет заменяется с 21784 на 11837. TCP сегмент вставляется в новый IP-пакет со сменой самого адреса на 198.50.100.9. Такая же процедура происходит и со вторым хостом только отбирается следующий незанятый PORT.
Теперь данные отправляемые в интернет будут выглядеть так:
В NAT-таблицу записываются значения отправителя и получателя:
Когда приходит ответ от сервера происходит сопоставление данных с таблицей и пакеты данных доставляются именно тому, кто совершил запрос.
Преимущества NAT
Недостатки NAT
В заключение
Надеюсь вам стало чуточку понятнее, что это такое. Старался написать все, как можно понятнее без заумных терминов и других определений. Надеюсь вам понравилось и до встречи на страницах данного портала.