Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов Хостинг

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

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

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

Filter rules mikrotik для проброса портов

Стрелочками показано в какой раздел заходить, нажимаем + и создадим новое правило 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 на которой мы скажем роутеру что делать с полученным пакетом и куда его отправлять.

Filter rules mikrotik для проброса портов

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

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

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

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

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

Filter rules mikrotik для проброса портов

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

Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов

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

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

Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов

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

89 вопросов по настройке MikroTik

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

Filter rules mikrotik для проброса портов

В сегодняшней статье уделим внимание базовой настройке Firewall на Mikrotik, Address List и блокировке соцсетей. Т.к. RouterOS основан на ядре linux, то нам предоставлен практически весь функционал сетевого ядра, да к тому же еще и в графике. Настройка будет продемонстрирована с помощью Winbox.

Firewall – инструмент, благодаря которому мы можем ограничить нежелательный трафик. Под «нежелательный» я имею ввиду тот, который нам не нужен в первую очередь с точки зрения администрирования, а уже потом от зловредный. Для начала нужно рассказать про 3 стандартные цепочки:

  • Input – трафик входящий в роутер, т.е. тот, что адресован непосредственно для него. Пример: роутер имеет несколько адресов, согласно схеме сети ниже. Если мы отправим ping запрос на любой из этих них, то ответит нам именно он.
  • Output – трафик исходящий от роутера или же создаваемый им. Отвечая на те самый ping запросы.
  • Forward – транзитный трафик, тот, что не предназначен для устройства.

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

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

Схема сети

Наша схема, будет до безобразия проста, но на основе нее будет продемонстрирована защита от атаки внутри сети провайдера и запрета соцсетей.

Filter rules mikrotik для проброса портов

Итого имеем следующую конфигурацию:

  • 168.10.14/24 – адрес роутера в сети провайдера;
  • 168.100.2 – провайдер предоставляет доступ в интернет через L2TP, это адрес в туннеле;
  • 168.20.1/24 – адрес в локальной сети с DHCP сервером для VPC-1 и VPC-1;
  • RouterOS 6.46.
Читайте также:  Как сделать свое радио в интернете | Радиоприёмники | Блог | Клуб DNS

Базовая настройка Firewall

Смотря на схему, следует понять, какой тип трафика нужен в данной сети. Т.к. она простая, то достаточно разрешить входящий трафика управления (Winbox, SSH, WWW) и DNS с локальной сети, т.к. нам не нужно чтобы роутер резолвил имена для товарищей из интернет и не только.

Рекомендую менять стандартные порты управления и отключать не используемые службы, есть большая вероятность, что начнут брутфорсить ваш девайс. Это можно сделать в IP – Services.

Filter rules mikrotik для проброса портов

Настройка цепочки input. Не стреляем себе в ногу и жмем на Safe Mode прежде, чем что-либо делать!

Из примера выше мы изменили стандартные порты для SSH, Winbox и WWW. Все они работают по TCP. Создадим соответствующие правила в фильтре. IP – Firewall – Filter.

Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов

Интерпретируем правило: если есть новое соединение с любого адреса на роутер по протоколу TCP на порт 2222 или 58291 — разрешить. Обязательно комментируем правило в списке правил.Почему именно новое соединение? Ответ узнаем дальше.

Filter rules mikrotik для проброса портов

Далее разрешим input на 80 порт с ЛВС.

Filter rules mikrotik для проброса портов

Если новое соединение с 192.168.20.0/24 по TCP на 80 порт – разрешить.Далее нужно разрешить DNS. Он может работать как по TCP, так и по UDP, наш случай это UDP, т.к. запросы на разрешение имен идут именно по UDP.

Filter rules mikrotik для проброса портов

Обратите внимание, что мы разрешаем весь трафик по UDP:53 с 192.168.20.0/24, это связанно с тем, что данный протокол не поддерживает установку соединения и подтверждение получения каждого пакета, поэтому ставить Connection State – New бессмысленно.Создаем следующее правило.

Filter rules mikrotik для проброса портов

Любое связанное и установившееся входящее соединение разрешить. Дело все в том, что Mikrotik понимает все входящие, исходящие и транзитные соединения. Т.к. мы хотим оптимизировать нагрузку на устройство, то создаем данное правило, иначе ранее созданные правила будут работать только на новые соединения, но не на устоявшиеся или связанные. В итоге первый пакет прилетит, а остальные нет. Это справедливо только для TCP. Собственно, это и ответ на предыдущий вопрос.Следующим правилом мы запретим абсолютно весь input, будьте осторожны и следите за Safe Mode.

Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов

Попробуем подключиться к устройству по нестандартным портам Winbox не отпуская Safe Mode.

Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов

Настроим правила пересылки. Если у вас нет особенных требования для этого, то будет достаточно двух правил. Разрешим новые, устоявшиеся и зависимые соединения.

Внимание. Будьте осторожны с ним, т.к. на практике могут возникнуть нюансы, если у вас не стандартный setup.

Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов

Давайте взглянем на список созданных правил.

Filter rules mikrotik для проброса портов

Защита локальной сети от атак из сети провайдера

Все бы хорошо, есть одно, но. Прописав маршрут в нашу сеть из серой сети провайдера, наш девайс начнет пересылку трафика. Конечно, устройства не смогут отправить обратно ответы, но принимать данные будут. Создадим соответствующее правило.

Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов

Поместим его выше разрешающего правила пересылки.

Filter rules mikrotik для проброса портов

Блокировка соц сетей на Mikrotik с помощью Address List и Firewall

RouterOS есть функционал Address List. Он может содержать подсеть, конкретный адрес или доменное имя. Ниже я покажу как заблокировать vk.com. Есть условие, заблокировать доступ с 192.168.20.254 и 192.168.20.253. Открываем IP – Firewall – Address List. Создадим новые листы.Первый лист, будет содержать ip, с которых запрещено ходить на vk.com.

Filter rules mikrotik для проброса портов

Вторым, vk.com. Задаем доменные имена.

Filter rules mikrotik для проброса портов

После создания, роутер отрезолвит имя на тех серверах, что указаны в DNS и добавит в адрес лист. Далее простым правилом цепочки forward запрещаем пересылку из одного листа в другой. Чтобы пользователь не ждал долго, а получал отбойник что соединение разорвано укажем некоторые уточнения. Если новый транзитный TCP.

Filter rules mikrotik для проброса портов

И пересылка происходит из одного листа в другой.

Filter rules mikrotik для проброса портов

То говорим, что соединение было сброшено.

Filter rules mikrotik для проброса портов

Не забываем поместить его выше разрешающего правила пересылки.

Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов

Может возникнуть вопрос, а не грузят ли ЦП эти ваши Address List? Ответ – Нет! Они работают аппаратно на специальных чипах (асиках), и тысячи листов с тысячами IP не будут грузить ЦП и устройство в целом.На этом все, желаю удачи!

Добрый день коллеги. Сегодня я покажу на деле как настроить L2TP Server на оборудовании Mikrotik. Конфигурация будет простая, без наворотов типа IPSEC. Но не стоит этим пренебрегать, т.к. стандартное шифрование весьма слабое и строить линки site-to-site без IPSEC я бы не рекомендовал.

Немного о протоколе L2TP

L2TP – протокол туннелирования второго уровня. Используется для поддержки виртуальных частных сетей. Отличительной особенностью, является, возможность работы не только в IP сетях, но и в ATM, X.25 и Frame Relay. Клиент-серверный протокол, всегда есть клиент и сервер. Использует на транспортном уровне UDP порт 1701 – большой плюс для трафика, которому не нужно подтверждение каждого пакета (IP телефония, видеонаблюдение), а значит работает быстрее. Но и в этом его минус, шифрование пакетов алгоритмом MPPE 128bit RC4 никого не напугаешь.

Конфигурирование

Filter rules mikrotik для проброса портов

Используем наш уже знакомый лабораторный стенд с Mikrotik CHR версии 6.46.2 на борту. Мы находимся справа внизу в офисе SPB (Office-SPB).

  • Office-SPB клиент;
  • Office-Moscow сервер;
  • NetworkCore выполняет роль провайдера, он будет заниматься обычной маршрутизацией;
  • Office-Moscow ether1 смотрит в интернет 172.16.10.2/24;
  • Office-SPB ether1 смотрит в интернет 172.16.11.2/24;
  • Office-Moscow имеет bridge “General-Bridge” в локальной сети 192.168.11.1/24;
  • Office-SPB имеет bridge “General-Bridge” в локальной сети 192.168.10.1/24;
  • IP ПК в локальной сети Office-Moscow 192.168.11.2;
  • IP ПК в локальной сети Office-SPB 192.168.10.2;
  • Адресация в VPN сети 172.16.25.0/24.

Создание IP пула

На оборудовании Mikrotik есть нюанс с клиент серверными протоколами VPN – соединение не установится до тех пор, пока мы не назначим IP адреса с обоих сторон. Поэтому создадим пул для VPN клиентов. Подключаемся к московскому роутеру и открываем IP-Pool.

Добавляем пул, задаем имя и адреса.

Next Pool указывать не будем. Так же отмечу, что используем мы в VPN /32 маску подсети.

CLI: /ip pool add name=L2TP-Clients ranges=172.16.25.2-172.16.25.10

Создание профиля подключения

Переходим к созданию профиля L2TP для нашего сервера. Создаем его в PPP – Profiles.

Создаем профайл. Указываем:

  • Имя профиля;
  • Local Address – следует указать статический адрес внутри VPN, в нашем случае 172.16.25.1;
  • Remote Address – созданный на предыдущем шаге пул из выпадающего списка;
  • Change TCP MSS – No;
  • Use UPnP – No.

Filter rules mikrotik для проброса портов

Переходим на вкладку Protocols, ставим значения:

  • Use MPLS – No;
  • Use Compressions – Yes;
  • Use Encryption – Yes.

Filter rules mikrotik для проброса портов

Переходим в Limits, выставляем значение Only One в No.

Сохраняем и смотрим на результат.

CLI: /ppp profile add change-tcp-mss=no local-address=172.16.25.1 name=L2TP-Server-General only-one=no remote-address=L2TP-Clients use-compression=yes use-encryption=yes use-mpls=no use-upnp=no

Включение L2TP сервера

Будем ориентироваться на повышение безопасности аутентификации и отключим старые протоколы. Если у вас есть устройства не поддерживающие современные протоколы аутентификации, то не забудьте включить их обратно. Переходим в PPP – Interface – L2TP Server.

Выставляем следующее параметры:

  • Enable – ставим галочку;
  • Default Profile – L2TP-Server-General;
  • mschapv1, chap, pap – снимаем галочки;
  • Use IPsec – ничего не ставим, т.к. мы не будем использовать IPSEC.

Сохраняем и переходим далее.

CLI: /interface l2tp-server server set authentication=mschap2 default-profile=L2TP-Server-General enabled=yes

Необходимо создать разрешающее правило входящего трафика L2TP на нашем mikrotik в firewall для UDP порта 1701. Приступим к реализации. IP – Firewall – Filter создаем новое правило.

Читайте также:  Демистификация TSSS: понимание основ и преимуществ

В General нас интересует:

  • Chain – input;
  • Protocol – UDP;
  • Connection State – New.

Filter rules mikrotik для проброса портов

На вкладке Action нас интересует accept.

/ip firewall filter

add action=accept chain=input connection-state=new dst-port=1701 protocol=udp

add action=accept chain=input connection-state=established,related

На самом деле, данное правило будет работать только для новых пакетов пришедших на роутер, для остальных пакетов – нет, а значит сессия не оживет. Чтобы сессии жили и им было хорошо нужно еще одно правило, которое разрешает все устоявшиеся входящие соединения. Создаем еще одно правило.

  • Chain – input;
  • Connection State – established, related;
  • Action – accept.

Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов

На этом, пожалуй, все. Настройка сервера L2TP завершена.

Несколько слов про блокировку L2TP – из практики, есть такие товарищи — провайдеры, которые блокируют L2TP. Допустим Билайн в некоторых регионах уже начал блокировать весь L2TP без IPSEC. Обращайте на это внимание, если вы сделали все правильно, но соединение не проходит, значит дело в провайдере.

Далее мы рассмотрим настройку L2TP-клиента и конечно же всеми любимый IPSEC.

Filter rules mikrotik для проброса портов

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

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

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

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

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

Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов

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

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

Filter rules mikrotik для проброса портов

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

Filter rules mikrotik для проброса портов

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

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

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

Filter rules mikrotik для проброса портов

Настройка вкладки 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. Выбираем последний, как более новый и улучшенный.

Filter rules mikrotik для проброса портов

В поле To Ports, соответственно, номер порта, к примеру:

  • 80/tcp — WEB сервер,
  • 22/tcp — SSH,
  • 1433/tcp — MS SQL Server,
  • 161/udp — snmp,
  • 23/tcp — telnet и так далее.

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

Filter rules mikrotik для проброса портов

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

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

Вам может быть интересно

  • Что такое MikroTik RouterBOARD?
  • Настройка MikroTik для соединения точка-точка
  • Настройка гостевого доступа и WLAN в сети UniFi
  • Настройка VPN через MikroTik — PPtP и PPPoE
  • Настройка VPN через MikroTik — OpenVPN
  • Настройка CAPsMAN на MikroTik (бесшовный роуминг)
  • Как мы настраивали FTP сервер на MikroTik
  • Сброс настроек Mikrotik

Допустим у нас есть:

  • Роутер с внешним IP (WAN IP) 1.1.1.1.
  • Компьютер с локальным адресом 192.168.88.229, и запущенным на нем сервером, приложением и т. д. для доступа из внешней сети. В нашем случае для соединения используется порт 8080.
  • Компьютер в локальной сети с адресом 192.168.88.110.

У нас уже есть настроенное правило проброса порта 8080:

Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов

Но оно не будет срабатывать при обращении из локалки, так как настройки ориентированы на пакеты из внешней сети, через WAN-порт. Поэтому нам нужно прописать дополнительно еще 2 правила.

Настройка доступа из локальной сети по внешнему IP-адресу

1. Создаем правило для перенаправления обращений по внешнему IP из локальной сети.

Читайте также:  Обзор CMS WordPress (Вордпресс) 5.7.2: возможности движка, плюсы и минусы, отзывы пользователей

Chain  — dstnat.

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

Dst. Address — указываем внешний адрес компьютера/ сервера и т. п., по которому будет осуществляться доступ из локалки.

Protocol,  Dst. Port — здесь прописываем параметры порта и протокола, которые соответствуют нашему соединению (те же, что и в пробросе портов).

Filter rules mikrotik для проброса портов

To Ports — порт тот же самый, что на предыдущей вкладке, поэтому здесь можно ничего не указывать.

Filter rules mikrotik для проброса портов

Но при попытке какого-то взаимодействия с ним ничего не получится. Почему? Посмотрим, что происходит.

  • Наш компьютер (192.168.88.110) посылает пакет на внешний адрес сервера, который является и адресом роутера, соответственно — 1.1.1.1.
  • Роутер добросовестно перенаправляет его по нашему правилу dst-nat на компьютер с адресом 192.168.88.229.
  • Получатель же (192.168.88.10) отправляя данные по внешнему IP, и ответ также ожидает от внешнего IP. Получив пакет от локального 192.168.88.229, он его просто сбрасывает, как ненужный.

Filter rules mikrotik для проброса портов

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

На вкладке Action выставляем маскарадинг (masquerade), т. е. подмену адреса источника на локальный адрес маршрутизатора.

На вкладке General прописываем правила, при которых он будет применяться:

Chain  — srcnat, т. е. при запросах из локальной сети.

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

Dst. Address — здесь конкретизируем «адрес получателя», т. е. правило будет применяться только для пакетов, адресованных нашему серверу.

Protocol,  Dst. Port — здесь прописываем те же параметры порта и протокола.

Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов

Теперь, получив пакет из локальной сети, адресованный на внешний IP 1.1.1.1, маршрутизатор не только перенаправит его на 192.168.88.229 (по первому правилу), но и заменит в пакете адрес источника (192.168.88.110) на свой локальный адрес.

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

Filter rules mikrotik для проброса портов

Второй способ Hairpin NAT MikroTik

Можно сделать еще проще, заменив правило проброса портов первым правилом Hairpin NAT. В этом случае в настройках не нужно указывать In. Interface и Src Address, но нужно прописать адрес назначения.

Filter rules mikrotik для проброса портов

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

Теперь добавляете описанное выше правило srcnat, и все. Можно добавить дополнительную фильтрацию, прописав в out-interface тот интерфейс, с которого будут осуществляться отправки пакетов, если есть такая необходимость.

Недостатком Hairpin NAT является только то, что нагрузка на роутер возрастает, ведь те обращения, что раньше проходили через локальную сеть непосредственно между компьютерами, теперь будут идти через маршрутизатор.

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

UPD: мы протестировали еще раз изложенные в этой статье способы настройки на примере организации FTP-сервера, а также настройку, предложенную в комментариях. Все они рабочие.

Filter rules mikrotik для проброса портов

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

Схема нашей сети:

  • Роутер MikroTik RB951G-2HnD с внешним статическим IP, скажем, 1.1.1.28 и локальной сеткой за ним.
  • Компьютер, на котором подняли FileZilla Server, с локальным адресом 192.168.88.10.
  • В настройках FileZilla: управляющий порт FTP-сервера — 21, пассивный режим FTP (мы решили использовать его как более простой в настройке и безопасный) с диапазоном портов для передачи данных — 50000-50050.

Настройка сервера FileZilla Server

На установке программы подробно останавливаться не будем — в сети довольно много пошаговых инструкций. Установка никаких проблем не вызвала.

1. Заходим в раздел настроек (Setting). В общих настройках (General Settings) нужно прописать основной (управляющий) порт FTP, мы оставили тот, что по умолчанию — 21. Увеличили таймаут соединения до 600 сек, остальные настройки не меняли.

Filter rules mikrotik для проброса портов

2. На вкладке Passive Mode Settings (настройки пассивного режима FTP-сервера) указали диапазон портов для передачи данных. Он может быть произвольным, с учетом, конечно, тех портов, что вы уже используете в работе. В документации FileZilla Server не рекомендовалось использовать порты ниже 1024.

Остальные настройки оставили по умолчанию.

Filter rules mikrotik для проброса портов

Сразу отметим, что разрешения действий с папками и файлами могут оказаться важными. К примеру, нам понадобилось сохранять данные на FTP-сервер из программы колл-трекинга ACR. Однако программа постоянно сбрасывала соединение, как оказалось впоследствии — по причине отсутствия разрешения на создание папки в каталоге сервера.

Filter rules mikrotik для проброса портов

5. Добавили FileZilla Server в исключения брандмауера на компьютере, на котором он установлен.

6. Антивирус также может блокировать запросы на FTP-сервер, но у нас с этим все было в порядке.

Включили FTP в IP — Service

На роутере MikroTik заходим в IP — Service и включаем FTP.

Filter rules mikrotik для проброса портов

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

Настройка проброса портов для FTP сервера

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

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

  • для управляющего 21-го порта;
  • для диапазона портов 50000-50050.

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

Filter rules mikrotik для проброса портов

1-е правило — для управляющего порта

На первой вкладке General — прописываем признаки пакетов, которые должны обрабатываться правилом проброса порта.

  • Chain = dstnat (т. е. для пакетов, направленных во внутреннюю сеть).
  • Dst. Address = 1.1.1.28 (адрес назначения, который прописан в пакете, у нас пакеты будут адресованы на внешний адрес роутера, поэтому пишем здесь его).
  • Dst. Port = 21.
  • In. Interface = ether1.

Filter rules mikrotik для проброса портов

На вкладке Action — действие, которые выполняется, если пакет им соответствует. В данном случае мы прописываем замену адреса назначения в пакете (dst-nat) и указываем, на какой адрес и порт его заменить  — на внутренний адрес компьютера с FTP-сервером (192.168.88.10), порт 21.

Filter rules mikrotik для проброса портов

2-е правило — проброс диапазона портов для данных

Полностью аналогично прописываем правило переброса портов для диапазона портов данных:

Filter rules mikrotik для проброса портов

Filter rules mikrotik для проброса портов

Поднимаем эти правила выше дефолтного правила маскарадинга.

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

Проверили: доступ к FTP серверу работает и с удаленного компьютера, расположенного в сети другого провайдера, и со смартфонов, использующих 3G.

Оцените статью
Хостинги