Время на прочтение
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 в роутере. Как вы, наверное, все знаете, большинство адресов в интернете использует 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, игровой или почтовый сервер. А быть может вы хотите подключить камеры видеонаблюдения и следить за домом или квартирой, отдыхая на Бали. Вот тут нам понадобится проброс портов – об смотрите статью про порты. Там коротко рассказано, что такое порты, для чего они нужны и как их пробросить.
В этой статье поговорим про 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 завершено.
Introduction
This document describes how to configure the Network Address Translation (NAT) on a Cisco router.
Prerequisites
Requirements
This document requires a basic knowledge of the terms used in connection with NAT.
Components Used
The information in this document is based on these software and hardware versions:
-
Cisco 2500 Series Routers
-
Cisco IOS®Software Release 12.2 (10b)
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Conventions
Refer to Cisco Technical Tips Conventions for more information on document conventions.
Quick Start Steps to Configure and Deploy NAT
Note: In this document, when the internet, or an internet device is referred to, it means a device on any external network.
When you configure NAT, it is sometimes difficult to know where to begin, especially if you are new to NAT. These steps guide you to define what you want NAT to do and how to configure it:
-
Define NAT inside and outside interfaces .
-
Do users exist off multiple interfaces?
-
Are there multiple interfaces available to the internet?
-
-
Define what you want to accomplish with NAT.
-
Do you want to allow internal users to access the internet ?
-
Do you want to allow the internet to access internal devices (such as a mail server or web server)?
-
Do you want to redirect TCP traffic to another TCP port or address ?
-
Do you want to use NAT during a network transition (for example, you changed a server IP address and until you can update all the clients you want the non-updated clients to be able to access the server with the original IP address as well as allow the updated clients to access the server with the new address)?
-
Do you want to use to allow networks that overlap to communicate ?
-
-
Configure NAT in order to accomplish what you defined previously. Based on what you defined in step 2, you need determine which of the next features to use:
-
Static NAT
-
Dynamic NAT
-
Overloading
-
Any combination of these features.
-
-
Verify the NAT operation.
Each of these NAT examples guides you through steps 1 through 3 of the Quick Start Steps in the previous image. These examples describe some common scenarios in which Cisco recommends you deploy NAT.
Define NAT Inside and Outside Interfaces
The first step to deploy NAT is to define NAT inside and outside interfaces. You can find it easiest to define your internal network as inside, and the external network as outside. However, the terms internal and external are subject to arbitration as well. This figure shows an example of this.
NAT Topology
Examples
1. Allow Internal Users to Access the Internet
Is possible that you want to allow internal users to access the internet, but you do not have enough valid addresses to accommodate everyone. If all communication with devices in the internet originate from the internal devices, you need a single valid address or a pool of valid addresses.
This figure shows a simple network diagram with the router interfaces defined as inside and outside.
Available Valid Addresses
In this example, you want NAT to allow certain devices (the first 31 from each subnet) on the inside to originate communication with devices on the outside and translates their invalid address to a valid address or pool of addresses. The pool has been defined as the range of addresses 172.16.10.1 through 172.16.10.63.
You can now configure NAT. In order to accomplish what is defined in the previous image, use dynamic NAT. With dynamic NAT, the translation table in the router is initially empty and gets populated once traffic that needs to be translated passes through the router. As opposed to static NAT, where a translation is statically configured and is placed in the translation table without the need for any traffic.
In this example, you can configure NAT to translate each of the inside devices to a unique valid address, or to translate each of the inside devices to the same valid address. This second method is known as overloading
. An example of how to configure each method is given here.
Configure NAT to Allow Internal Users to Access the Internet
NAT Router |
---|
interface ethernet 0 ip address 10.10.10.1 255.255.255.0 ip nat inside !--- Defines Ethernet 0 with an IP address and as a NAT inside interface. interface ethernet 1 ip address 10.10.20.1 255.255.255.0 ip nat inside !--- Defines Ethernet 1 with an IP address and as a NAT inside interface. interface serial 0 ip address 172.16.10.64 255.255.255.0 ip nat outside !--- Defines serial 0 with an IP address and as a NAT outside interface. ip nat pool no-overload 172.16.10.1 172.16.10.63 prefix 24 !--- Defines a NAT pool named no-overload with a range of addresses |
Note: Cisco highly recommends that you do not configure access lists referenced by NAT commands with permit any. If you use permit any in NAT, it consumes too many router resources which can cause network problems.
Notice in the previous configuration that only the first 32 addresses from subnet 10.10.10.0 and the first 32 addresses from subnet 10.10.20.0 are permitted by access-list 7 . Therefore, only these source addresses are translated. There can be other devices with other addresses on the inside network, but these are not translated.
The final step is to verify that NAT is operates as intended .
Configure NAT to Allow Internal Users to Access the Internet with Overload
NAT Router |
---|
interface ethernet 0 ip address 10.10.10.1 255.255.255.0 ip nat inside !--- Defines Ethernet 0 with an IP address and as a NAT inside interface. interface ethernet 1 ip address 10.10.20.1 255.255.255.0 ip nat inside !--- Defines Ethernet 1 with an IP address and as a NAT inside interface. interface serial 0 ip address 172.16.10.64 255.255.255.0 ip nat outside !--- Defines serial 0 with an IP address and as a NAT outside interface. ip nat pool ovrld 172.16.10.1 172.16.10.1 prefix 24 |
Notice in the previous second configuration, the NAT pool ovrld
only has a range of one address. The keyword overload used in the ip nat inside source list 7 pool ovrld overload command allows NAT to translate multiple inside devices to the single address in the pool.
Another variation of this command is ip nat inside source list 7 interface serial 0 overload , which configures NAT to overload on the address that is assigned to the serial 0 interface.
When overloading
is configured, the router maintains enough information from higher-level protocols (for example, TCP or UDP port numbers) to translate the global address back to the correct local address. For definitions of global and local address, refer to NAT: Global and Local Definitions .
The final step is to verify that NAT is operates as intended .
2. Allow the Internet to Access Internal Devices
You can need internal devices to exchange information with devices on the internet, where the communication is initiated from the internet devices, for example, email. It is typical for devices on the internet to send email to a mail server that resides on the internal network.
Originate Communications
Configure NAT to Allow the Internet to Access Internal Devices
In this example, you first define the NAT inside and outside interfaces, as shown in the previous network diagram.
Second, you define that you want users on the inside to be able to originate communication with the outside. Devices on the outside must be able to originate communication with only the mail server on the inside.
The third step is to configure NAT. To accomplish what you have defined, you can configure static and dynamic NAT together. For more information on how to configure this example, refer to Configure Static and Dynamic NAT Simultaneously . The final step is to verify that NAT operates as intended .
3. Redirect TCP Traffic to Another TCP Port or Address
A web server on the internal network is another example of when it can be necessary for devices on the internet to initiate communication with internal devices. In some cases, the internal web server can be configured to listen for web traffic on a TCP port other than port 80. For example, the internal web server can be configured to listen to TCP port 8080. In this case, you can use NAT to redirect traffic destined to TCP port 80 to TCP port 8080.
Web Traffic TCP Port
After you define the interfaces as shown in the previous network diagram, you can decide that you want NAT to redirect packets from the outside destined for 172.16.10.8:80 to 172.16.10.8:8080. You can use a static nat command in order to translate the TCP port number to achieve this. A sample configuration is shown here.
Configure NAT to Redirect TCP Traffic to Another TCP Port or Address
NAT Router |
---|
interface ethernet 0 ip address 172.16.10.1 255.255.255.0 ip nat inside !--- Defines Ethernet 0 with an IP address and as a NAT inside interface. interface serial 0 ip address 10.200.200.5 255.255.255.252 ip nat outside !--- Defines serial 0 with an IP address and as a NAT outside interface. ip nat inside source static tcp 172.16.10.8 8080 172.16.10.8 80 !--- Static NAT command that states any packet received in the inside |
Note: The configuration description for the static NAT command indicates any packet received in the inside interface with a source address of 172.16.10.8:8080 is translated to 172.16.10.8:80. This also implies that any packet received on the outside interface with a destination address of 172.16.10.8:80 has the destination translated to 172.16.10.8:8080.
The final step is to verify that NAT operates as intended .
show ip nat translations Pro Inside global Inside local Outside local Outside global tcp 172.16.10.8:80 172.16.10.8:8080 --- ---
4. Use NAT For a Network Transition
NAT is useful when you need to readdress devices on the network or when you replace one device with another. For instance, if all devices in the network use a particular server and this server needs to be replaced with a new one that has a new IP address, the reconfiguration of all the network devices to use the new server address takes some time. In the meantime, you can use NAT in order to configure the devices with the old address to translate their packets to communicate with the new server.
NAT Network Transition
Once you have defined the NAT interfaces as the previous image illustrates, you can decide that you want NAT to allow packets from the outside destined for the old server address (172.16.10.8) to be translated and sent to the new server address. Note that the new server is on another LAN, and devices on this LAN or any devices reachable through this LAN (devices on the inside part of the network), must be configured to use the new server IP address if possible.
You can use static NAT to accomplish what you need. This is a sample configuration.
Configure NAT for Use Through a Network Transition
NAT Router |
---|
interface ethernet 0 ip address 172.16.10.1 255.255.255.0 ip nat outside !--- Defines Ethernet 0 with an IP address and as a NAT outside interface. interface ethernet 1 ip address 172.16.50.1 255.255.255.0 ip nat inside !--- Defines Ethernet 1 with an IP address and as a NAT inside interface. interface serial 0 ip address 10.200.200.5 255.255.255.252 !--- Defines serial 0 with an IP address. This interface is not |
Note: The inside source NAT command in this example also implies that packets received on the outside interface with a destination address of 172.16.10.8 has the destination address translated to 172.16.50.8.
The final step is to verify that NAT operates as intended .
5. Use NAT for Networks that Overlap
Networks that overlap result when you assign IP addresses to internal devices that are already used by other devices within the internet. These networks also result when two companies, both of whom use RFC 1918 IP addresses in their networks, merge. These two networks need to communicate, preferably without all of their devices readdressed.
Difference between One-to-One and Many-to-Many Mapping
A static NAT configuration creates a one-to-one mapping and translates a specific address to another address. This type of configuration creates a permanent entry in the NAT table as long as the configuration is present and enables both inside and outside hosts to initiate a connection. This is mostly useful for hosts that provide application services like mail, web, FTP and so forth. For example:
Router(config)#ip nat inside source static 10.3.2.11 10.41.10.12 Router(config)#ip nat inside source static 10.3.2.12 10.41.10.13
Dynamic NAT is useful when fewer addresses are available than the actual number of hosts to be translated. It creates an entry in the NAT table when the host initiates a connection and establishes a one-to-one mapping between the addresses. But, the mapping can vary and it depends upon the registered address available in the pool at the time of the communication. Dynamic NAT allows sessions to be initiated only from inside or outside networks for which it is configured. Dynamic NAT entries are removed from the translation table if the host does not communicate for a specific period of time which is configurable. The address is then returned to the pool for use by another host.
For example, complete these steps of the detailed configuration:
-
Create a pool of addresses
Router(config)#ip nat pool MYPOOLEXAMPLE 10.41.10.1 10.41.10.41 netmask 255.255.255.0
-
Create an access-list for the inside networks that has to be mapped
Router(config)#access-list 100 permit ip 10.3.2.0 0.0.0.255 any
-
Associate the access-list 100 that select the internal network 10.3.2.0 0.0.0.255 to be natted to the pool MYPOOLEXAMPLE and then overload the addresses.
Router(config)#ip nat inside source list 100 pool MYPOOLEXAMPLE overload
Verify the NAT Operation
Once you have configured NAT, verify that it operates as expected. You can do this in a number of ways: with a network analyzer, show commands, or debug commands. For a detailed example of NAT verification, refer to Verify NAT Operation and Basic NAT .
Conclusion
The examples in this document demonstrate quick start steps can help you configure and deploy NAT.
These quick start steps include:
-
Define NAT inside and outside interfaces.
-
What do you want to accomplish with NAT.
-
Configure NAT in order to accomplish what you defined in Step 2.
-
Verify the NAT operation.
In each of the previous examples, various forms of the ip nat inside command were used. You can also use the ip nat outside command in order to accomplish the same objectives, but keep in mind the NAT order of operations. For configuration examples that use the ip nat outside commands, refer to Sample Configuration that Uses the IP NAT Outside Source List Command .
The previous examples also demonstrated these actions:
Command | Action |
---|---|
ip nat inside source |
|
ip nat outside source |
|
Related Information
- NAT: Local and Global Definitions.
- NAT Support Page
- IP Routed Protocols Support Page
- IP Routing Support Page
- IP Addressing Services
- NAT Order of Operation
- Frequently Asked Questions about Cisco IOS NAT
- Technical Support & Documentation — Cisco Systems
Для работы интернета в офисах часто используются устройства Микротик. Они славятся своей стоимостью и функциональностью. Однако настройка подключений на роутере Mikrotik может вызывать определенные вопросы даже у опытных администраторов.
Далее предстоит научиться делать проброс порта на роутере Микротик. Предложенная информация будет особо полезна новичкам, которые ранее не имели существенного опыта в настройке маршрутизатора.
Что такое проброс
Проброс портов (Port Forwarding) Mikrotik – это одна из наиболее востребованных конфигураций роутера. Она представлена технологией, позволяющей обращаться к узлам, размещенным за маршрутизатором, путем перенаправления трафика. Делается это для определенных портов. «Сигнал» с внешнего адреса маршрутизатора перенаправляется на внутренний адрес узла в заданной локальной сети. Соответствующая операция становится возможной за счет NAT.
NAT (или Network Address Translation) – способ преобразования сетевых адресов. Основное предназначение технологии заключается в экономии белых IP-адресов, а также в повышении уровня безопасности Сети. Результат достигается за счет ограничений, устанавливаемых относительно обращений к внутренним хостам LAN снаружи, а также возможностей скрытия сервисов подменой портов.
Классический тип NAT технологии предполагает, что количество одновременных выходов в интернет из локальной сети за пределами доступа «ната» ограничивается количеством свободных ports TCP/UDP.
По умолчанию для LAN-сетей, расположенных за NAT, доступ к интернету предоставляется. Из глобальной сети в NAT-сеть попасть не получится. Исключение есть, причем всего одно – это проброс портов. Настроить его не всегда легко.
Проброс портов на Mikrotik роутере через NAT подразделяется на несколько видов:
- Destination NAT. Это изменение IP-адреса назначение, а также выполнение обратной функции для ответа. Преобразование адреса получателя получило название «dst-nat».
- Source NAT. Так называется изменение IP-адреса источника и выполнение обратной функции для ответа. Процедура называется src-nat.
Все остальные манипуляции в роутере при его настройке – это производные от dst-nat и src-nat. NAT будет обрабатывать только первый пакет соединения.
Destination NAT
Пробросить порт через цепочку Dstnat в Микротике можно для изменения IP-адреса, а также port назначения с последующим выполнением обратной функции для ответа. Используется соответствующий вариант для проброса в локальной сети и доступа извне. Допускается реализация такой настройки для перенаправления любого имеющегося DNS-трафика через подключенный маршрутизатор.
К стандартным действиям цепочки dst-nat относят: redirect (преобразование на адрес маршрутизатора) и dst-nat – преобразования порта и адреса получателя. Далее будут рассмотрены примеры реализации соответствующих конфигураций для различных подключений.
Для удаленного рабочего стола
Технология удаленного рабочего стола (RDP) позволяет сделать администрирование намного удобнее и проще. Она открывает «операционную систему» выбранного компьютера, позволяя пользователю работать с ней через интернет.
При использовании RDP не рекомендуется пользоваться стандартным port 3389. Связано это с тем, что он часто подвергается атакам. Поэтому сервис будет скрыт через подмену порта. Для этого потребуется:
- Открыть ip firewall – Nat.
- Нажать на «+».
- Во вкладке General задать цепочку правил, протокол, а также протокол подключения и входящий интерфейс:
.
- Перейти в раздел Action.
- Заполнить данные:
.
- Сохранить конфигурационные настройки.
Если необходимо пробросить порт в Микротике, обязательно указывается входящий интерфейс. В противном случае не исключены серьезные проблемы подключения.
В разделе General каждая строка отвечает за свои параметры:
- chain: dstnat – цепочка правил, которые устанавливаются для IP-адреса назначения;
- protocol: 6 (tcp) – протокол, используемый для конфигурации в роутере;
- dst. Ports: 47383 – номер port по которому происходит обращение к маршрутизатору;
- in. Interface – входящий интерфейс WAN (в примере – это ether1).
При заполнении раздела Action:
- в поле Action указывается значение dst-nat;
- to addresses – внутренний IP хоста, к которому необходимо получить доступ через RDP;
- to ports – port, на который перенаправляются запросы.
Это – один из вариантов forward, который встречается при администрировании сетей.
Видеонаблюдение
Пробросить подключение для системы видеонаблюдения можно, изучив инструкцию для конкретного оборудования. Далее – пример для видеосервера с программным обеспечением «Линия». В случае с пробросом на Микротик напрямую, настройки будут выставляться аналогичным образом.
В примере предполагается, что есть видеосервер к которому необходимо подключиться извне. Сначала потребуется открыть настройки программного обеспечения «Линия». Это необходимо для уточнения порта веб сервера:
Сделать проброс потребуется для порта 9786. Для этого необходимо:
- Открыть Winbox.
- Добавить правило со следующими параметрами:
.
- Во вкладке Action указываются такие настройки:
.
После сохранения изменений соединение будет настроено. Обязательно при работе с роутером Микротик требуется указывать интерфейсы.
Несколько внешних IP
Сделать проброс для нескольких WAN удастся через создание Interface List. Сюда потребуется добавить все необходимые интерфейсы. Далее созданный list указывается в качестве значения параметра in. interface list.
Настройка forwarding на несколько внешних IP осуществляется так:
- Создать новый лист для интерфейсов ISP. Для этого перейти в Interface – Interface List – Lists. Нажать на «+»:
.
- Добавить WAN интерфейсы:
.
- Повторить предыдущий шаг для всех WAN.
- Forwarding может быть настроен через модернизацию ранее установленного правила проброса RDP. Достаточно добавить ISP в In. Interface List:
.
Но и это еще не все возможные варианты настройки подключения. Можно перенаправлять трафик прямо на маршрутизатор.
Перенаправление на роутер
При помощи действий redirect Микротик поддерживает перенаправление трафика на маршрутизатор. Далее настраиваем NAT путем выполнения переадресации DNS-запросов.
Перенаправление будет выполняться для всего DNS-трафика. Пользователи в LAN, независимо от настроек DNS, будут считать, что им отвечает DNS-сервер, которому делается запрос. На самом деле ответ фактически придет от подключенного маршрутизатора.
Для этого предстоит выполнить следующие действия:
- Дождаться открытия Winbox.
- Открыть IP – Firewall – NAT.
- Нажать на «+».
- Во вкладке General выставить такие forward настройки NAT:
.
- В разделе Action указать действие типа redirect:
.
Остается сохранить изменения – и настройка проброса портов в Mikrotik будет завершена.
Через L2TP
Несколько устройств Микротика могут настраивать NAT forward друг другу через L2TP. В данной ситуации есть два роутера: один выходит в Сеть по «серому IP-адресу», второй – через выданный провайдером «белый IP».
Выше – пример того, как будет выглядеть схема веб подключения. Port пробрасывается до WS01 через GW1. Чтобы добиться соответствующего результата, потребуется:
Зайти на маршрутизатор GW2.
Открыть IP – Firewall– Mangle – «+».
В разделе Action написать: .
Промаркировать соединения цепочки forward аналогичным образом: .
В Action написать: .
Сделать маркировку маршрутов для веб подключения:
.
Для prerouting установить настройки: .
Теперь необходимо для L2TP добавить маршрут по умолчанию для макетов, которые получили маркировку в качестве пришедших из туннеля. Для этого необходимо:
Перейти в IP – Routers – «+».
Установить значения: .
Перейти к конфигурациям GW1 путем проброса порта до хоста 192.168.13.48:
Теперь все будет открываться так, как было задумано изначально. Если же требуется создать внутреннюю сеть, можно использовать приложение OPEN VPN. Здесь – пример настройки соответствующего подключения.
Source NAT
Source NAT используется для того чтобы изменить IP-адрес и порт источника. Далее – для выполнения обратной функции ответа. Наиболее распространенное применение – это выход из множества компьютеров в интернет (web) при помощи одного «белого» IP.
Для Sources forwarded актуальные действия:
- src-nat – преобразование адреса/порта отправителя;
- masquerade – отвечает за преобразование адреса отправителя на адрес исходящего интерфейса, а порта – на случайный.
Далее будут рассмотрены примеры соответствующей технологии.
Статический WAN
При получении статического IP-адреса от провайдера, рекомендуется настройки NAT осуществлять через правило src-nat. Связано это с тем, что устройства, которые подключены к LAN, смогут подключаться к глобальной Сети.
Для этого нужно:
- Зайти в WinBox в настройки NAT.
- Указать там следующие параметры:
.
- Переключиться в Action и задать характеристики:
.
Теперь остается сохранить изменения. Если все сделано верно, при выходе в интернет из LAN-сети результат будет access.
Динамический WAN
Динамический IP – это ситуация, при которой у Mikrotik проброс портов сводится не к VPN или src, а к Masquerade. Он представлен частным случаем src-nat для ситуаций, при которых внешний IP может меняться динамически.
При наличии нескольких внешних интерфейсов рекомендуется добавить условие выделения трафика по адресу источника:
.
Если использовать masquerade вместо src-nat, не исключены проблемы с телефонией, а также с установкой подключения при 2-х и более WAN-каналах. Также на центральный процессор оказывается повышенная нагрузка, если создается большое количество PPPoE-соединений.
Секреты быстрого изучения
Микротик – оборудование, которое требует определенных знаний и умений при конфигурировании, будь то VPN или другие соединения. Самостоятельно изучить настройки не всегда легко, поэтому на помощь приходят разнообразные компьютерные курсы. Они дистанционно, в режиме «онлайн», смогут научить пользователя с нуля не только настраивать оборудование, но и писать программы на различных языках.
Во время занятий автор курса и тренер будет курировать учеников, а также давать им интересные лабораторные работы (практику) и домашние задания. Пользователи всегда смогут посмотреть пропущенные вебинары в записи, сформировав собственные схемы обучения работе с NAT и портами, Микротиком и другим оборудованием. В конце обучения выдается электронный сертификат для подтверждения приобретенных знаний.
P. S. Интересуют компьютерные сети, сетевые технологии, протоколы передачи данных? Обратите внимание на следующие курсы в Otus:
- «Network engineer«;
- «Network engineer. Basic«.