Как сделать проброс портов на mikrotik

Обновлено: 05.07.2024

В прошлой части, мы с Вами, настроили фильтрацию трафика в (Firewall Filter).

Напомню, что у меня в сети присутствует роутер Asus RT-AC66U, работающий как точка доступа для Wi-Fi клиентов. Он подключен кабелем к роутеру hEX (RB750Gr3)
Конечно, мне необходимо иметь к нему удаленный доступ, также, как и к другим ресурсам локальной сети. Например чтобы перезагрузить, прошить и др. мало ли что.

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

Для начала давайте вспомним(или узнаем), как происходит обычное перенаправление портов в MikroTik RouterOS

Пока я писал статьи, обновилась ветка прошивок Bugfix. Теперь у меня на девайсах стоит прошивка 6.40.6

1. Перенаправление портов в hAP ac (RB962UiGS-5HacT2HnT)
Давайте взглянем на простую схему перенаправления порта. Например у меня дома на виртуальной машине крутиться сервер Plex. Все его настройки я произвожу через консоль, подключаясь к нему по протоколу SSH(для тех кто не знает, что это Secure SHell)
Предположим, что данный сервер имеет внутрисетевой IP адрес: 192.168.88.9
Стандартный порт для доступа по SSH это TCP порт под номером 22. Если кто-то не знает что такое TCP или UDP порты, Вы можете погуглить т.к. без этих знаний Вам будет не очень понятно ))
Мне нужно подключиться откуда-нибудь с ноутбука с интернетом. И тут мы вспоминаем про статический IP адрес.
Стандартное подключение в рамках локальной сети Для примера подключаемся через Putty по стандартному 22 порту

А теперь подключимся… например с дачи(сидим через 4G), схема изменится.
В принципе тоже стандартная схема, но теперь наша цель находится за роутером, т.е. целью нам нужно выбирать сам роутер. Отлично, тогда выбираем статический IP роутера. Он же доступен из интернета! Только вот, какой выбрать порт и куда попадет наш запрос на подключение?

В принципе ничего сложного, нужно научить роутер перенаправлять через себя запросы к нашему серверу.

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

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

Если Вам интересны подробности этого взаимодействия можете почитать в интернете про TCP/IP стеки, IP адресацию, почему закончились IPv4 адреса и многое, многое другое. Мир полон интересной информации и у нас есть к ней доступ =)

Для обучения роутера этому колдовству =) необходимо дунуть, если не дунуть, чуда не произойдет открыть всеми нами любимый WinBox(или консоль), перейти в меню IP -> Firewall вкладка NAT
И добавить новое правило:
Добавляем новое правило Указываем нужные данные во вкладке General Указываем нужные данные во вкладке Action и жмем OK Консольно:
/ip firewall nat
add action=dst-nat chain=dstnat comment="Open ports to Media Server" dst-port=10022 in-interface=WAN protocol=tcp to-addresses=192.168.88.9 to-ports=22

А теперь разберем по порядку, что мы сделали:
Вкладка General
1. Chain — dstnat — выбираем цепочку
2. Protocol — TCP — выбираем протокол сетевого уровня
3. Dst. Port — 10022 — задаем TCP порт, к которому будем обращаться снаружи. Этот порт я выбрал сам. Вы же можете выбрать любой другой, по своему желанию.
4. In. Interface — WAN — Выбираем входящий интерфейс через который будут приходить запросы.
Вкладка Action
1. Action — dst-nat — выбираем действие перенаправления
2. To Addresses — 192.168.88.9 — задаем локальный IP адрес на который будут отправляться внешние запросы. Адресов может быть несколько.
3. To Ports — 22 — задаем TCP порт к которому нужно обратиться. Также может быть несколько.

Т.е. внешний TCP или UDP порт, к которому мы обращаемся не обязательно должен быть идентичен локальному, к которому мы хотим достучаться.
Это поможет также и с безопасностью. Боты будут атаковать стандартные порты, а у нас они закрыты и доступ к ним идет совсем не по стандартным портам, назначение которых, известно только нам самим.
Не забудьте открыть доступ к внешнему порту в Firewall Filter и поместить правило выше последнего запрещающего, иначе фильтрация соединений заблокирует все ваши попытки подключения.

Вроде бы все хорошо, мы легко получаем доступ к нашему роутеру, нашему серверу для настройки и контроля работы.
Теперь мы хотим получить доступ к устройствам, которые находятся за нашим OpenVPN. В принципе все также должно работать хорошо, ведь у нас единая локальная сеть. Но не тут-то было.
Дело было не в бабине =)
Мне пришлось подумать прежде чем, я понял, почему не работает простое перенаправление… И правильно, что не работало.

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

Выход есть и он изящен =)

Вы ведь помните маскарадинг? Да да, когда наши соединения прикрываются роутером. А почему бы не сделать это в обратную сторону, но не для всего трафика, а только для конкретных запросов?
Сказано сделано.

Если мы работаем в рамках локальной сети т.е. пробуем подключиться с адреса 192.168.88.5 к адресу 192.168.88.30 все работает отлично. Этим и воспользуемся.
А когда мы работаем из интернета, к адресу 192.168.88.30 будет приходить запрос с адреса любого, который мы получили от провайдера в месте, где мы сидим, например 4G сеть.
Нужно заменить этот динамический IP в соединении, на IP роутера 192.168.88.1 и сделать это только для запросов идущих к IP адресу 192.168.88.30

Добавляем правило доступа к WEB интерфейсу точки доступа Asus
Выбираем себе TCP порт WEB интерфейс висит на 80 порту Теперь отловим это перенаправление и поменяем в нем IP.
ВНИМАНИЕ. Нам нужно создать правило именно для уже перенаправленного соединения!
Нам нужна цепочка Srcnat И действие также src-nat Консольно:
/ip firewall nat
add action=dst-nat chain=dstnat comment="Open ports to RT-AC66U" dst-port=14080 in-interface=WAN protocol=tcp to-addresses=192.168.88.30 to-ports=80
add action=src-nat chain=srcnat dst-address=192.168.88.30 dst-port=80 protocol=tcp to-addresses=192.168.88.1

Что же мы тут видим, посмотрим…
Сначала мы перенаправили порт для удаленного доступа к точке доступа Asus.
Через IP 98.76.54.32 и TCP порт 14080 к IP 192.168.88.30 и TCP порт 80
А потом отловили этот запрос и замаскировали в нем IP адрес источника с которого мы сидим на IP адрес самого роутера 192.168.88.1

Вкладка General
1. Chain — srcnat — цепочка srcnat
2. Dst. Address — 192.168.88.30 — мы же сами задавали перенаправление на этот адрес вот и ловим этот запрос
3. Dst. Port — 80 — ловим запрос на этот порт или порты (например если ловить потом еще и SSH, то пишем так 80,22)
Вкладка Action
1. Action — src-nat — выполняемое действие. Замена данных источника
2. To Addresses — 192.168.88.1 — на этот адрес меняем
3. To Ports — оставляем пустым т.к. порты мы указываем на вкладке General

Вот такая хитрая схема, которая позволяет не городить огород на удаленных узлах.
Все правила перенаправления добавляются и управляются исключительно на роутере со статическим IP.
Вкладка NAT в Firewall это очень мощный инструмент наравне с фильтрацией трафика.
Дополнительная информация: WIKI MikroTik Firewall NAT (Eng)

Такой набор правил в NAT, есть у меня:
Попадаем в меню
/ip firewall nat
1. Маскируем локальные сети для выхода в интернет
add action=masquerade chain=srcnat comment="LAN to WAN" out-interface=WAN src-address=192.168.88.0/24

2. Доступ к Медиа Серверу и открытие порта для Торрента на нем же.
add action=dst-nat chain=dstnat comment="Open ports to Media Server" dst-port=10022 in-interface=WAN protocol=tcp to-addresses=192.168.88.9 to-ports=22
add action=dst-nat chain=dstnat dst-port=10080 in-interface=WAN protocol=tcp to-addresses=192.168.88.9 to-ports=80
add action=dst-nat chain=dstnat dst-port=10005 in-interface=WAN protocol=tcp to-addresses=192.168.88.9 to-ports=10005

3. Доступ к WEB интерфейсу Cisco SPA112 (Телефонный шлюз)
add action=dst-nat chain=dstnat comment="Open port to Cisco SPA112" dst-port=11080 in-interface=WAN protocol=tcp to-addresses=192.168.88.10 to-ports=80

Все остальное это сторона роутера hEX, тут нужно применить SRCNAT
4. Доступ к роутеру hEX по WinBox
add action=dst-nat chain=dstnat comment="Open port to hEX" dst-port=12291 in-interface=WAN protocol=tcp to-addresses=192.168.88.2 to-ports=8291
add action=src-nat chain=srcnat dst-address=192.168.88.2 dst-port=8291 protocol=tcp to-addresses=192.168.88.1

5. Доступ к сетевому мосту cAP Lite
add action=dst-nat chain=dstnat comment="Open port to cAP Lite" dst-port=13291 in-interface=WAN protocol=tcp to-addresses=192.168.88.39 to-ports=8291
add action=src-nat chain=srcnat dst-address=192.168.88.39 dst-port=8291 protocol=tcp to-addresses=192.168.88.1

6. Доступ к точке доступа Asus RT-AC66U (WEB и SSH)
add action=dst-nat chain=dstnat comment="Open ports to RT-AC66U" dst-port=14080 in-interface=WAN protocol=tcp to-addresses=192.168.88.30 to-ports=80
add action=dst-nat chain=dstnat dst-port=14022 in-interface=WAN protocol=tcp to-addresses=192.168.88.30 to-ports=22
add action=src-nat chain=srcnat dst-address=192.168.88.30 dst-port=80,22 protocol=tcp to-addresses=192.168.88.1

firewall-nat-all

Вид формирования правил в WinBox

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

Список всех статей в хронологическом порядке: История статей

Если Вам не безразлична судьба блога или Вы просто хотите отблагодарить Автора за его труд, смело переходите на страницу Поддержки, там описана вся информация, по тому, как это сделать проще простого =)

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

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

Ранее мы уже писали о том, как настроить роутер MikroTik. В нашей очередной инструкции мы постарались ответить на вопрос - как пробросить порты на роутере MikroTik.

Любую сеть можно схематично представить в таком виде:

Схема 1 - Схематичное отображение типовой сети

Посмотрим немного подробнее, на примере роутера MikroTik RB951-2nb - у него 5 портов, плюс модуль WiFi.

Подключаемся через web-интерфейс или Winbox'ом к роутеру(по умолчанию логин admin, без пароля), заходим в список интерфейсов, это второй пункт в меню, Interfaces.


Тут мы видим все интерфейсы, доступные нашему роутеру (интерфейс — это, грубо говоря, канал связи роутера с другим компьютером/компьютерами)


Пример - мы хотим, чтобы при подключении к нашей сети роутера на порты 110 и 51413 — подключение переадресовывалось на компьютер PC1, а при подключении к порту 3189 — на машину PC2. Для этого и нужен NAT.

Схема 2 - Пример распределения подключения к сети

В Микротике управление NAT'ом находится в разделе IP->Firewall->NAT:



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

Нажимаем синий плюсик


В появившемся окне нового правила нам нужно всего несколько опций


В итоге, получается вот такая картина:


Вкладки Advanced (Продвинутый) и Extra (Дополнительный) содержат различные параметры тонкой настройки, нам они без надобности, идём сразу в Action (Действие)


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

Для наших целей подходит dst-nat и netmap. Последнее является более новым и улучшенным вариантом первого, логично использовать его:


В поле To Addresses нужно указать адрес машины, на которую мы хотим переадресовать порт, в поле To Ports — соответственно, сам порт.


Нажимаем кнопку Apply, роутер сам находит адрес машины:


Напоследок имеет смысл нажать Comment и указать комментарий для правила, чтобы в дальнейшем не приходилось вспоминать, что это за правило и зачем:


Всё, нажимаем OК в окошке ввода комментария и ОК в окне ввода правила:


Обычно порты
пробрасывают для доступа к внутренним ресурсам локальной сети из интернета, например:

  • организации пиринговых (одноранговых) сетей
  • доступа к IP-камере из интернета
  • корректной работы торрента
  • работы WEB и FTP-серверов
  • доступ из любой точки мира к серверу умного дома


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



На этой схеме есть одно отличие: роутер принимает только те пакеты данных, которые приходят по соединению, инициированному компьютером из внутренней сети. Если компьютер или сервер из внешней сети пытается установить соединение первым, роутер его сбрасывает. А для указанных выше пунктов (игровой сервер, пиринговые сети и т. п.) такое соединение должно быть разрешено. Вот для этого и применяется проброс портов. Фактически, это команда роутеру зарезервировать один порт и все данные извне, которые на него поступают, передавать на определенный компьютер. Т. е. сделать исключение из маскарадинга, прописав новое правило.

Настройка Port Forwarding в MikroTik

В MikroTik управление настройкой проброса портов находится в меню IP =>Firewall =>NAT.


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


Настройка вкладки General

Нажимаем плюс и в появившемся окне заполняем несколько полей:

Настройка вкладки Action

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

  • accept — просто принимает данные;
  • add-dst-to-address-list — адрес назначения добавляется в список адресов;
  • add-src-to-address-list — исходящий адрес добавляется в соответствующий список адресов;
  • dst-nat — перенаправляет данные из внешней сети в локальную, внутреннюю;
  • jump — разрешает применение правила из другого канала, например при установленном в поле Chain значения srcnat — применить правило для dstnat;
  • log — просто записывает информацию о данных в лог;
  • masquerade — маскарадинг: подмена внутреннего адреса компьютера или другого устройства из локальной сети на адрес маршрутизатора;
  • netmap — создает переадресацию одного набора адресов на другой, действует более расширенно, чем dst-nat;
  • passthrough — этот пункт настройки правил пропускается и происходит переход сразу к следующему. Используется для статистики;
  • redirect — данные перенаправляются на другой порт этого же роутера;
  • return — если в этот канал мы попали по правилу jump, то это правило возвращает нас обратно;
  • same — редко используемая настройка один и тех же правил для группы адресов;
  • src-nat — переадресация пакетов из внутренней сети во внешнюю (обратное dst-nat перенаправление).

В поле To Adresses прописываем внутренний IP-адрес компьютера или устройства, на который роутер должен будет перенаправлять данные по правилу проброса портов. В поле To Ports, соответственно, номер порта, к примеру:

  • 80/tcp — WEB сервер,
  • 22/tcp — SSH,
  • 1433/tcp — MS SQL Server,
  • 161/udp — snmp,
  • 23/tcp — telnet

Если значения в поле Dst. Port предыдущей вкладки и в поле To Ports совпадают, то здесь его можно не указывать.



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

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

Подключение

Сначала нам нужно зайти в настройки маршрутизатора. Можно это сделать с помощью Web-интерфейса, но лучше использовать программу WinBox, которую свободно можно скачать с официального сайта.

Проброс портов на MikroTik: инструкция для чайников

Знакомство с интерфейсами

Проброс портов на MikroTik: инструкция для чайников

Что такое интерфейсы в Микротике? По сути это некие каналы связи самого аппарата с другими устройствами локальной сети, а также с интернетом. Ведь роутер в нашем случае — это ещё и шлюз. Сейчас рассмотрим более подробно каждое из подключений, и вы все поймете.

Проброс портов на MikroTik: инструкция для чайников

С интерфейсами мы разобрались. Так как любой роутер является шлюзом и общается как с внешней глобальной (интернет сетью), так и с внутренней (локальной), для этого существует NAT (Network Address Translation) технология. Как она работает? По сути она позволяет обмениваться данными между глобальной и локальной сетью. Например, один из компьютеров дает запрос в интернет к серверу. Но тут встает проблемы – комп находится в локальной сети и имеет локальный адрес.

Роутер принимает этот запрос и отправляя запрос серверу он подменяет локальный IP адрес на свой-внешний. Когда ответ приходит, роутер уже отправляет ответ именно тому компьютеру, который его отправлял. Именно NAT и отвечает за переадресацию портов.

Проброс портов на MikroTik: инструкция для чайников

NAT и настройка

Проброс портов на MikroTik: инструкция для чайников

Проброс портов на MikroTik: инструкция для чайников

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

Проброс портов на MikroTik: инструкция для чайников

На первой вкладке мы закончили. Теперь переходим на четвертую вкладку и открываем раздел где нужно установить некое правило.

У вас могут быть совершенно другие порты (80, 8080, 3389 и т.д.). Очень часто нужно открыть порты наружу для видеонаблюдения или для установки домашнего сервера.

ПРИМЕЧАНИЕ! Если у вас не работает проброс портов, то проверьте также настройку Firewall на конечном ПК, если он есть. Также убедитесь, что вы указали нужный интерфейс в Микротик.

Проброс портов в роутере MikroTik (port forwarding) позволяет организовать удаленный доступ из интернета к какому-нибудь устройству внутри вашей локальной сети (к IP-камере, Web, FTP или игровому серверу).

В данной статье мы рассмотрим пример, как пробросить порты в роутере MikroTik, чтобы получить доступ к IP-камере в локальной сети.

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

Проверка белого IP-адреса в роутере MikroTik

Если в правом нижнем углу отображается ошибка типа "DDNS server received request from IP 67.170.73.47 but your local IP was 104.12.152.1; DDNS service might not work.", то у вас серый IP-адрес. В этом случае вам нужно обратиться к провайдеру для получения белого IP-адреса. У некоторых провайдеров это платная услуга.

Признак серого IP-адреса

Итак, у нас имеется роутер MikroTik с белым IP-адресом 178.189.224.122. Он имеет внутреннюю подсеть 192.168.88.0/24.

Внутри подсети есть IP-камера с адресом 192.168.88.250, у которой есть Web-интерфейс, работающий на 80 порту. Нам нужно обеспечить доступ из интернета к Web-интерфейсу IP-камеры.

Схема сети

10000 в адресной строке - это произвольный номер порта. Его желательно указывать в диапазоне от 49152 до 65535. Можно также использовать диапазон от 1024 до 49151, если вы уверены, что указанный порт не будет конфликтовать с какой-то программой.

Для проброса портов в роутере MikroTik откройте меню New Terminal и выполните команды, описанные ниже.

Меню New Terminal в роутере MikroTik

Первым делом добавляем правило маскарадинга для подсети 192.168.88.0/24

Далее обращения из интернета к порту 10000, перенаправляем во внутреннюю сеть на устройство 192.168.88.250 и порт 80.

/ip firewall nat add action=netmap chain=dstnat dst-port=10000 in-interface=ether1 protocol=tcp to-addresses=192.168.88.250 to-ports=80

Обращения из локальной сети к внешнему IP-адресу 178.189.224.122 и порту 10000 перенаправляем в локальную сеть на устройство 192.168.88.250 и порт 80, а не в интернет.

/ip firewall nat add action=netmap chain=dstnat dst-address=178.189.224.122 dst-port=10000 in-interface=bridge protocol=tcp src-address=192.168.88.0/24 to-addresses=192.168.88.250 to-ports=80

Созданные правила можно посмотреть в меню IP - Firewall на вкладке NAT.

Проброс портов в роутере MikroTik

Вводим логин, пароль и попадаем на Web-страничку с видео и настройками IP-камеры.

Web-интерфейс настроек IP-камеры

Я еще захотел просматривать видео на планшете в полноэкранном режиме без использования Web-интерфейса. В этом поможет программа VLC media player. Она может отображать видеопоток по протоколу RTSP, который поддерживает моя камера TP-Link. Протокол RTSP использует порт 554, поэтому его нужно пробросить в роутере MikroTik.

Обращения из интернета к порту 554, перенаправляем во внутреннюю сеть на устройство 192.168.88.250 и порт 554.

/ip firewall nat add action=netmap chain=dstnat dst-port=554 in-interface=ether1 protocol=tcp to-addresses=192.168.88.250 to-ports=554

Обращения из локальной сети к внешнему IP-адресу 178.189.224.122 и порту 554 перенаправляем в локальную сеть на устройство 192.168.88.250 и порт 554, а не в интернет.

/ip firewall nat add action=netmap chain=dstnat dst-address=178.189.224.122 dst-port=554 in-interface=bridge protocol=tcp src-address=192.168.88.0/24 to-addresses=192.168.88.250 to-ports=554

Теперь запускаем на планшете программу VLC media player и выбираем открыть Сетевой ресурс. В ОС Windows в VLC media player нужно открыть меню Медиа - Открыть URL.

Меню VLC media player в iPad

Вводим адрес rtsp://login:passwd@178.189.224.122/video.mp4

, где login - логин для доступа к IP-камере, passwd - пароль для доступа к IP-камере, 178.189.224.122 - внешний IP-адрес роутера.

Строка RTSP запроса для вашей модели камеры может отличаться. Поэтому уточните на сайте производителя или в документации к камере, как она правильно прописывается. Также удостоверьтесь, что ваша камера поддерживает протокол RTSP и он включен в настройках.

Открыть сетевой ресурс RTSP в VLC media player

Далее нажмите Открыть сетевой ресурс. В нижней части появится миниатюра видео с камеры. Нажмите на нее.

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