Многие начинающие микротиководы задают вопрос, как настроить в mikrotik проброс портов или по-другому перенаправление портов. В данной статье детально, на примерах опишу как настраивать это правильно и что делать, куда смотреть если проброс не работает. Для понимая этого материала вам нужны базовые знания работы NAT, строение ip пакета (то, что в нем есть адрес источника и отправителя) и TCP и UDP протоколы. Также потренироваться все это настраивать можно на эмуляторе eve-ng. Думаю, вы это все знаете, так что давайте начнем.
Если вы хотите углубить свои знания по работе с роутерами MikroTik, то наша команда рекомендует пройти курсы которые сделаны на основе MikroTik Certified Network Associate и расширены автором на основе опыта . Подробно читайте ниже.
- Перенаправление портов Mikrotik
- Проброс 80 порта на mikrotik
- Открыть порт на микротик
- 89 вопросов по настройке MikroTik
- Схема сети
- Базовая настройка Firewall
- Защита локальной сети от атак из сети провайдера
- Блокировка соц сетей на Mikrotik с помощью Address List и Firewall
- Немного о протоколе L2TP
- Конфигурирование
- Создание IP пула
- Создание профиля подключения
- Включение L2TP сервера
- Для чего нужен проброс портов?
- Настройка Port Forwarding в MikroTik
- Настройка вкладки General
- Настройка вкладки Action
- Настройка доступа из локальной сети по внешнему IP-адресу
- Второй способ Hairpin NAT MikroTik
- Настройка сервера FileZilla Server
- Включили FTP в IP — Service
- Настройка проброса портов для FTP сервера
Перенаправление портов 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 на которой мы скажем роутеру что делать с полученным пакетом и куда его отправлять.

Здесь настраиваем так:
- Галочка 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 очень много, все их не опишешь, да и думаю это будет лишнем, главное знать как работает технология, а настройка — это дела практике.
89 вопросов по настройке MikroTik
Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдете для себя полезную информацию в курсе «Настройка оборудования MikroTik». 162 видеоурока, большая лабораторная работа и 89 вопросов, на каждый из которых вы будете знать ответ. Подробности и доступ к началу курса бесплатно тут.

В сегодняшней статье уделим внимание базовой настройке Firewall на Mikrotik, Address List и блокировке соцсетей. Т.к. RouterOS основан на ядре linux, то нам предоставлен практически весь функционал сетевого ядра, да к тому же еще и в графике. Настройка будет продемонстрирована с помощью Winbox.
Firewall – инструмент, благодаря которому мы можем ограничить нежелательный трафик. Под «нежелательный» я имею ввиду тот, который нам не нужен в первую очередь с точки зрения администрирования, а уже потом от зловредный. Для начала нужно рассказать про 3 стандартные цепочки:
- Input – трафик входящий в роутер, т.е. тот, что адресован непосредственно для него. Пример: роутер имеет несколько адресов, согласно схеме сети ниже. Если мы отправим ping запрос на любой из этих них, то ответит нам именно он.
- Output – трафик исходящий от роутера или же создаваемый им. Отвечая на те самый ping запросы.
- Forward – транзитный трафик, тот, что не предназначен для устройства.
Самое главное, есть трафик, который направляется устройству и который устройство пересылает. Существует возможность создавать собственные цепочки правил с отличными именами.
Порядок правил. Следите за ним. В списке у каждого есть свой номер. Соответственно, то правило, что имеет число меньше т.е. стоит выше и будет приоритетным, если, конечно, оно подпадает под условия самого правила.
Схема сети
Наша схема, будет до безобразия проста, но на основе нее будет продемонстрирована защита от атаки внутри сети провайдера и запрета соцсетей.

Итого имеем следующую конфигурацию:
- 168.10.14/24 – адрес роутера в сети провайдера;
- 168.100.2 – провайдер предоставляет доступ в интернет через L2TP, это адрес в туннеле;
- 168.20.1/24 – адрес в локальной сети с DHCP сервером для VPC-1 и VPC-1;
- RouterOS 6.46.
Базовая настройка Firewall
Смотря на схему, следует понять, какой тип трафика нужен в данной сети. Т.к. она простая, то достаточно разрешить входящий трафика управления (Winbox, SSH, WWW) и DNS с локальной сети, т.к. нам не нужно чтобы роутер резолвил имена для товарищей из интернет и не только.
Рекомендую менять стандартные порты управления и отключать не используемые службы, есть большая вероятность, что начнут брутфорсить ваш девайс. Это можно сделать в IP – Services.

Настройка цепочки input. Не стреляем себе в ногу и жмем на Safe Mode прежде, чем что-либо делать!
Из примера выше мы изменили стандартные порты для SSH, Winbox и WWW. Все они работают по TCP. Создадим соответствующие правила в фильтре. IP – Firewall – Filter.


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

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

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

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

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


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

![]()
Настроим правила пересылки. Если у вас нет особенных требования для этого, то будет достаточно двух правил. Разрешим новые, устоявшиеся и зависимые соединения.
Внимание. Будьте осторожны с ним, т.к. на практике могут возникнуть нюансы, если у вас не стандартный setup.


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

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


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

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

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

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

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

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

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


Может возникнуть вопрос, а не грузят ли ЦП эти ваши 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 никого не напугаешь.
Конфигурирование

Используем наш уже знакомый лабораторный стенд с 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.

Переходим на вкладку Protocols, ставим значения:
- Use MPLS – No;
- Use Compressions – Yes;
- Use Encryption – Yes.

Переходим в 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 создаем новое правило.
В General нас интересует:
- Chain – input;
- Protocol – UDP;
- Connection State – New.

На вкладке 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.


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

Необходимость настройки проброса портов (Port Forwarding) на роутерах MikroTik встречается довольно часто. Но даже для опытного администратора конфигурирование микротиковских маршрутизаторов может показаться сложным, тем более для обычного пользователя. Хотя как раз за широкие функциональные возможности, наряду со стабильностью и надежностью работы, эти устройства и ценятся.
В сегодняшней статье мы постараемся дать как можно более понятную инструкцию по настройке проброса портов на примере роутера MikroTik RB951-2n (изображен на картинке выше).
Для чего нужен проброс портов?
Для чего вообще вам может понадобиться такая настройка? Чаще всего Port Forwarding используется для:
- организации игрового сервера на домашнем компьютере,
- организации пиринговых (одноранговых) сетей,
- для доступа к IP-камере из интернета,
- корректной работы торрентов,
- работы WEB и FTP-серверов.


Эта схема имеет одну особенность: роутер принимает только те пакеты данных, которые приходят по соединению, инициированному компьютером из внутренней сети. Если компьютер или сервер из внешней сети пытается установить соединение первым, роутер его сбрасывает. А для указанных выше пунктов (игровой сервер, пиринговые сети и т. п.) такое соединение должно быть разрешено. Вот для этого и применяется проброс портов. Фактически, это команда роутеру зарезервировать один порт и все данные извне, которые на него поступают, передавать на определенный компьютер. Т. е. сделать исключение из маскарадинга, прописав новое правило.
Настройка Port Forwarding в 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 (исходящий интерфейс) — интерфейс подключения компьютера, для которого мы делаем проброс портов.

Настройка вкладки 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 Ports, соответственно, номер порта, к примеру:
- 80/tcp — WEB сервер,
- 22/tcp — SSH,
- 1433/tcp — MS SQL Server,
- 161/udp — snmp,
- 23/tcp — telnet и так далее.
Если значения в поле Dst. Port предыдущей вкладки и в поле To Ports совпадают, то здесь его можно не указывать.

Таким образом, мы создали правило для проброса портов и доступа к внутреннему компьютеру (в локальной сети) из Интернет. Напомним, что его нужно поставить выше стандартных правил маскарадинга, иначе оно не будет работать (Микротик опрашивает правила последовательно).
Про проброс портов для 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:


Но оно не будет срабатывать при обращении из локалки, так как настройки ориентированы на пакеты из внешней сети, через WAN-порт. Поэтому нам нужно прописать дополнительно еще 2 правила.
Настройка доступа из локальной сети по внешнему IP-адресу
1. Создаем правило для перенаправления обращений по внешнему IP из локальной сети.
Chain — dstnat.
Src. Address — пишем здесь локальный адрес компьютера, с которого будем заходить по внешнему IP, или диапазон адресов, если такой доступ нужно предоставить нескольким компьютерам сети.
Dst. Address — указываем внешний адрес компьютера/ сервера и т. п., по которому будет осуществляться доступ из локалки.
Protocol, Dst. Port — здесь прописываем параметры порта и протокола, которые соответствуют нашему соединению (те же, что и в пробросе портов).

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

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

Поэтому нам нужно еще одно правило, которое будет подменять локальный адрес источника при отправке пакета на внешний IP.
На вкладке Action выставляем маскарадинг (masquerade), т. е. подмену адреса источника на локальный адрес маршрутизатора.
На вкладке General прописываем правила, при которых он будет применяться:
Chain — srcnat, т. е. при запросах из локальной сети.
Src. Address — пишем здесь локальный адрес компьютера, или диапазон адресов, с которых будут отправляться пакеты.
Dst. Address — здесь конкретизируем «адрес получателя», т. е. правило будет применяться только для пакетов, адресованных нашему серверу.
Protocol, Dst. Port — здесь прописываем те же параметры порта и протокола.


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

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

Доступ на внешний IP адрес вашего сервера или компьютера с приложением будет открыт как для обращений извне, так и из локальной сети, с любых адресов, но только для пакетов с адресом назначения 1.1.1.1:80.
Теперь добавляете описанное выше правило srcnat, и все. Можно добавить дополнительную фильтрацию, прописав в out-interface тот интерфейс, с которого будут осуществляться отправки пакетов, если есть такая необходимость.
Недостатком Hairpin NAT является только то, что нагрузка на роутер возрастает, ведь те обращения, что раньше проходили через локальную сеть непосредственно между компьютерами, теперь будут идти через маршрутизатор.
Второй способ проще, но, в зависимости от конфигурации вашей сети, может использоваться и первый.
UPD: мы протестировали еще раз изложенные в этой статье способы настройки на примере организации FTP-сервера, а также настройку, предложенную в комментариях. Все они рабочие.

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

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

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

5. Добавили FileZilla Server в исключения брандмауера на компьютере, на котором он установлен.
6. Антивирус также может блокировать запросы на FTP-сервер, но у нас с этим все было в порядке.
Включили FTP в IP — Service
На роутере MikroTik заходим в IP — Service и включаем FTP.

Вообще, по идее, должно было работать и с отключенным FTP, даже более того — в некоторых случаях, по отзывам, этот параметр препятствует корректной работе сервера за MikroTik. Но у нас не работало, поэтому мы включили.
Настройка проброса портов для FTP сервера
Настройка проброса портов детально описана в этой статье, здесь мы на теоретической части подробно останавливаться не будем.
Напомним, что FTP-сервер для работы требует двух типов портов: управляющего, по которому передаются служебные данные, и отдельного диапазона портов для передачи файлов. Поэтому мы создали два правила NAT:
- для управляющего 21-го порта;
- для диапазона портов 50000-50050.
Мы изначально настроили и включили оба правила, но экспериментальным путем выяснили, что все работает и передается и с одним правилом для 21 порта. По крайней мере, в нашей конфигурации.

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

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

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


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

