Пробросить порт через nat маршрутизатора что это

Обновлено: 05.07.2024

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

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор - официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Проброс портов

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

Давайте рассмотрим небольшую схему, которая поможет понять принцип действия проброса портов.

mikrotik-port-forwarding-001.jpg

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

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

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

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

На первый взгляд все понятно, поэтому перейдем к практике. В RouterOS в качестве сетевого фильтра используется iptables, поэтому далее мы будем оперировать его терминами. В таблице NAT используются две цепочки: PREROUTING - в которую попадают все пришедшие на маршрутизатор пакеты и POSTROUTING - через нее проходят все прошедшие через устройство пакеты. В PREROUTING нам доступно действие dst-nat (DNAT), которое позволяет изменить адрес назначения пакета, в POSTROUTING будут доступны src-nat (SNAT) и masquerade, которые позволяют изменить адрес источника пакета.

Мы не даром заостряем на этом особое внимание, так как непонимание процесса прохождения пакета по цепочкам сетевого фильтра способно привести к значительным затруднениям, когда вроде-бы все правила составлены верно, но ничего не работает.

Так для пакета от клиента к веб-серверу и обратно порядок прохождения цепочек будет следующим:

Обратите внимание, что пакет не попадает в цепочки INPUT и OUTPUT, которые используются для собственных пакетов маршрутизатора.

Как правильно выполнить настройку? Перейдем в IP - Firewall - NAT и добавим следующее правило: Chain - dstnat (читай PREROUTING), Dst. Address - 192.168.1.113 - внешний IP-адрес нашего роутера, Protocol - tcp - используемый протокол, если сервис может использовать несколько протоколов, скажем TCP и UDP - потребуется создать отдельное правило для каждого протокола, Dst. Port - 80 - порт, на котором маршрутизатор будет принимать внешние соединения.

mikrotik-port-forwarding-002.jpg

На закладке Action укажите: Action - dst-nat - выполняем замену адреса получателя, To Addresses - 192.168.186.195 - внутренний адрес веб-сервера, To Ports - 80 - порт, на котором веб-сервер принимает соединения. Если внешний и внутренний порт совпадают, то последний можно не указывать.

mikrotik-port-forwarding-003.jpg

Либо выполните в терминале:

Но это еще не все, после PREROUTING пакет попадет в цепочку FORWARD, в которой, если вы настраивали роутер по нашей инструкции, запрещены любые внешние пакеты, кроме инициированных из локальной сети соединений.

Создадим новое правило. IP - Firewall - Filter Rules, где добавим: Chain - forward - цепочка FORWARD, Protocol - tcp, Dst. Port - 80 - протокол и порт, In. Interface - ether5 - внешний интерфейс вашего роутера. Так как по умолчанию в новых правилах стоит действие accept, на закладку Action можно не переходить.

mikrotik-port-forwarding-005.jpg

Располагаться данное правило должно выше правила, запрещающего транзитный трафик из внешней сети во внутреннюю.

mikrotik-port-forwarding-004.jpg

Обратите внимание, что если вы пробрасываете порт с изменением номера, скажем внутренний 3389 (RDP) на внешний 3390, то в правиле брандмауэра вы всегда должны указывать внутренний порт, т.е. 3389, так как пакет уже прошел цепочку PREROUTING и данные о получателе в нем уже изменены на адрес и порт внутреннего сервера.

Из терминала это можно сделать командами:

Осталось только проверить работу наших правил, попробуем получить доступ к веб-серверу со внешнего узла:

mikrotik-port-forwarding-006.jpg

Как видим, все прекрасно работает.

Hairpin NAT

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

mikrotik-port-forwarding-007.jpg

Почему так происходит? Давайте рассмотрим еще одну схему:

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

Что же делать? Очевидно, что нужно каким-то образом заставить веб-сервер отвечать не напрямую клиенту, а пересылать пакет обратно маршрутизатору. Здесь нам на помощь придет действие src-nat (SNAT), которое позволяет изменить адрес отправителя, находящееся в цепочке POSTROUTING. В терминах Mikrotik данная настройка носит наименование Hairpin NAT.

Чтобы понять, как это работает мы подготовили следующую схему:

mikrotik-port-forwarding-009.jpg

Теперь наш маршрутизатор не только изменяет адрес назначения, но и адрес источника, указывая в его качестве собственный внутренний IP. Обработав такой пакет веб-сервер отправит его обратно к маршрутизатору, который выполнит обратные преобразования (согласно таблице трансляции) и оправит его получателю. А так как отвечать будет именно тот узел, к которому был отправлен запрос, то в данном случае все будет работать.

Для настройки на Mikotik перейдем в IP - Firewall - NAT и добавим: Chain - src-nat (POSTROUTING), Src. Address - 192.168.186.0/24 - диапазон вашей локальной сети, Dst. Address - 192.168.186.195 - внутренний адрес веб-сервера, Protocol - tcp, Dst. Port - 80 - протокол и порт.

mikrotik-port-forwarding-010.jpg

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

Затем переходим на закладку Action и указываем: Action - src-nat (SNAT), To Addresses - 192.168.186.1 - указываем внутренний адрес нашего маршрутизатора.

mikrotik-port-forwarding-011.jpg

Через терминал данное правило можно создать следующим образом:

Во многих иных статьях для данного правила используется действие masquerade, давайте разберемся в чем разница. В первом приближении оба действия делают одно и тоже - изменяют адрес источника пакета, но src-nat работает только со статическими адресами, зато позволяет указать в качестве источника любой адрес, masquerade работает с динамическими адресами, но в качестве адреса источника может использовать только адрес того интерфейса, с которого уходит пакет. За счет того, что masquerade при каждом запросе определяет адрес интерфейса - это действие требует больше вычислительных ресурсов, нежели src-nat.

В нашем случае все адреса статические, поэтому использование src-nat здесь будет более уместно.

Правило создано, проверим его работу:

mikrotik-port-forwarding-012.jpg

Если вы нигде не допустили ошибок - все будет работать, как и предполагалось.

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

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор - официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Всем привет! Сегодня мы поговорим про то, что же такое NAT в роутере. Как вы, наверное, все знаете, большинство адресов в интернете использует IPv4 версию. Эти адреса имеют диапазон от 0.0.0.0 до 255.255.255.255. Если подсчитать, то у нас есть больше 4-х миллиардов айпишников. Вроде бы достаточно много, но на деле с ростом клиентов интернета свободных адресов почти уже не осталось. Приплюсуем сюда тот факт, что многие IP зарезервированы, а на планете активно развивается мобильный интернет, который забирает львиную долю IPv4.

Но как получается всем подключаться к интернету и не оставаться в стороне? – Для этих целей и используется NAT (Network Address Translation – трансляция сетевых адресов). А теперь о самой сетевой технологии более подробно в статье.

Что такое 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.

Схема достаточно простая, давайте рассмотрим пример.

  1. Компьютер из домашней сети с ИП 192.168.1.10 отправил запрос на какой-то сайт.
  2. Запрос пришел на роутер (192.168.1.1).
  3. Роутер не может использовать свой локальный адрес, поэтому переводит запрос и использует внешний адрес.
  4. Сайт получает запрос с внешним IP и на него отсылает ответ.
  5. Роутер принимает ответ от сайта, и уже отправляет его на компьютер, но уже используя внутренний айпишник.

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

Что такое NAT в роутере: определение, примеры, как включить и настроить

Термины NAT

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

Есть 4 вида NAT адресов:

  • Insidelocal – внутренний локальный адрес, который прописывается в первичном запросе от клиента.
  • Insideglobal – внешний айпишник роутера.
  • Outsidelocal – внутренний глобальный адрес сервера в интернете. Внутренний он, потому что он прописывается в первичном запросе от компьютера во внутренней сети.
  • Outsideglobal – внешний глобальный. IP запроса на конечный сервер, который записан во внешнем запросе от роутера.

Пока ничего не понятно? Сейчас постараюсь рассказать на примере. Давайте рассмотрим пример NAT адресации. Смотрим на картинку ниже.

Что такое NAT в роутере: определение, примеры, как включить и настроить

  1. У нас есть компьютер с (Inside Local) адресом 192.168.0.30, который находится с домашней сети.
  2. Он посылает запрос на сервер с (Outside Local) адресом 246.10.79.235.
  3. Маршрутизатор принимает ответ и переводит запрос:

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

Что такое NAT в роутере: определение, примеры, как включить и настроить

Динамический (Dynamic) NAT

У нас есть пул внутренних айпишников, который постоянно присваивается разные глобальные внешние адреса. Внешние IP присваиваются по принципу, какой есть свободный, тот и назначается маршрутизатором. Очень часто используется в городских сетях провайдерами, именно поэтому ваши глобальные IP постоянно меняются. Чтобы немного расширить эту тему, советую более подробно почитать про белые и серые IP.

Что такое NAT в роутере: определение, примеры, как включить и настроить

PAT (Port Address Translation)

Самая популярная форма NAT. Про неё я в самом начале и говорил. Когда нескольким локальным адресам назначается один глобальный. То есть когда вся семья, грубо говоря, использует один внешний IP. Чтобы маршрутизатор понял, кому именно посылать ответ от сервера, на который ранее был запрос, он использует в своем запросе номер порта. И по нему отсылает ответ нужному локальному пользователю.

Что такое NAT в роутере: определение, примеры, как включить и настроить

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

Плюсы и минусы IP NAT

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

Видео

Если вам что-то было не понятно, или вам лень читать, то советую посмотреть это полезное видео.

Как настроить и включить NAT на роутере

Стандартный NAT уже работает в режиме PAT и его настраивать не нужно. То есть вы просто настраиваете интернет и Wi-Fi на маршрутизаторе. Другой вопрос, если дома вы решили организовать Web, игровой или почтовый сервер. А быть может вы хотите подключить камеры видеонаблюдения и следить за домом или квартирой, отдыхая на Бали. Вот тут нам понадобится проброс портов – об смотрите статью про порты. Там коротко рассказано, что такое порты, для чего они нужны и как их пробросить.

Проброс портов и настройка роутера для внешнего доступа

Любительский

Аватар пользователя

Содержание

Содержание

Домашний роутер обычно не дает возможности добраться из внешнего Интернета до компьютеров во внутренней сети. Это правильно — хакерские атаки рассчитаны на известные уязвимости компьютера, так что роутер является дополнительным препятствием. Однако бывают случаи, когда доступ к роутеру и его локальным ресурсам из «внешнего мира» становится необходим. О том, в каких случаях бывает нужен доступ извне, и как его безопасно настроить — эта статья.

Зачем открывать доступ извне?

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

Цвета и формы IP-адресов

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

Но люди общаются словами, а компьютеры привыкли к цифрам. Поэтому любой запрос к сайту сначала обрабатывается DNS-сервером, который выдает настоящий IP-адрес.


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

Обычно провайдер выдает белый динамический адрес — какой-нибудь из незанятых. Это похоже на ежедневный заезд в гостиницу, когда номер вам выдается случайно. Здесь с письмом будут проблемы: получить его можете вы или другой постоялец — гарантий нет. В таком случае выручит DDNS — динамический DNS.

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


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

Кто я, где я, какого я цвета?

С терминологией разобрались, осталось понять, какой именно адрес у вас. У большинства провайдеров фиксированный адрес стоит денег, так что если у вас не подключена услуга «статический IP-адрес», то он наверняка динамический. А вот белый он или серый гусь — это нужно проверить. Для начала надо узнать внешний IP-адрес роутера в его веб-интерфейсе и сравнить с тем адресом, под которым вас «видят» в Интернете.

В админ-панели роутера свой IP можно найти на вкладках «Информация о системе», «Статистика», «Карта сети», «Состояние» и т. п. Где-то там нужно искать WAN IP.


Если адрес начинается с «10.», или с «192.168.», то он определенно «серый» — большинство способов открытия доступа работать не будет и остается только VPN.



Если адрес, показанный на сайте, совпадает с тем, что вы увидели в веб-интерфейсе, то у вас честный «белый» адрес и доступ из «большого мира» не вызовет особых затруднений — остается только настроить «пробросы» на роутере и подключить DDNS.

Что такое порты и зачем их бросать?

Проброс порта — это специальное правило в роутере, которое разрешает все обращения извне к определенному порту и передает эти обращения на конкретное устройство во внутренней сети.

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

Разрешать к компьютеру вообще все подключения, то есть пробрасывать на него весь диапазон портов — плохая идея, это небезопасно. Поэтому роутеры просто игнорируют обращения к любым портам «извне». А «пробросы» — специальные исключения, маршруты трафика с конкретных портов на конкретные порты определенных устройств.


Игровые порты: что, куда бросаем?

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

У разных игр требования тоже отличаются — в одни можно играть даже с «серого» адреса, другие без проброса портов потеряют часть своих возможностей (например, вы не будете слышать голоса союзников в кооперативной игре), третьи вообще откажутся работать.

Например, чтобы сыграть по сети в «Destiny 2», нужно пробросить UDP-порт 3074 до вашей «плойки», или UDP-порт 1200 на Xbox. А вот до ПК потребуется пробросить уже два UDP-порта: 3074 и 3097.

В следующей таблице приведены некоторые игры и используемые ими порты на ПК:

Из этой статьи мы узнаем, как настроить на MikroTik проброс портов и NAT (трансляция сетевых адресов) для доступа хостов локальной сети в интернет. Для примера выполним проброс портов через туннель между двумя MikroTik. А также продемонстрируем реализацию перенаправление трафика на маршрутизатор.

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Поговорим о настройке Masquerade, выясним, когда рекомендуется использовать Srcnat вместо Masquerade. Рассмотрим пример, где объединим две разные сети, IP-адреса которых совпадают, с помощью Netmap.

MikroTik NAT. Общая информация

NAT (Network Address Translation) – преобразование сетевых адресов. Главное назначение NAT – это экономия белых IP-адресов и повышение безопасности сети за счет ограничения обращений к внутренним хостам LAN снаружи и возможности скрыть сервисы с помощью подмены портов.

«Классический» NAT предполагает, что количество одновременных выходов в интернет из локальной сети за “натом” ограничено количеством свободных портов TCP/UDP. Благодаря этому множество устройств может одновременно выйти в интернет через один белый IP.


По умолчанию для LAN сети, находящейся за “натом”, доступ в интернет есть, а из глобальной сети в NAT-сеть попасть нельзя. За исключением случаев проброса портов.

Настройка NAT на MikroTik подразделяется на два типа:

  • Destination NAT – изменение IP-адреса назначения и выполнение обратной функции для ответа. Преобразование адреса получателя называется dst-nat;
  • Source NAT – изменение IP-адреса источника и выполнение обратной функции для ответа. Преобразование адреса источника называется src-nat.

Все остальные действия – производные от dst-nat и src-nat.

NAT обрабатывает только первый пакет соединения (connection-state=new).

Схематично принцип работы NAT можно изобразить так:


Destination NAT

Цепочка Dstnat при настройке NAT на MikroTik служит для изменения IP-адреса и/или порта назначения и выполнения обратной функции для ответа.

Практически применяется в следующих случаях:

  • Чтобы выполнить на MikroTik проброс портов в локальную сеть, для доступа извне.
  • Перенаправление любого DNS-трафика через маршрутизатор.

Стандартные действия возможные для цепочки dst-nat:

  • dst-nat – преобразование адреса и/или порта получателя;
  • redirect – преобразование адреса и/или порта получателя на адрес маршрутизатора.

Давайте практически разберем, как выполняется настройка NAT на MikroTik для цепочки dstnat.

Проброс портов на MikroTik

Пример проброса порта для RDP

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

Так как стандартный порт 3389 для RDP подключения является известным и часто подвергается атакам, то пробросить его напрямую будет не очень хорошей идеей. Поэтому скроем данный сервис с помощью подмены порта.

Для этого откроем:

На вкладке “General” укажем цепочку правил, протокол, протокол подключения и входящий интерфейс:


  • Chain: dstnat – цепочка правил для IP-адреса назначения;
  • Protocol: 6 (tcp) – протокол;
  • Dst. Port: 47383 – номер порта по которому будем обращаться к роутеру;
  • In. Interface – входящий WAN-интерфейс (у меня это ether1, у вас может быть другой).

При пробросе портов на MIkroTik надо обязательно указать входящий интерфейс. Иначе возможны проблемы.

Следующим шагом откроем вкладку “Action”:

Как итог все запросы, приходящие на внешний IP роутера по порту 47383, будут пересылаться на внутренний адрес локальной сети 192.168.12.100 порт 3389 (RDP).

Проброс порта на MikroTik для видеонаблюдения

Следующим примером мы постараемся показать, как настроить на MikroTik проброс портов для видеосервера с установленным ПО “Линия”.

Проброс порта на MikroTik для видеорегистратора напрямую, настраивается аналогичным образом.

Предположим, что есть Видеосервер с ПО “Линия” к которому необходимо получить доступ извне. Для начала откроем настройки программного обеспечения “Линия”, чтобы узнать порт Веб-сервера:


Чтобы получить доступ к видеосерверу, необходимо пробросить порт 9786. Откроем Winbox и добавим правило:


Распространенной ошибкой при пробросе портов на MikroTik является то, что не указывают входящий интерфейс.

Откроем пункт меню “Action”:

Проброс портов для нескольких внешних IP

Чтобы сделать проброс портов для нескольких WAN, то необходимо создать Interface List и добавить в него нужные интерфейсы. Далее укажем созданный лист в параметре In. Interface List. Покажем это на примере:

Создадим новый лист для интерфейсов “ISP”:

Следующим шагом добавим нужные WAN интерфейсы:


Повторить данный шаг для всех WAN-интерфейсов.

Модернизируем ранее созданное правило проброса порта для RDP соединения, указав лист “ISP” для настройки In. Interface List:


Так можно настроить проброс портов на MikroTik для нескольких WAN.

Как защитить проброшенные порты вы можете узнать изучив статью MikroTik настройка Firewall.

Перенаправление трафика на маршрутизатор

С помощью действия redirect возможно перенаправление трафика на Микротик. Практическое применение данного действия мы рассмотрим, выполнив переадресацию запросов DNS.

Перенаправим весь DNS-трафик на маршрутизатор. Следовательно, пользователи компьютеров в LAN, какие бы настройки DNS ни указывали локально, будут считать, что им отвечает DNS-сервер, которому сделан запрос, но фактически ответ будет приходить от маршрутизатора.

Для этого выполним настройку NAT на MikroTik следующим образом.


Перейдем в пункт меню “Action” и укажем действие redirect:


MikroTik проброс портов по туннелю L2TP


Нам нужно пробросить порт до компьютера (WS01), через GW1.




Следующим шагом, на основании соединений сделаем маркировку маршрутов:






Осталось добавить маршрут по умолчанию для пакетов маркированных как пришедшие из туннеля. Для этого открываем:

Настройка GW2 закончена. Переходим к конфигурированию GW1, выполнив проброс порта до хоста 192.168.13.48:


Mikrotik проброс портов через туннель L2TP

Настройка проброса порта на MikroTik через туннель L2TP закончена.

Source NAT

Основное назначение Source NAT MikroTik – изменение IP-адреса и/или порта источника и выполнение обратной функции для ответа.

Самое распространенное применение – это выход множества ПК в интернет через один белый IP-адрес.

Стандартные действия для цепочки src-nat:

  • src-nat – преобразование адреса и/или порта отправителя;
  • masquerad – преобразование адреса отправителя на адрес исходящего интерфейса и порта на случайный порт.

Настройка MikroTik NAT для доступа в интернет

Настройка NAT для статического WAN

Если мы получаем статический IP от провайдера, то рекомендуем для настройки NAT на MikroTik использовать правило src-nat. Это позволит устройствам из LAN выходить в глобальную сеть интернет. Откроем:

  • IP=>Firewall=>NAT=> “+”.
  • Chain: srcnat – указываем цепочку;
  • Out. Interface – задаем исходящий WAN-интерфейс.

Откроем вкладку “Action”:

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

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

Masquerade – это частный случай src-nat для ситуаций, когда внешний IP-адрес может динамически изменяться.

Тогда настройка NAT на MikroTik будет выглядеть следующим образом:


Настройка masquerade MikroTik

Правило src-nat/masquerade должно стоять первым в списке.

Настройка nat на MikroTik

Использование masquerade вместо src-nat может вызвать проблемы:

  • С телефонией;
  • Большая нагрузка ЦП, если создано много PPPoE соединений.
  • Проблемы с установкой соединения при 2 и более WAN-каналов.

Рекомендуем, при получении статического IP от провайдера, использовать правило scr-nat.

Если у вас несколько внешних интерфейсов, то рекомендуется добавлять условие, выделяя трафик по адресу источника:


Где Src. Address – локальная подсеть.

NAT loopback (Hairpin NAT)

Настройка Hairpin NAT MikroTik предназначена, чтобы организовать доступ из LAN к ресурсу в LAN по внешнему IP-адресу WAN. Чтобы подробно описать данную настройку и разобраться в проблеме, рассмотрим пример:


Если хост локальной сети (Ws01) обращается к серверу, находящемуся в этой же сети по внешнему IP, то сервер, получив запрос, зная, что данное устройство находится в одной LAN с IP 192.168.12.10 отвечает ему напрямую. Хост не принимает данный ответ, так как не обращался к серверу по айпи 192.168.12.100.

Правило Hairpin NAT MikroTik для статического WAN

Чтобы избежать проблему, описанную выше, выполним настройку hairpin NAT на MikroTik. При получение статического айпи от поставщика интернет-услуг, советуем использовать правило Src-nat:


Для значений Src. Address и Dst. Address указываем локальную подсеть.

Далее открыв вкладку “Action”:

NAT Loopback при динамическом WAN

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

  • Выбираем цепочку srcnat;
  • Для значений Src. Address и Dst. Address указываем локальную подсеть;
  • Out. Interface – назначаем bridge;

Затем откроем пункт меню “Action”:


Назначим действие(Action) – маскарад.

Поставим созданное правило вторым:

Hairpin NAT MikroTik

При этом необходимо учитывать то, что при этом проброс портов должен быть выполнен с параметром dst-address.

Покажем пример такого правила:


На этом настройка Hairpin NAT на MikroTik выполнена. Теперь мы сможем обращаться к внутренним ресурсам сети по внешнему IP.

Netmap

Действие Netmap служит для создания связки из IP-адресов (1:1 NAT). На практике применяется для решения следующих задач:

  • сделать IP-адрес или группу адресов доступными из интернета по белому IP. (принцип 1:1);
  • объединить разные сети с одинаковыми адресами сетей.

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

Проброс всех портов и протоколов на локальный IP

Для случая, когда нам нужно на MikroTik пробросить все порты и сервисы до компьютера, который находится за “натом”, чтобы обращаться к нему по белому IP, воспользуемся действием Netmap:


На вкладке “Action”, выберем действие netmap и укажем айпи хоста, доступ к которому хотим получить:

MikroTik проброс всех портов на локальный IP

Как объединить разные сети с одинаковой IP-адресацией

Предположим, что у нас есть два филиала с одинаковыми адресами подсетей 192.168.12.0/24, которые надо объединить.

MikroTik netmap

Чтобы избежать проблем с маршрутизацией нам необходимо:

  • Филиал № 1 подменить сеть 192.168.12.0/24 на 192.168.30.0/24;
  • Филиал № 2 подменить сеть 192.168.12.0/24 на 192.168.40.0/24.

Для этого откроем конфигурацию GW1 (Филиал №1) и добавим правила:

  • Srcnat – цепочка источника;
  • 192.168.12.0/24 – локальная подсеть;
  • 192.168.40.0/24 – подсеть удаленного филиала.

Далее открыв пункт меню “Action”, выберем действие netmap:

  • Action: netmap – выбираем действие;
  • To Addresses: 192.168.30.0/24 – Подсеть на которую подменяем текущую адресацию.

Теперь создадим цепочку dstnat:



Разместим эти правила первыми:


Переходим к конфигурированию GW2 (Филиал №2).

Открыв меню NAT, добавляем цепочку srcnat:



Осталось добавить цепочку dstnat:



И также разместим эти правила первыми:

Netmap пример объединения сетей с одинаковой адресацией

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

Надеюсь, статья была для вас полезна. Если остались вопросы, то пишите в комментарии, постараемся оперативно ответить.

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Читайте также: