Андрей Смирнов
Время чтения: ~16 мин.
Просмотров: 30

Проброс портов в Mikrotik – инструкция по настройке

  • Tutorial

Находя в сети различные инструкции по работе с Mikrotik RouterOS, я обратил внимание, что большинство из них малоинформативны — в лучшем случае они представлены в виде скриншотов Winbox со скудными комментариями, в худшем — просто груда строк для командной строки, из которых что-либо понять вообще нет никакой возможности. Поэтому я решил написать небольшой набор инструкций, в которых буду объяснять, не только ЧТО нужно выполнить, но и ЗАЧЕМ и ПОЧЕМУ. Итак, начнём с самого простого и, в тоже время, нужного — проброс порта из внутренней сети «наружу». Любую сеть можно схематично представить вот в таком виде:7c6829decd5925af5d5e0dcc27128438.png Посмотрим немного подробнее, на примере роутера Mikrotik RB951-2n. У него 5 портов, плюс модуль WiFi. Подключаемся через web-интерфейс или Winbox’ом к роутеру(по умолчанию логин admin, без пароля), заходим в список интерфейсов, это второй пункт в меню, Interfaces.1fd1edd152259cb558abab7409faa120.png Тут мы видим все интерфейсы, доступные нашему роутеру(интерфейс — это, грубо говоря, канал связи роутера с другим компьютером/компьютерами)15d72c288938426db50c249effd75b07.png Первым идёт bridge-local — «локальный мост». В данном случае он служит для установки моста между локальной сетью и беспроводными подключениями по WiFi (В Микротике для соединения вместе нескольких интерфейсов можно или объединить их в свитч, или соединить мостом(бриджем). У каждого из этих двух вариантов есть свои сильные и слабые стороны. Но это тема для отдельной статьи). Далее, ether1-gateway. Ether1 — это первый RJ45 разъём на лицевой панели роутера. По умолчанию считается, что в него воткнут кабель с интернетом, приходящий от провайдера. Поэтому он называется Gateway — «Ворота» (В принципе, это не обязательно должен быть первый порт, при желании можно назначить gateway’ем любой другой порт, и даже несколько портов одновременно, при наличии подключений от нескольких провайдеров). Затем идут 4 порта локальной сети. Они объединены в свитч, начиная со второго RJ45 разъёма, он называется ether2-master-local, остальные 3 — неполиткорректно называются slave-local. Тут логика простая: в параметрах портов 3, 4 и 5 прописано, что главным у них является порт №2 — соответственно, все четыре порта автоматически объединяются в виртуальный свитч. А этот виртуальный свитч внутренней сети объединен с беспроводной сетью посредством бриджа из первой строки. Между внешним интернетом и внутренней сетью находится NAT — Network Address Translation, дословно «Трансляция сетевых адресов». Механизм, позволяющий компьютерам, находящимся в локальной сети, иметь внутренние адреса своей сети, и при этом нормально общаться со всеми другими компьютерами и серверами в интернете (при этом для внешнего сервера все компьютеры внутри сети представляются одним адресом — внешним адресом роутера). Вкратце, это работает таким образом: при обращении из внутренней сети куда-нибудь в интернет, роутер подменяет внутренний адрес компьютера своим адресом, принимает ответ от сервера в интернете, и переадресовывает на локальный адрес компьютера, сделавшего исходный запрос. Это называется Masquerade — «Маскарад»: данные от машины в локальной сети как-бы «надевают маску» и для внешнего сервера это выглядит так, будто они исходят от самого роутера. Точно так же, при подключении из внешней сети, нам нужно где-то задать правило, какой именно компьютер в локальной сети должен отвечать на попытки подключиться к какому-то порту на роутере. Поясню на примере:eafc9c46561ec70fb5744ea1d85eb1c0.png Мы хотим, чтобы при подключении к нашей сети в лице роутера на порты 110 и 51413 — подключение переадресовывалось на компьютер PC1, а при подключении к порту 3189 — на машину PC2. Для этого и нужен NAT. В Микротике управление NAT’ом находится в разделе IP->Firewall->NAT:

Тут мы видим, что одно правило уже есть. Оно автоматически создаётся конфигурацией по-умолчанию — это тот самый «Маскарад», он необходим для того, чтобы компьютеры во внутренней сети могли нормально обращаться к серверам в интернете. Нам же нужно ровно наоборот — добавить правило для подключения извне к одной из машин в локальной сети. Например, для эффективной работы торрент-клиента мы хотим сделать доступным порт 51413 на машине с именем nas. Нажимаем синий плюсик 370b55d2c9ca15ef5153581f2af2b9b0.png В появившемся окне нового правила нам нужно всего несколько опций32de918111f7fed3e8183b4b9148286b.png Первое — это Chain (Цепочка). Тут может быть всего два варианта — srcnat и dstnat. Цепочка — это, грубо говоря, направление потока данных. Srcnat — из внутренней сети во внешнюю, dstnat — соответственно, из внешней во внутреннюю. Как легко догадаться, в нашем случае требуется выбрать dstnat. Далее идут Src. Address (исходный адрес) и Dst. Address (адрес назначения). Для подключения извне исходный адрес будет адресом одного из миллиардов компьютеров в интернете, а адрес назначения — всегда внешний адрес роутера. Эти пункты ставить смысла нет. Потом пункт Protocol (протокол). Здесь значение надо выбрать обязательно, иначе мы не сможем указать номер порта. Для торрентов выбираем тут tcp. Src. Port (исходящий порт) — это тот порт, из которого удалённая машина инициирует соединение с нашим роутером. Нам это абсолютно без разницы, тут ничего не ставим.Dst. Port (порт назначения) — а это как раз тот порт, на который мы хотим принимать соединение. В моём торрент-клиенте это 51413. Затем идёт забавный пункт Any. Port (любой порт) — так и есть, это объединение двух предыдущих пунктов, тут можно указать значение, которое будет работать и как исходный порт, так и как порт назначения. В целом, нам это не требуется. Теперь очень важный момент:In. interface (входящий интерфейс) — это, грубо говоря, тот интерфейс, на котором «слушается» указанный порт. Если не указан это параметр, то этот порт перестанет так же быть доступен из внутренней сети, даже несмотря на то, что цепочка у нас dstnat. Поэтому, выбираем тут интерфейс, через который мы подключены к интернету, в нашем случае — ether1-gateway.Out. interface (исходящий интерфейс) — интерфейс, к которому подключена та машина, на которую мы делаем переадресацию. Тут что-либо ставить не имеет смысла. Далее идут узкоспециализированные параметры, я сейчас не буду на них останавливаться. В итоге, получается вот такая картина:9132596e2802a7ecd3a47842f6475f60.png Вкладки Advanced (Продвинутый) и Extra (Дополнительный) содержат различные параметры тонкой настройки, нам они без надобности, идём сразу в Action (Действие)dbb44ce3043db021cfbb195941e52a5a.png Тут из списка Action нужно выбрать конкретное действие, которое следует выполнить с подключением на указанный ранее порт. Выбрать есть из чего:accept — Просто принимает пакет;add-dst-to-address-list — Добавляет адрес назначения в указанный список адресов;add-src-to-address-list — Аналогично предыдущему, но для исходного адреса;dst-nat — Переадресовывает данные, пришедшие из внешней сети, во внутреннюю;jump — Позволяет применить для данных правила из другой цепочки. Например, для цепочки srcnat — применить правила цепочки dstnat;log — Просто добавляет информацию о пакете в лог роутера;masquerade — Тот самый «Маскарад»: подмена внутреннего адреса машины из локальной сети на адрес роутера;netmap — Отображение одного адреса на другой. Фактически, развитие dst-nat;passthrough — Пропуск текущего пункта правил и переход к следующему. Используется в основном для статистики;redirect — Перенаправляет данные на другой порт в пределах роутера;return — Возвращает управление обратно, если в эту цепочку выполнялся прыжок правилом jump;same — применяется в очень редких случаях, когда нужно применять одни и те-же правила для группы адресов;src-nat — Обратная dst-nat операция: перенаправление данных из внутренней сети во внешнюю. Для наших целей подходит dst-nat и netmap. Последнее является более новым и улучшенным вариантом первого, логично использовать его:2e66d41ed2450e40ffd3fa20ba1036d7.png В поле To Addresses нужно указать адрес машины, на которую мы хотим переадресовать порт, в поле To Ports — соответственно, сам порт. Чтобы не заморачиваться, вместо адреса пишу имя комьютера, и указываю порт:264fc3d5aab6c1a767f7659c207e1618.png И нажимаю кнопку Apply, роутер сам находит адрес машины:73ce6d03c95dd19ac4263224cc1acac4.png Напоследок имеет смысл нажать Comment и указать комментарий для правила, чтобы в дальнейшем не приходилось вспоминать, что это за правило и зачем4a2b1a7f1e1bee9a26d7885b1d5e0f8c.png Всё, нажимаем в окошке ввода комментария и ОК в окне ввода правила:6cda81091bcc9f99ad224bd5c5426f8e.png Правило создано, всё работает. Обратите внимание — дополнительно «открывать» порт не требуется! Инструкция актуальна для версий прошивки 5 и 6. До версии 7 вряд-ли что-либо изменится.

Писать ли ещё статьи в таком ключе по настройке Микротиков?

  • 94,3%Да, очень полезный материал
  • 5,7%Нет, абсолютно ненужная статья

Проголосовали 1308 пользователей. Воздержались 88 пользователей.logolantorg.png—> Главная → Статьи → Подключаем и настраиваем оборудование → Проброс портов на MikroTik

Необходимость настройки проброса портов (Port Forwarding) на роутерах MikroTik встречается довольно часто. Но даже для опытного администратора конфигурирование микротиковских маршрутизаторов может показаться сложным, тем более для обычного пользователя. Хотя как раз за широкие функциональные возможности, наряду со стабильностью и надежностью работы, эти устройства и ценятся.

В сегодняшней статье мы постараемся дать как можно более понятную инструкцию по настройке проброса портов на примере роутера MikroTik RB951-2n (изображен на картинке выше).

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

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

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

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

masqarading.jpg

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

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

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

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

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

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

  • Chain — направление потока данных. В списке выбора — srcnat, что означает «изнутри наружу», т. е. из локальной сети во внешний мир, и dstnat — из внешней сети во внутреннюю. Мы выбираем второе, так как будем принимать входящие подключения.
  • Src. Address Dst. Address — внешний адрес, с которого будет инициироваться подключение, и адрес назначения (всегда адрес роутера). Оставляем незаполненным.
  • Protocol — здесь указываем вид протокола для нашего соединения, tcp или udp, заполняем обязательно.
  • Src. Port (исходящий порт) — порт удаленного компьютера, с которого будут отправляться данные, оставляем пустым, если для нас это неважно.
  • Dst. Port (порт назначения) — проставляем номер внешнего порта роутера, на который будут приходить данные от удаленной машины и переадресовываться на наш компьютер во внутренней сети.
  • Any. Port (любой порт) — если мы проставим здесь номер порта, то укажем роутеру, что этот порт будет использоваться и как исходящий, и как входящий (объединяя два предыдущие поля в одном).
  • In. interface (входящий интерфейс) — здесь указываем интерфейс роутера MikroTik, на котором используется, «слушается» этот порт. В нашем случае, так как мы делаем проброс для поступления данных извне, это интерфейс, через который роутер подключен к Интернет, по умолчанию это ether1-gateway. Параметр нужно указать обязательно, иначе порт не будет доступным из локальной сети. Если мы подключены к провайдеру через pppoe, то возможно, потребуется указать его, а не WAN-интерфейс.
  • Out. interface (исходящий интерфейс) — интерфейс подключения компьютера, для которого мы делаем проброс портов.

Настройка вкладки 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 перенаправление).

Для наших настроек подойдут варианты dst-nat и netmap. Выбираем последний, как более новый и улучшенный.

В поле 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 совпадают, то здесь его можно не указывать.

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

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

Если вам необходимо заходить по внешнему IP-адресу и из локальной сети, нужно настроить Hairpin NAT, об этом можно прочитать здесь.

Про проброс портов для FTP-сервера рассказывается здесь.

Lantorg.comОцените, пожалуйста, полезность/интересность статьи. Нам важно ваше мнение! Дата публикации: 03.03.2015 —>

← Краткий обзор последних новинок Настройка VPN через MikroTik — PPtP и PPPoE →

Также советуем почитать:

Многие начинающие микротиководы задают вопрос, как настроить в mikrotik проброс портов или по-другому перенаправление портов. В данной статье детально, на примерах опишу как настраивать это правильно и что делать, куда смотреть если проброс не работает. Для понимая этого материала вам нужны базовые знания работы NAT, строение ip пакета (то, что в нем есть адрес источника и отправителя) и TCP и UDP протоколы. Также потренироваться все это настраивать можно на эмуляторе eve-ng.  Думаю, вы это все знаете, так что давайте начнем.

Если вы хотите углубить свои знания по работе с роутерами MikroTik, то наша команда рекомендует пройти курсы которые сделаны на основе MikroTik Certified Network Associate и расширены автором на основе опыта . Подробно читайте ниже.] Содержание

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

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

1-1.jpg

Стрелочками показано в какой раздел заходить, нажимаем + и создадим новое правило 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. (оставляем пустым)
  • Out. Interface – исходящий интерфейс, тут можно указать тот который смотрит в вашу локальную сеть а можно и ничего не указывать, тогда mikrotik сам выберет его по адресу подсети.
  • In. Interface list – тут указывается интерфейс лист. То есть, если у вас 2 и более каналов в интернет, их можно все объединить в interface list и указать тут. Тогда не надо будет для каждого провайдера делать правило проброса RDP.
  • Out. Interface List – тоже самое что и 10 пункт только исходящий.

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

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

2-1.jpg

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

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

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

Проброс 80 порта на mikrotik

Бывают ситуации, когда у вас в сети есть веб-сервер с каким-либо сайтом работающем на 80 порту, его можно пробросить точно также как было показано для порта RDP 3389 но лучше сделать по другому.

3.jpg

Как видно из скрина выше и ниже, мы делаем dstnat tcp подключений, приходящих на порт 8080 с интерфейса ether1, на ip 192.168.13.100 порт 80.

4-1.jpg

Таким образом можно пробросить 80 порт много раз, только подключаться из вне придется указывая явно порт, например http://2.34.67.8:8080.

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

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

5-1.jpg

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

6-1.jpg

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

Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдете для себя полезную информацию в курсе «Настройка оборудования MikroTik». 162 видеоурока, большая лабораторная работа и 89 вопросов, на каждый из которых вы будете знать ответ. Подробности и доступ к началу курса бесплатно тут.

Используемые источники:

  • https://habr.com/post/182166/
  • https://lantorg.com/article/probros-portov-na-mikrotik
  • https://mikrotiklab.ru/nastrojka/probros-portov-mikrotik.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации