Содержание
- Tutorial
Находя в сети различные инструкции по работе с Mikrotik RouterOS, я обратил внимание, что большинство из них малоинформативны — в лучшем случае они представлены в виде скриншотов Winbox со скудными комментариями, в худшем — просто груда строк для командной строки, из которых что-либо понять вообще нет никакой возможности. Поэтому я решил написать небольшой набор инструкций, в которых буду объяснять, не только ЧТО нужно выполнить, но и ЗАЧЕМ и ПОЧЕМУ. Итак, начнём с самого простого и, в тоже время, нужного — проброс порта из внутренней сети «наружу». Любую сеть можно схематично представить вот в таком виде: Посмотрим немного подробнее, на примере роутера Mikrotik RB951-2n. У него 5 портов, плюс модуль WiFi. Подключаемся через web-интерфейс или Winbox’ом к роутеру(по умолчанию логин admin, без пароля), заходим в список интерфейсов, это второй пункт в меню, Interfaces.
Тут мы видим все интерфейсы, доступные нашему роутеру(интерфейс — это, грубо говоря, канал связи роутера с другим компьютером/компьютерами)
Первым идёт 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 — «Маскарад»: данные от машины в локальной сети как-бы «надевают маску» и для внешнего сервера это выглядит так, будто они исходят от самого роутера. Точно так же, при подключении из внешней сети, нам нужно где-то задать правило, какой именно компьютер в локальной сети должен отвечать на попытки подключиться к какому-то порту на роутере. Поясню на примере:
Мы хотим, чтобы при подключении к нашей сети в лице роутера на порты 110 и 51413 — подключение переадресовывалось на компьютер PC1, а при подключении к порту 3189 — на машину PC2. Для этого и нужен NAT. В Микротике управление NAT’ом находится в разделе IP->Firewall->NAT:
Писать ли ещё статьи в таком ключе по настройке Микротиков?
- 94,3%Да, очень полезный материал
- 5,7%Нет, абсолютно ненужная статья
Проголосовали 1308 пользователей. Воздержались 88 пользователей.—> Главная → Статьи → Подключаем и настраиваем оборудование → Проброс портов на MikroTik
Необходимость настройки проброса портов (Port Forwarding) на роутерах MikroTik встречается довольно часто. Но даже для опытного администратора конфигурирование микротиковских маршрутизаторов может показаться сложным, тем более для обычного пользователя. Хотя как раз за широкие функциональные возможности, наряду со стабильностью и надежностью работы, эти устройства и ценятся.
В сегодняшней статье мы постараемся дать как можно более понятную инструкцию по настройке проброса портов на примере роутера MikroTik RB951-2n (изображен на картинке выше).
Для чего нужен проброс портов?
Для чего вообще вам может понадобиться такая настройка? Чаще всего Port Forwarding используется для:
- организации игрового сервера на домашнем компьютере,
- организации пиринговых (одноранговых) сетей,
- для доступа к IP-камере из интернета,
- корректной работы торрентов,
- работы WEB и FTP-серверов.
Почему возникает необходимость в пробросе портов? Дело в том, что по умолчанию в роутерах работает правило так называемого маскарадинга. IP-адреса компьютеров и других устройств из локальной сети не видны ЗА роутером, во внешней сети. При поступлении пакетов данных из внутренней сети для отправки во внешний мир роутер открывает определенный порт и подменяет внутренний IP устройства на свой внешний адрес — надевает «маску», а при получении ответных данных на этот порт — отправляет их на тот компьютер внутри сети, для которого они предназначаются.
Таким образом, все получатели данных из внешней сети видят в сети только роутер и обращаются к его 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 на сервер или компьютер.
Стрелочками показано в какой раздел заходить, нажимаем + и создадим новое правило 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 на которой мы скажем роутеру что делать с полученным пакетом и куда его отправлять.
Здесь настраиваем так:
- Action – действие которое mikrotik должен произвести, выбираем dst-nat, так как нам надо запрос приходящий на белый ip с портом 3389 перенаправить на адрес из серой сети.
- Галочка Log будет писать все nat трансляции в лог файл – этого делать не стоит.
- Log Prefix – будет добавлять в лог в начало строки произвольные символы которые тут напишете.
- To Addresses – люда вписываем ip сервера (серый) на который нужно настроить перенаправление портов на mikrotik.
- To Ports – ну и TCP порт на который пересылать.
Вот так просто настраивается проброс портов на mikrotik, дальше приведу еще несколько примеров для различных сервисов.
Проброс 80 порта на mikrotik
Бывают ситуации, когда у вас в сети есть веб-сервер с каким-либо сайтом работающем на 80 порту, его можно пробросить точно также как было показано для порта RDP 3389 но лучше сделать по другому.
Как видно из скрина выше и ниже, мы делаем dstnat tcp подключений, приходящих на порт 8080 с интерфейса ether1, на ip 192.168.13.100 порт 80.
Таким образом можно пробросить 80 порт много раз, только подключаться из вне придется указывая явно порт, например http://2.34.67.8:8080.
Открыть порт на микротик
Чтобы открыть порт на mikrotik вам нужно перейти в раздел firewall и там явно создать разрешающие правило для этого порта. Отмечу что если у вас раздел IP-> Firewall->Filter Rules пуст как на картинке ниже, то это значит что все порты у вас открыты по умолчанию, так как нет запрещающих правил. И лучше бы вам его настроить ото будут ломать пока не взломают.
Как настроить Firewall поговорим в одной из следующих статей, а пока идем дальше. Чтобы закрыть или открыть сервисные порты в микротике, такие как доступ по ssh, windox, http или же поменять их на нестандартные, нужно перейти в раздел IP-> Services
Советую вам отключить то, что вы не используете, так как чем больше разрешено, тем больше опасности взлома. Вообще вариаций пробросов портов в 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