Проброс портов на маршрутизаторе Микротик, проброс диапазона портов

By admin Сен 1, 2020

Немного общей информации

MikroTik это – маршрутизаторы, коммутаторы, точки доступа и много другое оборудование которое выпускает Латвийская фирма. Больше всего она получила свою известность именно за недорогие и функциональные сетевые устройства.

Действительно, когда я первый раз начал его настраивать, первое что я сказал: «Ого и это все можно сделать на железки за 1500 рублей». Масштаб возможностей роутеров действительно поражает это и мультикаст, MPLS, огромное количество технологий VPN. Да он один может справится с работой небальной компании и филиалов, подключённых по pptp например.

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

Распаковка и сброс настроек

И так, к нам в руки попал один из роутеров, первым делом нам нужно установить на компьютер утилиту для настройки – mikrotik winbox. Через нее конфигурируются все роутеры данной фирмы, только коммутаторы используют для этих целей web-интерфейс (и то не все).

Подключаем наше устройства к сети «в любой порт кроме первого, так как на нем присутствует настройка по умолчанию, и он выделен под интернет» и запускает winbox. Теперь переходим на вкладку Neighbors (обнаружение) и подождем немного должно появится наше устройство. Нажимаем на mac адрес вводим логин по умолчанию «admin» и подключаемся.

После входа выводится окно «RouterOS Default Configuration» со стандартными настройками от производителя. Их стоит оставить только в том случае если вы дальше ничего настраивать не будете. Так как для новичка разобраться в них будет сложно, поэтому сбрасываем MikroTik нажав на кнопку «Remove Configuration».

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

Для чего нужен проброс портов?

Для чего вообще вам может понадобиться такая настройка? Чаще всего Port Forwarding используется для:

  • организации игрового сервера на домашнем компьютере,
  • организации пиринговых (одноранговых) сетей,
  • для доступа к IP-камере из интернета,
  • корректной работы торрентов,
  • работы WEB и FTP-серверов.
Почему возникает необходимость в пробросе портов? Дело в том, что по умолчанию в роутерах работает правило так называемого маскарадинга. IP-адреса компьютеров и других устройств из локальной сети не видны ЗА роутером, во внешней сети. При поступлении пакетов данных из внутренней сети для отправки во внешний мир роутер открывает определенный порт и подменяет внутренний IP устройства на свой внешний адрес — надевает «маску», а при получении ответных данных на этот порт — отправляет их на тот компьютер внутри сети, для которого они предназначаются.

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

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

Подключение

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

После установки и запуска заходим во вкладку «Neighbors» и нажимаем по кнопке «Refresh» чуть ниже. Далее в списке вы увидите свой аппарат – выбираем его вводим в качестве логина «admin» и нажимаем «Connect».

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

Прежде чем я расскажу про то, как открыть порт на Микротике, небольшой экскурс для новичков. Для начала нам нужно посмотреть, какие интерфейсы у нас есть. Для этого переходим в «Interfaces».

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

  • «ether1-gateway» – можно сказать, что по умолчанию этот порт предназначен для подключения интернета. Но на самом деле Микротику можно назначить любой подобный порт или даже несколько.
  • «ether2-master-local» – это главный локальный порт.
  • «ether(3-4)-slave-local» – это второстепенные локальные порты.
  • «wlan1» – беспроводная локальная сеть.
  • Как вы заметили я пропустил первый пункт «bridge-local» – это виртуальный мост, который объединяет локальные порты (ether2-4) и Wi-Fi сеть (wlan1).

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

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

Перенаправление портов Mikrotik

Все настройки по прокидыванию портов делаются в разделе IP -> Firewall -> Nat. Ниже опишу все параметры и на примере пробросим RDP 3389 на сервер или компьютер.

Стрелочками показано в какой раздел заходить, нажимаем + и создадим новое правило NAT. Итак:

  • Chain – здесь выбираем что будем заменять в ip пакете (то есть адрес отправителя или получателя). Для нашего примера с RDP выбираем dstnat.
  • Src. Address – можем указать тут конкретный ip с которого нужно осуществлять проброс порта (то есть если здесь указать 2.45.34.77, то при работающем правиле проброс будет работать только при подключении с этого адреса). Нам этого не надо поэтому оставляем пустым.
  • Dst. Address – здесь указываем белый ip нашего роутера к которому будет подключаться по RDP а он в свою очередь будет натить на сервер. (Здесь имеет смыслю указывать ip если у вас несколько белых адресов на интерфейсе.) В нашем случае оставляем пустым.
  • Protocol – выбираем какой протокол будем пробрасывать (RDP работает по TCP протоколу и порту 3389). Очевидно, выбираем
  • Src. Port – Порт с которого будет подключения. Оставляем пустым, для нашего примера он не нужен.
  • Dst. Port – вот здесь указываем 3389 как писалось выше.
  • Any. Port – бываю случае порты src и dst одинаковые его можно вписать сюда, или когда нужно пробросить все TCP. (оставляем пустым)
  • In. Interface – входящий интерфейс микротика, указываем тот на котором висит белый ip. У меня этот.
  • Out. Interface – исходящий интерфейс, тут можно указать тот который смотрит в вашу локальную сеть а можно и ничего не указывать, тогда mikrotik сам выберет его по адресу подсети.
  • In. Interface list – тут указывается интерфейс лист. То есть, если у вас 2 и более каналов в интернет, их можно все объединить в interface list и указать тут. Тогда не надо будет для каждого провайдера делать правило проброса RDP.
  • Out. Interface List – тоже самое что и 10 пункт только исходящий.

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

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

Здесь настраиваем так:

  • Action – действие которое mikrotik должен произвести, выбираем dst-nat, так как нам надо запрос приходящий на белый ip с портом 3389 перенаправить на адрес из серой сети.
  • Галочка Log будет писать все nat трансляции в лог файл – этого делать не стоит.
  • Log Prefix – будет добавлять в лог в начало строки произвольные символы которые тут напишете.
  • To Addresses – люда вписываем ip сервера (серый) на который нужно настроить перенаправление портов на mikrotik.
  • To Ports – ну и TCP порт на который пересылать.

Вот так просто настраивается проброс портов на mikrotik, дальше приведу еще несколько примеров для различных сервисов.

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

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

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

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

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

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

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

Настройка FireWall:

Открываем «IP» -> «Firewall» -> «NAT». Создаем новое правило, нажав на синий плюс «+».

Настройка FireWall Mikrotik

Во вкладке General, в строке Chain выбираем: «dstnat». Далее правим строку Protocol: «6 (tcp)». И последние устанавливаем исходящий порт: Dst. Port — «80»

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

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

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

Указываем в source ip нужные подсети, или одиночные ip адреса. В указанном примере, все пакеты от компьютеров с ip 192.168.0.2-192.168.0.127 будут идти через интерфейс ether1-gareway, а пакеты с 192.168.0.128-192.168.0.255 будут идти с интерфейса ether2-gateway, соответственно в интернете они будут видны под ip address этих интерфейсов.

  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 – принять будет принят и пройдет через маршрутизатор без изменений

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

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

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

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

log — добавить сообщение в системный журнал, содержащий следующие данные: in-interface, out-interface, src-mac, protocol, src-ip: port-> dst-ip: порт и длина пакета. После согласования пакета он переходит к следующему правилу в списке, аналогично переходу

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

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

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

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

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

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

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

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

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

Настройка проброса одного порта

Для начала подключитесь к Mikrotik через winbox. Затем перейдите на вкладку IP-Firewall-NAT

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

Chain-канал приемник, есть два параметра srcnat-из локальной сети в интернет и dstnat из интернета в локальную сеть. Нам нужно dstanat

Src. Address — адрес с которого принимать запрос, например мы хотим разрешить подключение только с одного адреса, тогда нам нужно прописать в этом поле этот адрес. Если ничего не указано, то запросы будут приниматься со всех адресов

Dst. Address— адрес назначения (всегда ip маршрутизатора).

Protocol Обязательное поле, указываем протокол работы, http, udp и т.д.

Src.Port Порт источника с которого идет запрос, для нас это не важно

Dst.Portобязательный параметр, указывает на каком порту роутер будет принимать запрос, здесь может быть указан абсолютно любой, например для rdp не обязательно указывать 3389, для безопасности лучше указать другой порт, например 33389.

Any.Port объединяет два предыдущего параметра, если здесь будет что то указано, то это скажет маршрутизатору что src и dst порт равен указанному.

In.Interface интерфейс на котором настроен внешний ip адрес Микротика

Out. Interface – интерфейс подключения компьютера, на который идет проброс, заполнять необязательно

Более тонкие настройки, которые редко используются

In.Interface List, Out. Interface List принимает значение all т.е. использовать любой интерфейс, в принципе то же самое, что если не заполнять поля In и Out Interface

Packet Mark, Connection Mark, Routing Mark Пробрасывать маркированные пакеты, маркировка происходит на вкладке firewall/mangle.

Connection TypeПакет относится к определенному типу соединения, включенному на закладке Firewall/Service Ports, sip, ftp и т.д.

Обратите внимание, что перед полем можно поставить восклицательный знак, это означает отрицание

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

После заполнения всех необходимых полей переходим на вкладку Action.

Action – действие которое нужно выполнить, в нашем случае это или dst-nat или netmap, отличие рассмотрим ниже, я ставлю netmap как более новый и улучшенный.

To Address – ip локального компьютера на который идет проброс

To Ports – Порт на котором работает сервис, например для rdp 3389, для ftp 21. Если dst port на вкладке general совпадает с данным параметром, то можно это поле не заполнять

После всех настроек нажимаем кнопку «ОК» И во вкладке NAT появится новое правило, если все сделано правильно, то все должно работать.

Проброс диапазона портов

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

В этом случае будут приниматься пакеты из диапазона 3389-3391

Можно использовать оператор отрицания

Здесь будут приниматься пакеты в диапазоне с 1 по 3388 и с 3392 по 65536

Если же данного инструмента нам недостаточно, например надо пробросить udp для asterisk в диапазоне с 10000 по 20000, что не совсем удобно сделать вышеуказанными способами, то на помощь нам придет маркировка пакетов, переходим на вкладку firewall-Mangle.

нажимаем на плюс добавить правило. И заполняем необходимые поля

Chain – цепочка, может принимать следующие параметры

PREROUTING — Маркирует пакет до принятия решения о маршрутизации.

INPUT — Маркирует пакет, предназначенный самому хосту.

FORWARD — Маркирует транзитные пакеты.

OUTPUT — Маркирует пакеты, исходящие от самого хоста.

POSTROUTING — Маркирует все исходящие пакеты, как сгенерированные самим хостом, так и транзитные.

Нам нужно промаркировать пакет до того как он будет обработан правилами роутера, выбираем prerouting

Все остальные поля идентичны полям из правила NAT, только в Dst.Port уже можно указать диапазон.

Затем переходим на вкладку Action

Action ставим маркировку пакетов, mark packet

New Packet Mark – название маркировки, вводим удобное имя.

После чего нажимаем кнопку «ОК»

Теперь переходим во вкладку NAT и добавляем новое правило

Выбираем только канал приемник Chain dstnat и пункт Packet Mark, который создали выше. Затем переходим на вкладку Action

Указываем действие netmap или dst-nat

To Adresses ip локального компьютера

Если хотим перенаправлять диапазон порт в порт, то поле To Ports не заполняем, если нужно перенаправлять с диапазона на один порт, то в To Ports указываем нужное значение.

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

Иногда нужно пробросить все порты и все протоколы на локальный ip, в этом случае нужно использовать netmap. По-простому, netmap это маршрутизация сеть в сеть. Работает так же как DMZ на домашних роутерах типа dlink или tplink.

Для настройки также заходим в NAT, Нажимаем добавить правило и заполняем поля как показано на рисунке

Выбираем только канал dstnat, после чего переходим на вкладку Action

Здесь Action ставим netmap и указываем адрес назначения

Все. Теперь все запросы на внешний ip будут перенаправляться на указанный локальный ip.

Открыть порт на микротик

Чтобы открыть порт на mikrotik вам нужно перейти в раздел firewall и там явно создать разрешающие правило для этого порта. Отмечу что если у вас раздел IP-> Firewall->Filter Rules пуст как на картинке ниже, то это значит что все порты у вас открыты по умолчанию, так как нет запрещающих правил. И лучше бы вам его настроить ото будут ломать пока не взломают.

Как настроить Firewall поговорим в одной из следующих статей, а пока идем дальше. Чтобы закрыть или открыть сервисные порты в микротике, такие как доступ по ssh, windox, http или же поменять их на нестандартные, нужно перейти в раздел IP-> Services

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

Примеры используемых портов

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

  • Torrent: tcp/51413;
  • SSH: tcp/22;
  • SQL Server: tcp/1433;
  • WEB Server: tcp/80;
  • telnet: tcp/23;
  • RDP: tcp/3389;
  • snmp: udp/161 и т.д.

Эти значения как раз и будут использованы для проброса каждого такого порта.

Создание правил и выбор действий

Теперь создаем новое правило и приступаем к заполнению полей настроек. Здесь нужно быть очень внимательным и исходить именно из того, какой доступ необходимо осуществить (изнутри наружу или наоборот).

Параметры должны быть такими:

  • Chain: srcnat используется для доступа из локальной сети, так сказать, во внешний мир, dstnat – для доступа к локальной сети извне (выбираем для входящих подключений второй вариант);
  • поля адресов Src. и Dst. оставляем пустыми;
  • в поле протокола выбираем либо tcp, либо udp (обычно устанавливается значение 6 (tcp);
  • Src. Port оставляем незаполненным, т.е. исходящий порт для внешних подключений не важен;
  • Dst. Port (порт назначения): указывается порт для вышеприведенных примеров (например, 51413 для торрентов, 3389 для RDP и т.д.);
  • Any Port можно оставить пустым, но если указать номер, один порт будет использоваться и как входящий, и как исходящий;
  • In. Interface: вписывается порт самого роутера (обычно это ether1-gateway);
  • Out. Interface: указывается исходящий интерфейс (можно пропустить).

Примечание: в случае проброса портов для удаленного подключения извне (RDP) в поле Src. Address указывается IP удаленного компьютера, с которого предполагается осуществлять доступ. Стандартный порт RDP-подключения 3389. Однако большинство специалистов заниматься подобными вещами не рекомендует, поскольку намного безопаснее и проще настроить на маршрутизаторе VPN.

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

  • Action: accept (простой прием), но для доступа извне указывается dst-nat (можно указать более продвинутую настройку netmap);
  • To Addresses: вписывается внутренний адрес машины, на который должно будет происходить перенаправление;
  • To Ports: в общем случае выставляется значение 80, но для корректной работы того же торрента указывается 51413.

[spoiler title=»Источники»]

  • https://mikrotiklab.ru/nastrojka/routera-mikrotik-s-nulya.html
  • https://lantorg.com/article/probros-portov-na-mikrotik
  • https://WiFiGid.ru/mikrotik/probros-portov-2
  • https://mikrotiklab.ru/nastrojka/probros-portov-mikrotik.html
  • https://ITProffi.ru/nastrojka-nat-na-marshrutizatorah-mikrotik/
  • https://setiwik.ru/%D0%BF%D1%80%D0%BE%D0%B1%D1%80%D0%BE%D1%81-%D0%BF%D0%BE%D1%80%D1%82%D0%BE%D0%B2-%D0%B2-mikrotik/
  • https://web-shpargalka.ru/mikrotik-nastrojka-nat-masquerade.php
  • https://ITProffi.ru/probros-portov-na-marshrutizatore-mikrotik-probros-diapazona-portov/
  • https://FB.ru/article/324217/nastroyka-mikrotik-probros-portov-rdp-i-ftp-kak-sdelat-probros-portov-v-mikrotik

[/spoiler]

By admin

Related Post