Всем привет! Сегодня мы поговорим про то, что же такое NAT в роутере. Как вы, наверное, все знаете, большинство адресов в интернете использует IPv4 версию. Эти адреса имеют диапазон от 0.0.0.0 до 255.255.255.255. Если подсчитать, то у нас есть больше 4-х миллиардов айпишников. Вроде бы достаточно много, но на деле с ростом клиентов интернета свободных адресов почти уже не осталось. Приплюсуем сюда тот факт, что многие IP зарезервированы, а на планете активно развивается мобильный интернет, который забирает львиную долю IPv4.
Но как получается всем подключаться к интернету и не оставаться в стороне? – Для этих целей и используется NAT (Network Address Translation – трансляция сетевых адресов). А теперь о самой сетевой технологии более подробно в статье.
Содержание
- Что такое NAT и как работает и зачем он нужен
- Термины NAT
- Типы NAT
- Статический (Static) NAT
- Динамический (Dynamic) NAT
- PAT (Port Address Translation)
- Плюсы и минусы IP NAT
- Видео
- Как настроить и включить NAT на роутере
- Задать вопрос автору статьи
Если у вас есть дома роутер, то вы уже используете технологию NAT. Чтобы вам было понятнее для чего она нужна, давайте рассмотрим простой пример. Представим, что вам нужно в квартиру провести интернет. Вы звоните провайдеру, он приходит и прокидывает вам кабель. Помимо всего, чтобы работать в глобальной сети вам нужен внешний айпишник, его также предоставляет только провайдер.
Конечно вы можете воткнуть кабель в ноутбук или компьютер, тогда никакого NAT (в вашей квартире) не будет, так как ваш комп будет напрямую подключен к интернету сети. Но если помимо вас, интернетом хотят пользоваться и другие жильцы квартиры, то вам нужно установить Wi-Fi роутер. Не будете же вы каждому жителю проводить интернет-кабель и отдельно платить за каждого.
Кабель подключается к выделенному WAN порту. Далее к роутеру уже можно подключить телефоны, планшеты, ноутбуки, компьютеры, телевизоры и многое другое. Маршрутизатор выступает неким шлюзом между вашей домашней и глобальной интернет сетью.
Роутер каждому устройству дома выдает свой локальный IP. Например:
- 192.168.1.10 – Компьютер папы.
- 192.168.1.11 – Телефон сына.
- 192.168.1.12 – Планшет жены.
- 192.168.1.13 – ноутбук дочери.
Шлюз, он же роутер, имеет сразу два адреса:
- Внутренний – 192.168.1.1
- Внешний – его выдает провайдер и он может иметь любой вид. Например, 175.67.87.223.
Все жители квартиры сразу могут иметь доступ к интернету с одного внешнего адреса за счет роутера. Как я уже и говорил, таких внешних айпишников в интернете очень мало – всего 4 294 967 296.
NAT – это технология, которая позволяет переводить вот такие вот локальные адреса во внешние и получать ответ из интернета. В итоге каждый житель квартиры, находясь внутри локальной сети, и используя за счет роутера внешний IP – может выходить в интернет.
Если говорить грубо, то NAT – это как дверь в квартире, каждый может её использовать, чтобы выйти в открытый мир. В итоге пользователей в интернете становится куда больше чем 4 миллиарда, но количество самих адресов остается всегда одним и тем же.
NAT позволяет скрывать внутренние айпишники от интернета, и их никто не сможет увидеть. Это мы рассмотрели случай, когда подключена небольшая семья. А представим, что нужно подключить офис из сотни или даже тысячи человек. Для организации просто не целесообразно подключать каждому пользователю свой интернет с внешним IP. Да и это не нужно. Достаточно использовать маршрутизатор, в котором уже по умолчанию будет работать NAT.
Схема достаточно простая, давайте рассмотрим пример.
- Компьютер из домашней сети с ИП 192.168.1.10 отправил запрос на какой-то сайт.
- Запрос пришел на роутер (192.168.1.1).
- Роутер не может использовать свой локальный адрес, поэтому переводит запрос и использует внешний адрес.
- Сайт получает запрос с внешним IP и на него отсылает ответ.
- Роутер принимает ответ от сайта, и уже отправляет его на компьютер, но уже используя внутренний айпишник.
Как видите, NAT постоянно переводит внутренний адрес во внешний и обратно. Если локальная сеть имеет только один выходной маршрутизатор, который может быть связан с внешней сетью, то такую сеть называют Stub сетью.
Термины NAT
В сфере NAT есть различная терминология, которую вы можете встретить в настройках маршрутизатора или на схемах подключения.
Есть 4 вида NAT адресов:
- Insidelocal – внутренний локальный адрес, который прописывается в первичном запросе от клиента.
- Insideglobal – внешний айпишник роутера.
- Outsidelocal – внутренний глобальный адрес сервера в интернете. Внутренний он, потому что он прописывается в первичном запросе от компьютера во внутренней сети.
- Outsideglobal – внешний глобальный. IP запроса на конечный сервер, который записан во внешнем запросе от роутера.
Пока ничего не понятно? Сейчас постараюсь рассказать на примере. Давайте рассмотрим пример NAT адресации. Смотрим на картинку ниже.
- У нас есть компьютер с (Inside Local) адресом 192.168.0.30, который находится с домашней сети.
- Он посылает запрос на сервер с (Outside Local) адресом 246.10.79.235.
- Маршрутизатор принимает ответ и переводит запрос:
(Inside Local) 192.168.0.30 -> (Outside Local) 246.10.79.235
В
(Inside Global) 135.87.99.202 -> (Outside Global) 246.10.79.235
- Когда сервер получает запрос, он отсылает ответ и все запросы переделываются в обратном порядке. Чтобы роутеру было понятно от кого пришел ответ и кому отправить запрос, он все данные записывает в свою таблицу маршрутизации.
Типы NAT
Статический (Static) NAT
Статический NAT – это когда у каждого локального внутреннего адреса, есть свой глобальный адрес. Часто используется для Web-серверов. Весь трафик при этом проходит аналогично через один узел, и у каждого устройства есть свой как локальный, так и глобальный IP.
Динамический (Dynamic) NAT
У нас есть пул внутренних айпишников, который постоянно присваивается разные глобальные внешние адреса. Внешние IP присваиваются по принципу, какой есть свободный, тот и назначается маршрутизатором. Очень часто используется в городских сетях провайдерами, именно поэтому ваши глобальные IP постоянно меняются. Чтобы немного расширить эту тему, советую более подробно почитать про белые и серые IP.
PAT (Port Address Translation)
Самая популярная форма NAT. Про неё я в самом начале и говорил. Когда нескольким локальным адресам назначается один глобальный. То есть когда вся семья, грубо говоря, использует один внешний IP. Чтобы маршрутизатор понял, кому именно посылать ответ от сервера, на который ранее был запрос, он использует в своем запросе номер порта. И по нему отсылает ответ нужному локальному пользователю.
Посмотрите на картинку выше. Как видите при запросе на выделенный сервер, помимо того, что роутер переводит адреса, он еще в запросе добавляет номер порта. То есть ответ от сервера также имеет этот порт, который потом уже используется для того, чтобы ответ получил нужный компьютер.
Плюсы и минусы IP NAT
- Офисы, а также домашние сети при большом количестве клиентов могут использовать всего один или несколько внешних интернет-адресов.
- Повышается надежность локальной сети, где контроль за пропускной способностью и трафиком отслеживает роутер.
- Снижает стоимость, которая нужна для приобретения внешних IP.
- Контроль внешнего и внутреннего доступа к обоим сетям.
- Увеличивается задержка запроса, так как маршрутизатору нужно постоянно делать NAT перевод адресов.
- В больших сетях, где идет многоуровневая NAT адресация, сложно найти место поломки, так как IP постоянно изменяется.
Видео
Если вам что-то было не понятно, или вам лень читать, то советую посмотреть это полезное видео.
Как настроить и включить NAT на роутере
Стандартный NAT уже работает в режиме PAT и его настраивать не нужно. То есть вы просто настраиваете интернет и Wi-Fi на маршрутизаторе. Другой вопрос, если дома вы решили организовать Web, игровой или почтовый сервер. А быть может вы хотите подключить камеры видеонаблюдения и следить за домом или квартирой, отдыхая на Бали. Вот тут нам понадобится проброс портов – об смотрите статью про порты. Там коротко рассказано, что такое порты, для чего они нужны и как их пробросить.
Время на прочтение
6 мин
Количество просмотров 142K
Приветствую всех читателей данной статьи!
Данная статья будет полезна как новичкам в IT сфере, так и неопытным системным администраторам/ сетевым инженерам. Здесь затрагиваются понятия и принцип работы технологии NAT, ее значение в наше время, виды и создание с конфигурированием в программе-симуляторе Cisco Packet Tracer.
Введение
Интернет — всемирная система, состоящая из объединенных компьютерных сетей на базе протокола TCP/IP.
Сейчас интернет — это не просто сеть, а целая информационная вселенная, подчиняющаяся техническим, социальным и государственным законам в различных ее частях. В современном мире люди не обходятся без доступа во всемирную паутину. Интернет открывает множество возможностей получения информации из любой точки мира.
На данный момент в интернете больше всего распространены IP адреса версии — IPv4. Это позволяет создать 4.3 млрд. IP-адресов. Однако этого, казалось бы, большого количества критично не хватает. Чтобы решить эту проблему — был создан механизм преобразования сетевых адресов — NAT.
С задачей объединения устройств в единую сеть помогают различные компании, занимающиеся разработкой и внедрением сетевого оборудования.На сей момент на рынке сетевого оборудования доминируют компании Cisco Systems и Huawei. В данной статье будем вести работу с оборудованием Cisco.
Cisco Systems разработала собственную специальную межсетевую ОС для работы с оборудованием под названием IOS (Internet Operating System). IOS — многозадачная операционная система, выполняющая функции сетевой организации, маршрутизации, коммутации и передачи данных. ОС IOS представляет собой сложную операционную систему реального времени, состоящую из нескольких подсистем и имеющую множество возможных параметров конфигурирования.
В операционной системе IOS представлен специфичный интерфейс командой строки CLI (Command Line Interface). В этом интерфейсе возможно использовать некоторое количество команд. Количество зависит от выбранного режима и от уровня привилегий пользователя (пользовательский, привилегированный, глобальной конфигурации и специфической конфигурации).
Нехватка IP адресов. Технология NAT
В 80х годах ХХ века заложили основу IPv4, позволяющую создавать ~4.3 млрд. адресов, но никто не предполагал, что этот запас так быстро иссякнет. С каждым годом появлялось все больше и больше пользователей и с 25 ноября 2019г. в России и в Европе официально закончились IP адреса. Лимит исчерпан.
Для решения этой проблемы было придумано несколько способов:
Первый способ заключается в усилении контроля за IP адресами.
Пусть существует некоторый сайт N с IPv4 xxx.xxx.xxx.xxx, и его хост решил прекратить его поддержание данного сайта. Сайт заброшен, а IP продолжает числиться как занятый и таких случаев может быть очень много. То бишь необходимо провести «инвентаризацию» IP адресов и изъять неиспользуемые/заброшенные.
— в массовом использовании системы IPv6.
Протокол IPv6 разработан как преемник протокола IPv4. Основные преимущества IPv6 над IPv4 заключаются в увеличенном адресном пространстве (IPv4 имел 32 бита, что равнялось 232 адресам, а IPv6 имел 128 бит, что равнялось 2128 адресам), 6 версия протокола стала безопаснее (т.к. в v4 не предусматривались многие аспекты безопасности, ибо расчет был на сторонние ПО, а в v6 появились контрольные суммы и шифрование пакетов), однако это далеко не все преимущества IPv6 над IPv4.
Проблема, казалось бы, решена, однако перейти с протокола IPv4 на IPv6 вызывает трудности, потому что эти протоколы несовместимы. И изюминкой причины тяжелого перехода на 6 версию протокола является денежная стоимость. Многие кампании не готовы вложить достаточное кол-во средств для перехода, хоть и стоит отметить, что процесс перехода с 4 на 6 версию постепенно идет.
— использование технологии трансляции сетевых адресов — NAT.
Cогласно документу RFC 1918, IANA зарезервировала 3 блока адресов для частных IP (серых) (рис 1), остальные же IP адреса носят название публичных адресов (белых).
Network Address Translation — это механизм в сетях TCP/IP, позволяющий изменять IP адрес в заголовке пакета, проходящего через устройство маршрутизации трафика.
Принимая пакет от локального компьютера, маршрутизатор смотрит на IP-адрес назначения. Если это локальный адрес, то пакет пересылается другому локальному компьютеру. Если нет, то пакет надо переслать наружу в интернет.
Маршрутизатор подменяет обратный IP-адрес пакета на свой внешний (видимый из интернета) IP-адрес и меняет номер порта (чтобы различать ответные пакеты, адресованные разным локальным компьютерам). Комбинацию, нужную для обратной подстановки, маршрутизатор сохраняет у себя во временной таблице. Через некоторое время после того, как клиент и сервер закончат обмениваться пакетами, маршрутизатор сотрет у себя в таблице запись об n-ом порте за сроком давности.
Основная функция NAT — сохранение публичных адресов, однако дополнительной функцией является конфиденциальность сети, путем скрытия внутренних IPv4 адресов от внешней.
Существует множество типов технологии NAT, однако основными принято считать: Статический NAT (Static Network Address Translation), Динамический NAT (Dynamic Network Address Translation) и Перегруженный NAT (Network Address Translation Overload).
Статический NAT применяют для отображения незарегистрированного IP-адреса на зарегистрированный IP-адрес на основании один к одному. Особенно полезно, когда устройство должно быть доступным снаружи сети.
Статический NAT используется чаще всего в корпоративных сетях, когда необходимо, чтобы какой-либо IP адрес всегда был доступен из глобальной сети. Зачастую статическим IP наделяют сервера и помещают их в DМZ (рис 2).
Динамический NAT отображает незарегистрированный IP-адрес на зарегистрированный адрес из группы зарегистрированных IP-адресов. Динамический NAT также устанавливает непосредственное отображение между незарегистрированными и зарегистрированными адресами, но отображение может меняться в зависимости от зарегистрированного адреса, доступного в пуле (pool — диапазон) адресов, во время коммуникации.
Перегруженный NAT. Этот тип NAT’a имеет множество названий:
NAT Overload, Many-to-One, PAT (Port Address Translation) и IP Masquerading, однако в большинстве источников указывается как NAT Overload. Перегруженный NAT — форма динамического NAT, который отображает несколько незарегистрированных адресов в единственный зарегистрированный IP-адрес, используя различные порты. При перегрузке каждый компьютер в частной сети транслируется в тот же самый адрес, но с различным номером порта.
Подготовка компьютерной сети
Логическая схема топологии сети будет выглядеть как показано на изображении (рис 3)
Отнесем PC — станции во VLAN 2, а сервер во VLAN 3. Для этого нужно настроить коммутатор S0 (рис 4). Для того, чтобы определить PC пользователей в отдельный VLAN, необходимо создать VLAN 2 и в 3 запихнуть сам сервер (удобства ради еще и обзовем VLAN’ы именами) (показано синим на рис 4), определить область портов коммутатора, которые будут входить во VLAN 2,3 и прописать соответствующие команды (показано красным на рис 4). Следующая задача – определить один порт типа trunk, для взаимодействия с маршрутизатором (показано зеленым рис 4). Таким образом, коммутатор выступает в роли «посредника» между оконечными устройствами и маршрутизатором.
Теперь нужно настроить непосредственно маршрутизатор. Технология sub-interface позволяет объединять несколько виртуальных интерфейсов в один и подключить их к физическому интерфейсу (на маршрутизаторе выбран физический интерфейс fa0/0). Необходимо дать для каждого VLAN’а свой под-интерфейс (показано красным на рис 5) и выдать им IP адрес (показано зеленым на рис 5).
Таким образом, в будущем мы будем NAT’ить трафик.
Дальше я бы посоветовал бы настроить протокол динамической выдачи IP адреса — DHCP, ибо прописывать каждому PC свой адрес — то еще «удовольствие»…
! Важно, чтобы сервер(а) всегда были со статичным IP адресом !
Дадим серверу статичный IP 192.168.3.2, а остальных оставим для динамического распределения адресов.
После настройки DHCP, нужно прописать на каждом саб-интерфейсе в R0 команду «ip helper-address 192.168.3.2», тем самым указывая, куда стоит обращаться для получения IP адреса.
После данной команды, устройства получат запрашиваемые IP адреса.
Пингуем с рандомного ПК сам сервер (1 пинг) и шлюзы маршрутизатора (2- 3 пинг) (рис 6).
Дальше для удобства будем эмулировать подключение к провайдеру, путем создания в программе-симуляторе РС провайдера, сервера Serv2 с IP 213.234.60.2 (эмулирующий остальную сеть интернет) и роутера R3.
Настройка NAT
Ну и наконец-то мы дошли до самой настройки NAT…
Для внедрения NAT нужно определиться какие порты будут внешними(outside), а какие внутренними(inside).
Статичный NAT сопоставляет внутренний и внешний адреса один к одному, поэтому настроим Serv2 таким образом, чтобы любой компьютер мог подключиться к серверу, а сервер к компьютеру — нет. Для этого необходимо прописать следующие команды (рис 7):
По итогу, любой компьютер, находящийся во 2 VLAN’е может пинговать сервер провайдера, а обратно — нет (рис 8). Аналогично проделываем для Serv1, находящимся во VLAN 3.
А теперь, на финал, внедрим NAT Overload на R0.
Для этого создадим ACL и пропишем там сети, которые должны «натиться» (показано синим на рис 9) и, показав что нужно «натить», активируем лист (показано красным на рис 9).
Таким образом, реализовав статическую и динамическую (типа PAT) настройку NAT, мы смогли защитить небольшую сеть от подключения извне.
Надеюсь вам понравилась данная статья.
Спасибо за ее чтение, всем хорошего настроения
P.S. Статью пишу впервые, не судите строго
В Интернете встречается много вопросов по поводу NAT, что это такое в роутере, и какие функции выполняет. Простыми словами, это механизм, позволяющий всему оборудованию локальной сети (мобильным устройствам, планшетам, ПК, ноутбукам) использовать только один общедоступный IP адрес для подключения к Интернету. Ниже рассмотрим, в чем особенности этой опции, для чего она необходима, и как правильно ее настроить в маршрутизаторе.
Что такое NAT в роутере
Кратко рассмотрим особенности NAT, и что это в роутере. Расшифровывается как Network Address Translation, а именно «трансляция сетевых адресов». С помощью процесса компьютер или другое оборудование получает доступ к Интернету.
Простыми словами, NAT в роутере (Network Address Translation) — это процесс перевода внутренних (приватных) адресов во внешние. Такая функция применяется всеми маршрутизаторами вне зависимости от установленных настроек и цены.
Многие путают NAT в роутере с фаерволом. Задача Firewall в запрете доступа к ресурсу по конкретному порту, к примеру, UDP или TCP. Он может устанавливаться на любом оборудовании для фильтрации трафика. Что касается NAT, он дает разрешение или запрещает доступ к определенному адресу или диапазону IP внутри сети.
NAT бывает трех видов:
- Static — примеряется только компаниями, у которых много IP. Адреса доступа не меняются и должны быть открыты извне. К примеру, для входа на Интернет-ресурс необходимо знать его IP-адрес и порт. Благодаря автоматическому вводу последнего достаточно знать только DNS. При этом адресов Интернет-пользователя не видно в Сети.
- Dynamic — роутер сам выбирает среди IP-адресов тот, который в дальнейшем вносится в таблицу NAT. Информация удаляется сразу после отключения от Интернета.
- Overload — оптимальный вариант для физических лиц. Пользователи получают один адрес, а также два порта (задаются лично). Вход возможен только с помощью специальной программы.
Много вопросов касается еще одного термина — что такое NAT loopback в роутере. Здесь все просто. Если пакет поступает из внутренней сети на IP-адрес, он принимается в качестве внешнего. Это означает, что на него распространяются правила брандмауэра. После прохождения firewall в силу вступает NAT роутера, являющийся неким посредником. В результате удается следующее:
- Получить сведения о настройках сетевой службы.
- Войти на сервер по имени домена, находящегося в локальной сети.
Существует также NAT Traversal, позволяющий сетевым приложениям определить тот факт, что они находятся вне границ устройства. В таких ситуациях NAT применяется для определения IP адреса устройства и сопоставления портов.
Для чего он нужен
Выше мы кратко затронули функции NAT в роутере, что это, и как работает. Но назначение такой технологии заслуживает более глубокого изучения. При проектировании сети подразумевается применение локальных IP-адресов, которые используются внутри компании или площадки для локального взаимодействия. Иными словами, они не маршрутизируются во «всемирной паутине». Для обращения к устройствам вне локальной платформы приватный адрес необходимо перевести в публичный. Для этого и существует NAT.
Благодаря действию такой функции, устройство с персональным адресом IPv4 может подавать запросы вне частной интернет-сети. Дополнительное преимущество механизма состоит в обеспечении конфиденциальности и безопасности. На практике маршрутизаторы NAT могут настраиваться с одним или группой общедоступных адресов (пулом NAT). Как только оборудование вышло во внешнюю интернет-сеть, роутер с поддержкой технологии переводит внутренний адрес в общедоступный. При этом маршрутизатор NAT, как правило, функционирует на границе Stub (тупиковой) сети, имеющей одно соединение (вход/выход).
С помощь NAT все устройства, подключенные к интернет-сети, используют один IP-адрес внешнего интерфейса. Простыми словами, сетевые пакеты корректируются и в них происходит подмена IP-адреса источника и назначения.
Подводя промежуточные итоги, можно выделить следующие особенности NAT в роутере:
- Преобразование локального адреса в общедоступный. После получения ответа происходит обратный процесс.
- Предотвращение и ограничение обращения извне к устройствам локальной сетки. Таким способом скрываются внутренние сервисы ПК и серверов от обращений из Интернет-сети.
- Настройка переадресации портов. Последние могут использоваться для открытия доступа из Интернета к сетевому NAS-хранилищу или к серверу «локалки».
- Подмена номера порта для обращения к иному порту. К примеру, для перевода управления роутером из Интернета на иной источник, если провайдером блокируется стандартный порт 80 и необходимо получить возможность применения порта 8080 для доступа к настройкам.
С помощью NAT частная сеть подключается к Интернету через общий публичный IP, которые выдается провайдером, а ресурс адресов тратится более экономично. Кроме того, применение опции важно с позиции безопасности. В частности, можно скрыть локалку от пользователей из вне, что исключает несанкционированный доступ.
Как пользоваться функцией NAT
С учетом сказанного возникает вопрос, как открыть NAT для своего роутера. В большинстве случаев опция включена по умолчанию. Если это не так, необходима ее активация и дополнительная настройка. Алгоритм действий следующий:
- Войдите в любой веб-проводник на ПК, после чего в поисковой строке введите адрес роутера (к примеру, 192.168.1.1.).
- Авторизуйтесь для входа в настройки путем ввода слов Admin и Admin.
- Войдите в Настройки, а там Сеть и Маршрутизация.
- Жмите на Новое правило. Таким способом удается задать условия маршрутизации. Здесь доступно пять направлений — с помощью имени DNS, через порт или трансляцию по пользователю, через подмену адреса или сетевой интерфейс.
- Задайте условия трафика путем выбора одного из вариантов. На выбор доступны следующие решения — Auto, Interface, Gateway, Trunk. На следующем этапе жмите Далее, а после Закрыть.
Для каждого роутера принципы включения NAT могут отличаться. К примеру, в Zyxel необходимо войти в настройки маршрутизатора, перейти в раздел Network — Routing, а там в Policy routing, Здесь будет тумблер, позволяющий включить службу. Далее задаются настройки в группе Criteria. Если необходимо отключить NAT в роутере, проделайте рассмотренные выше шаги и деактивируйте службу. В качестве альтернативы отключению можно перевести маршрутизатор в другой режим работы.
Если возникает необходимость изменения типа NAT, войдите в настройки роутера, посмотрите IP и настройки сетевого подключения. После этого звоните провайдеру для получения помощи в перенастройке на нужный тип.
Плюсы и минусы использования
Перед тем как отключить NAT на роутере или до включения функции обратите внимание на ее плюсы и минусы.
Преимущества:
- Экономия IP адресов. Актуально в случае, когда опция применяется в режиме PAT с передачей только нескольких IP-адресов в один публичный. По такой технологии работают почти все.
- Защита локальной сети от взлома извне с сохранением возможности выхода наружу. Иными словами, исходящие пакеты пропускаются, а ответные запросы должны соответствовать созданной трансляции. Если условие не выполняется, данные не пропускаются.
- Скрытие внутренних сервисов или хостов. При желании можно подменить внутренний порт на другой (официально зарегистрированный). Такая методика позволяет повысить безопасность и скрыть «непубличные» сайты.
- Повышение гибкости соединений с общедоступной Интернет-сетью.
Минусы:
- Из-за преобразования множества внутренних адресов в один появляются трудности с идентификацией участников. Во избежание проблем приходится хранить данные по логам трансляций.
- Применение NAT в роутере повышает задержку переключения, ведь перевод IPv4 требует временных затрат.
- Старые протоколы не могут работать при появлении между постами трансляции IP-адресов. Для исправления ситуации могут применяться межсетевые экраны.
- Риск нарушения служб или протоколов, нуждающихся в инициации соединений TCP из внешней сети.
- При попытке подключения нескольких пользователей к одному сайту возникает подозрение на DoS атаку. В результате могут возникнуть трудности с подключением.
- Если роутер не поддерживает Universal Plug & Play, процесс настройки усложняется (когда требуется взаимодействие с пиринговыми сетями).
Если говорить в целом, технологию NAT в роутере трудно переоценить. С ее помощью обеспечивается удобство выхода в Интернет, гарантируется безопасность подключения и гибкость настройки. При этом решение о включении и отключении режима необходимо принимать самостоятельно.
В этой статье поговорим про NAT в Mikrotik.
NAT (Network Address Translation) – это процедура изменения либо адреса источника (Source address), либо адреса назначения (Destination Address) в заголовке пакета.
Зачем мы используем NAT и с чем связано вообще использование NAT?
Дело в том, что ipv4 имеет ограниченное количество ip-адресов, и это было понятно изначально при разработке протокола ipv4. Уже к 1994 году стало понятно, что необходимо как-то выпутываться из сложившейся ситуации (не было альтернативного протокола, который мог бы расширить количество ip-адресов). Присутствовал только старый IPv4, а количество устройств в сети Интернет росло, росло, росло и, собственно, продолжает расти до сих пор. Поэтому, для начала придумали RFC1918, который описывает использование не маршрутизируемых сетей в локальных сегментах – таких как: 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12 (так называемые «серые» адреса).
Использование этих диапазонов разрешено кем угодно внутри своих локальных сетей. В глобальной сети Интернет эти адреса не маршрутизируются.
Если вы используете эти адреса и нужно попасть в глобальную сеть Интернет, Вам нужно провести автоматическое изменение либо адреса источника пакета, либо адреса назначения пакета – для этого и существует NAT.
- В нашем случае на Mikrotik не совсем чистый NAT. Это Port Address Translation, то есть PAT, где используются не только IP адреса (3 уровень OSI), но также еще и с 4 уровнем OSI — есть 5 полей для изменения адреса:
- Source Address
- Destination Address
- Source Port
- Destination Port
- Протокол
Для чего используется NAT?
Самое частое использование — это доступ из локальной сети с серыми адресами куда-то в интернет.
Открыть доступ из внешней сети к ресурсам (напр., веб-сервер) находящимся во внутренней сети (так называемый «проброс портов»).
При «пробросе портов» для хоста с приватным IP-адресом, когда пакет проходит правила на маршрутизаторе, у пакета изменяется Source адрес пакета и до публичного адреса отправляется пакет с внешним адресом, который может прекрасно маршрутизироваться в глобальной сети Интернет. Такая ситуация называется Source Nat. В Mikrotik можно посмотреть, что есть дефолтное правило, которое реализует данную функцию.
Это правило находится в IP – Firewall — NAT (раздел NAT отвечает за преобразование адресов и портов, заголовках пакетов, сегментах, дейтаграммах и так далее).
В данном случае правило Source NAT — процедура изменения в заголовке пакета адреса (например, адреса локальной сети), где есть условие, что пакет, идущий в сторону Out interface List – WAN (в сторону интернета) и Action — masquerade.
Masquerade — это автоматическое выяснение внешнего ip-адреса, с которым будет идти через «внешний» Out interface и подставление его в заголовки пакета.
Если внешний ip-адрес статический, то более выгодно использовать процедуру Source NAT.
Можно посмотреть, что на внешнем интерфейсе ip-адрес 198.51.100.16 и использовать его в качестве правила Source Nat — это будет эффективнее по производительности, т.к. роутеру не понадобится выяснять внешний адрес на внешнем интерфейсе.
Или вторая процедура, которая описывается как DST-NAT и для ее работы используются цепочка DSTNAT — это процедура, например, для проброса портов с внешнего интерфейса во внутреннюю (локальную) сеть.
Или, например, внутри локальной сети есть какой-то веб-сервер, который слушает TCP 80 порт и нужно, чтобы он был доступен из интернета. Только вот, если сказать адрес сервера 192.168.88.2, никто не сможет получить доступ к веб-серверу.
Нужно сделать правило, которое будет решать вопрос доступа из внешней сети во внутреннюю сеть.
Для этого нужно создать правило — цепочка DSTNAT, протокол TCP, Destination Port – 80, In interface List – WAN (внешний). (можно использовать In interface, если наличие интернета только на одном интерфейсе), Action – dst-nat на IP-адрес 192.168.88.2
/ip firewall nat
add action=dst-nat chain=dstnat dst-port=80 in-interface-list=WAN protocol=tcp to-addresses=192.168.88.2 to-ports=80
Если служба запущена на 80 порту, то в Action — dst-nat, to Ports не нужно указывать 80 порт, т.к. это, по сути, будет повторение одного и того же действия. Роутер будет в заголовках сегмента 4 уровня менять TCP 80 на TCP 80, что немножко повлияет на производительность. Поэтому, в ситуации прямого проброса, нужно убрать поле to ports.
В другой ситуации, когда внешний 80 порт нужно пробросить на внутренний 8080, тогда поле to ports нужно заполнить.
Также можно пробросить несколько портов, например, 80, 443, 8080 и тд.
В данном случае не нужно указывать to ports, проброс будет осуществляться с порта на порт. То есть – с 80 на 80, с 443 на 443, с 8080 на 8080.
/ip firewall nat
add action=dst-nat chain=dstnat dst-port=80,443,8080 in-interface=WAN protocol=tcp to-addresses=192.168.88.2
Если нужно пробросить все эти порты на один порт, то нужно указать в to ports нужный порт.
При пробросе портов и при стандартной настройке файрволла не нужно добавлять дополнительные правила в цепочку Filter. Правило forward, запрещающее доступ из внешнего интерфейса, решает вопрос с пробросом портов «кроме DST-NAT»
Если необходимо разрешать это все дело в файрволле, например, для производительности или, если не используется в правиле «кроме DST Nat» в Drop Forward и на Interface list WAN (внешний), то необходимо писать правила, которые будут разрешать проброшенные порты с внешнего интерфейса и указать порты, которые открыты на веб-сервере (все те порты, на которые нужно пробросить с внешнего интерфейса).
Например, если пробрасывается внешний порт TCP 8080 на порт внутренний TCP 80, то в Forward нужно указать порт TCP 80.
/ip firewall nat
add action=dst-nat chain=forward dst-port=80 in-interface=WAN protocol=tcp to-addresses=192.168.88.2 to-ports=8080
Это все связано с тем, что правила dst-nat отрабатывают до firewall filter и сначала изменяются в заголовках 4 уровня и адреса, и порты, а потом пакет попадает в firewall. Это всё связано работой Packet Flow diagram Mikrotik RouterOS.
На этом знакомство с NAT в Mikrotik завершено.
Доброго времени суток, уважаемые гости. Сегодня поговорим о NAT: что это в роутере за функция, можно ли обойтись без нее, обязательно ли нужно включать и как открыть NAT своего роутера.
Об адресации в локальной сети
Компьютер может подключаться к глобальной паутине несколькими способами. Если это выполняется напрямую, он получает собственный динамический или статистический IP адрес, по которому его можно всегда найти.
При подключении с помощью модема, собственный внешний IP адрес получает только модем (как вариант, маршрутизатор со встроенным модемом), все прочие девайсы уже являются участниками собственной локальной сети и получают адресацию внутри нее.
Роутер берет на себя функцию распределения исходящего и входящего трафика между шлюзом и клиентами интернета. Из-за нестыковки сетевых адресов, возможны некоторые глюки:
- Некорректно работают торрент-загрузчики и прочий софт для пилинговых сетей;
- Не всегда удается подключиться к серверу онлайн игры, особенно если он пиратский;
- Не проходят запросы извне к серверу внутри локальной сети.
Эти недостатки можно устранить при правильной настройке на маршрутизаторе.
Что такое режим NAT
Если совсем простыми словами, то НАТ – это интерпретация внутренних сетевых адресов локалки во внешние адреса интернета. Независимо от модели, стоимости и используемого протокола подключения эта функция присутствует абсолютно во всех роутерах.
Разница может быть только в наличии или отсутствии дополнительной опции nat loopback (обратная петля), когда пакет из локальной сети, приходящий на внешний порт маршрутизатора, считается пришедшим извне, поэтому обрабатывается согласно установленным брандмауэром или антивирусной программой сценариям.Как правило, нет необходимости отдельно включить NAT при настройке маршрутизатора: функция активна по умолчанию.
Более того, часто отключить аппаратный NAT невозможно: производитель убирает эту опцию в качестве «защиты от дурака», дабы слишком любопытный пользователь, который любит поиграть с настройками, не особо в них разбираясь, вообще не остался без интернета.
По умолчанию маршрутизатор находится в nat окружении, запрещая извне обращаться к девайсу внутри локалки: весь трафик проходит только через него.
Как определить, находится ли компьютер за NAT
Проверить, скрыт ли компьютер с помощью режима NAT или транслирует в сеть свой реальный IP, можно с помощью простого способа.
Выполняется он аналогично в любой версии Виндовс – запустить командную строку (нажать кнопку «Пуск» и в строке «Выполнить» ввести команду cmd). В открывшемся интерфейсе следует вручную ввести команду ipconfig. На экран выведутся такие данные:
- IP – реальный адрес, присвоенный компьютеру;
- Subnet mask – маска подсети;
- Gateway – адрес шлюза.
Согласно принятой спецификации, исключительно внутри локалки всегда используются следующие диапазоны:
- 10.0.0.0 – 10.255.255.255;
- 172.Х.0.0 – 172.Х.255.255 (Х в диапазоне от 16 до 32);
- 192.168.0.0 – 192.168.255.255;
- 196.254.0.0. – 169.254.255.255.
Если адрес компьютера попадает в один из этих диапазонов, то это означает, что устройство находится в локальной сети за НАТом. Самый распространенный пример – адрес 192.168.1.Х – именно такой диапазон используется для роутера и подсети большинством производителей.
Где найти в настройках маршрутизатора
Относительно того, нужно ли включать эту опцию дополнительно, то могу сказать что в большинстве моделей маршрутизаторов вай-фай она активирована по умолчанию. Проверить или настроить самостоятельно это можно, перейдя в браузере на страницу настроек роутера – как правило, для этого нужно ввести его сетевой адрес.
Нужная функция находится во вкладке Network в разделе Routing. Если она включена, то статус будет отображаться как Enable.
Также для вас будут полезны статьи «UPNP – что такое в роутере» и «Устройство роутера». Буду благодарен всем, кто поделится этой публикаций в социальных сетях. Еще увидимся!
С уважением, автор блога Андрей Андреев.