Микротик роутер настройка nat

Обновлено: 06.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 маршрутизатора Микротик сначала скачиваем утилиту winbox и подключаемся к роутеру, где скачать, и инструкция по подключению описано здесь. Настроить Мikrotik NAT на маршрутизаторе можно несколькими способами, рассмотрим их по порядку.

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Простая настройка NAT

После подключения к роутеру открываем вкладку NAT меню ip-firewall, нажимаем кнопку добавить новое правило(красный крестик)


В открывшемся окне, вкладка General заполняем минимально необходимые поля


Chain-канал приемник, нам нужно принимать из локальной сети, поэтому выбираем srcnat

Out.Interface – Внешний интерфейс маршрутизатора, тот которым он смотрит в интернет

Далее открываем вкладку Action


В поле Action выбираем masquerade(Маскарад). Теперь будет происходить подмена локальных ip, адресом предоставленный провайдером. Минимальная настройка НАТ на Mikrotik закончена. Рассмотрим более сложную настройку NAT на Микротик.

Настройка NAT для нескольких внешних ip

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

  1. Если внешние ip настроены на разных интерфейсах маршрутизатора. Здесь все просто, прописываем Src.Address нужный ip или сеть, а исходящим интерфейсом выбираем нужный интерфейс .



  1. Если от провайдера приходит один провод по которому нам дают несколько внешних ip, нам не хочется задействовать для каждого соединения свой порт, то все внешние ip можно настроить на одном порту

К примеру у нас на одном порту настроены ip address 1.1.1.1, 2.2.2.2 и целая сеть 3.3.3.3/24 как показано на рисунке


Нам нужно настроить выход для разных локальных компьютеров с внешних ip 1.1.1.1, 2.2.2.2 3.3.3.3 и 3.3.3.4.

Рассмотрим настройки на примере интерфейса с ip 3.3.3.4, все остальные будут идентичны


На вкладке General указываем только Src.Address, сеть или local с которого будут идти пакеты. Далее на вкладке Action делаем следующие настройки


В поле Action выбираем dst-nat или netmap. Отличие dst nat от netmap заключается в том, что netmap новый и улучшенный вариант dst nat. Поэтому я использую его.

В поле To Address прописываем адрес под котором нужно что бы наша сеть выходила в интернет.

Также в поле действия можно выбрать следующие операции.

Accept – принять будет принят и пройдет через маршрутизатор без изменений

Если нужно настроить проброс портов из интернета на ресурсы локальной сети, то как это сделать подробно описано здесь

Обучающий курс по настройке MikroTik

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сначала хочу отметить, что без создания правила NAT интернеты пользователи за роутером не получат, поэтому оно является обязательным.
Команда в терминале будет выглядеть следующим образом:

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

Простая настройка NAT

После подключения к роутеру открываем вкладку NAT меню ip-firewall, нажимаем кнопку добавить новое правило(красный крестик)

Mikrotik настройка nat masquerade

В открывшемся окне, вкладка General заполняем минимально необходимые поля

Mikrotik настройка nat masquerade

Chain-канал приемник, нам нужно принимать из локальной сети, поэтому выбираем srcnat

Out.Interface – Внешний интерфейс маршрутизатора, тот которым он смотрит в интернет

Далее открываем вкладку Action

Mikrotik настройка nat masquerade

В поле Action выбираем masquerade(Маскарад). Теперь будет происходить подмена локальных ip, адресом предоставленный провайдером. Минимальная настройка НАТ на Mikrotik закончена. Рассмотрим более сложную настройку NAT на Микротик.

Настройка NAT для нескольких внешних ip

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

  1. Если внешние ip настроены на разных интерфейсах маршрутизатора. Здесь все просто, прописываем Src.Address нужный ip или сеть, а исходящим интерфейсом выбираем нужный интерфейс .

Mikrotik настройка nat masquerade

Mikrotik настройка nat masquerade

  1. Если от провайдера приходит один провод по которому нам дают несколько внешних ip, нам не хочется задействовать для каждого соединения свой порт, то все внешние ip можно настроить на одном порту

К примеру у нас на одном порту настроены ip address 1.1.1.1, 2.2.2.2 и целая сеть 3.3.3.3/24 как показано на рисунке

Mikrotik настройка nat masquerade

Нам нужно настроить выход для разных локальных компьютеров с внешних ip 1.1.1.1, 2.2.2.2 3.3.3.3 и 3.3.3.4.

Рассмотрим настройки на примере интерфейса с ip 3.3.3.4, все остальные будут идентичны

Mikrotik настройка nat masquerade

На вкладке General указываем только Src.Address, сеть или local с которого будут идти пакеты. Далее на вкладке Action делаем следующие настройки

Mikrotik настройка nat masquerade

В поле Action выбираем dst-nat или netmap. Отличие dst nat от netmap заключается в том, что netmap новый и улучшенный вариант dst nat. Поэтому я использую его.

В поле To Address прописываем адрес под котором нужно что бы наша сеть выходила в интернет.

Также в поле действия можно выбрать следующие операции.

Accept – принять будет принят и пройдет через маршрутизатор без изменений

add-dst-to-address-list — добавить address назначения в список адресов, заданный параметром address-list

add-src-to-address-list — добавить address источника в список адресов, указанный параметром address-list

dst-nat — заменяет address назначения и / или порт IP-пакета на значения, заданные параметрами-адресами и портами, этот параметр бвыше был рассмотрен

jump — переход к определяемой пользователем цепочке, заданной значением параметра target-jump

masquerade — Маскарад рассмотренный в начале статьи. Подмена внутреннего адреса машины из локальной сети на адрес роутера;

netmap — создает статическое отображение 1: 1 одного набора IP-адресов другому. Часто используется для распространения общедоступных IP-адресов на хосты в частных сетях

passthrough — если пакет соответствует правилу, увеличьте счетчик и перейдите к следующему правилу (полезно для статистики).

passthrough — заменяет порт назначения IP-пакета на один, заданный параметром-портом-портом и адресом назначения на один из локальных адресов маршрутизатора

return — передает управление обратно в цепочку, откуда произошел прыжок

same — дает конкретному клиенту один и тот же IP-адрес источника / получателя из заданного диапазона для каждого соединения. Это чаще всего используется для служб, ожидающих одного и того же адреса клиента для нескольких подключений от одного и того же клиента

src-nat — заменяет исходный адрес IP-пакета на значения, заданные параметрами to-addresses и to-ports

Если нужно настроить проброс портов из интернета на ресурсы локальной сети, то как это сделать подробно описано здесь

Обучающий курс по настройке MikroTik

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Технический блог специалистов ООО"Интерфейс"

Проброс портов и Hairpin NAT в роутерах Mikrotik

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

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

Mikrotik настройка nat masquerade

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

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

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

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

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

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

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

Mikrotik настройка nat masquerade

Mikrotik настройка nat masquerade

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

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

Mikrotik настройка nat masquerade

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

Mikrotik настройка nat masquerade

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

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

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

Mikrotik настройка nat masquerade

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

Hairpin NAT

Mikrotik настройка nat masquerade

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

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

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

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

Mikrotik настройка nat masquerade

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

Mikrotik настройка nat masquerade

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

Mikrotik настройка nat masquerade

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

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

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

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

Руководство по NAT в MikroTik. Перевод официального WiKi

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

Существует два типа NAT:

Источник NAT или srcnat. Этот тип NAT выполняется на пакетах, которые исходят из натированной сети. Маршрутизатор NAT заменяет частный исходный адрес IP-пакета новым публичным IP-адресом По мере прохождения через маршрутизатор. Обратная операция применяется к ответным пакетам, перемещающимся в другом направлении.
Пункт назначения NAT или dstnat. Этот тип NAT выполняется для пакетов, предназначенных для натированной сети. Он чаще всего используется для того, чтобы сделать хосты в частной сети доступными из интернета. Маршрутизатор NAT, выполняющий dstnat, заменяет IP-адрес назначения IP-пакета, когда он проходит через маршрутизатор к частной сети.
Хосты за маршрутизатором с поддержкой NAT не имеют истинного сквозного подключения. Поэтому некоторые интернет-протоколы могут не работать в сценариях с NAT. Службы, требующие инициализации TCP-соединения из-за пределов частной сети или протоколов без состояния, таких как UDP, могут работать неправильно. Кроме того, некоторые протоколы изначально несовместимы с NAT, ярким примером является протокол AH из пакета IPsec.

Для преодоления этих ограничений RouterOS включает в себя ряд так называемых помощников NAT, которые позволяют выполнять обход NAT для различных протоколов.

masquerade

NAT action=masquerade является уникальной субверсией action=srcnat, он был разработан для конкретного использования в ситуациях, когда публичный IP может случайным образом изменяться, например DHCP-сервер меняет его, или PPPoE - туннель после отключения получает другой IP, короче говоря-когда публичный IP динамичен.

Каждый раз, когда интерфейс отключается и/или его IP-адрес изменяется, маршрутизатор очищает все маскированные записи отслеживания соединений, которые отправляют пакет из этого интерфейса, таким образом улучшая время восстановления системы после изменения публичного ip-адреса.

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

  • при отключении все связанные записи отслеживания соединений удаляются;
  • следующий пакет из каждого очищенного (ранее замаскированного) соединения будет поступать в брандмауэр как connection-state=new, и, если основной интерфейс не вернулся, пакет будет маршрутизирован по альтернативному маршруту (если он у вас есть), создавая таким образом новое соединение;
  • первичный канал возвращается, маршрутизация восстанавливается по первичному каналу, поэтому пакеты, принадлежащие существующим соединениям, отправляются по первичному интерфейсу без маскировки утечки локальных IP-адресов в общедоступную сеть.

Вы можете обойти это, создав маршрут blackhole в качестве альтернативы маршруту, который может исчезнуть при отключении).

Когда action=srcnat он используется вместо этого, записи отслеживания соединений остаются, и соединения могут просто возобновиться.

Свойства используемые при создании NAT правил:

по умолчанию:accept)

address-list

(строка; по умолчанию: )

address-list-timeout

(none-dynamic | none-static / time;

по умолчанию: none-dynamic)

  • Значение none-dynamic (00:00:00) оставит адрес в списке адресов до перезагрузки.
  • Значение none-static оставит адрес в списке адресов навсегда и даже будет включен в экспорт конфигурации / резервную копию

connection-bytes

(integer-целое число; по умолчанию: )

connection-limit

(целое число, netmaks;

connection-mark

connection-rate

(Целое число 0..4294967295;

connection-type

(ftp | h323 / irc | pptp / quake3 / sip | tftp; по умолчанию: )

dscp (целое число: 0..63;

(Диапазон IP / netmask / IP;

dst-address-list

dst-address-type

  • unicast - IP-адрес, используемый для передачи данных точка-точка
  • local - если dst-адрес назначен одному из интерфейсов маршрутизатора
  • broadcast - пакет отправляется на все устройства в подсети
  • multicast - пакет пересылается на определенную группу устройств

dst-address | dst-port | src-address [/time];

  • count - максимальная средняя скорость передачи пакетов, измеряемая в пакетах за time интервал
  • time - задает интервал времени, в течение которого измеряется скорость передачи пакетов (необязательно)
  • burst - количество пакетов, не учитываемых по пакетной скорости
  • mode - классификатор для ограничения скорости передачи пакетов
  • expire - указывает интервал, после которого записанный ip-адрес /порт будет удален (необязательно)

(целое число [- integer]: 0..65535;

(да / нет; по умолчанию: )

icmp-options

in-bridge-port

in-interface

ingress-priority

ipsec-policy

(вход | выход, ipsec / нет;

  • in - действителен в предварительной, входной и прямой цепочках
  • out - действителен в ПОСТПРОТЯЖНЫХ, выходных и прямых цепочках
  • ipsec - соответствует, если пакет подлежит обработке IpSec;
  • none - соответствует пакету, который не подлежит обработке IpSec (например, транспортный пакет IpSec).

Например, если маршрутизатор получает инкапсулированный Ipsec пакет GRE, то правило ipsec-policy=in, ipsec будет соответствовать пакету GRE, но правило ipsec-policy=in, none будет соответствовать пакету ESP.

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