В инструкции рассмотрена настройка MikroTik dst-NAT или просто – проброс порта. Популярные синонимы: Port forwarding, Virtual server. В качестве расширенного варианта настройки проброса порта, будут описаны правила Firewall и создание демилитаризованной зоны DMZ.
Что такое порт
Порт это число, которое содержится в заголовке протокола транспортного уровня модели OSI. Он служит идентификатором для процессов отправителя и получателя. Обмен данным между узлами как правило происходит по определенному протоколу и чтобы такое соединение установить, необходимо указать параметры:
- IP адрес(для отправителя и получателя);
- Протокол или его номер;
- Номера портов для отправителя и получателя.
Для чего использовать проброс порта в MikroTik
Стандартные настройки роутера MikroTik предусматривают изоляцию локальной сети(LAN) от внешнего мира(Интернет). Когда на роутер MikroTik поступает исходящий пакет с узла локальной сети, MikroTik открывает определенный порт и передает данные, изменяя при этом локальный IP адрес узла на внешний IP адрес, выданный провайдером. А дальше пакет следует по маршруту до получателя. Ответ от узла получателя, роутер MikroTik перенаправляет узлу, который инициировал данное соединение.
Эта технология имеет название NAT и по умолчанию работает только в одностороннем порядке – роутер MikroTik обработает только те пакеты, соединения для которых были установлены из внутренней сети(LAN). А все остальные пакеты будут отброшены.
Но в этой схеме популярно другое направление, когда в локальной сети(LAN) присутствует узел типа: почтовый сервер, web сайт, VPN сервер к которому необходимо предоставить доступ из вне(сети Интернет) тогда, когда инициатором соединения выступает внешняя сторона. Для этого необходимо настроить проброс порта.
Проброс порта или port forwarding это функция NAT(механизм преобразования IP адресов), при которой, комбинации из внешнего IP адреса и порта, соответствует IP адрес и порт из локальной сети(LAN).
Варианты применения проброса порта
Пробросы портов в роутере MikroTik популярны для:
- Видеонаблюдения;
- Терминального сервера RDP;
- Почтового сервера;
- Web сайта;
- IP телефонии;
- Прочие частные и корпоративные службы, требующие внешнего доступа.
Как работает проброс порта в MikroTik
Пробросить порт – означает зарезервировать определенный номер порта, с целью переадресации данных на локальный узел. Роутер MikroTik не будет отклонять внешние запросы, а создаст условие для их исключения.
Для работы проброса порта в MikroTik достаточно создать правило комбинации:
- Протокол;
- Внешний порт и IP(или интерфейс);
- Внутренний IP и порт.
При поступлении пакета, условия прохождения которого описаны в разделе NAT(dstnat), происходит перенаправление на указанный локальный узел.
Проброс портов(Port Forwarding) в MikroTik
Для полноценной работы проброса портов на маршрутизаторах MikroTik нужно описать правила в двух категориях: настройка NAT(dstnat) и настройку FireWall. Опишем их по порядку:
Проброс портов MikroTik NAT-dstnat
Настройка находится в IP→Firewall→NAT
/ip firewall nat add action=dst-nat chain=dstnat dst-address=10.10.10.52 dst-port=80,443 \ in-interface=ether1 protocol=tcp to-addresses=192.168.0.2
Составляющие части настройки:
dstnat – входящее направление;
Dst. Address – внешний IP адрес роутера MikroTik;
Dst. Port – внешний порт назначения;
In. Interface – интерфейс, к которому подключен входящий кабель с интернетом;
To Addresses – внутренний адрес назначения.
To Port – внутренний порт назначения. Можно не заполнять, если “Dst. Port” = “To Port”
Настройка Firewall для проброса порта в MikroTik
Базовый набор правил Firewall в MikroTik содержит исключение по блокировки пакетов, для правил, которые описаны цепочкой dstnat. Но если Firewall подвергался изменениям и описанное правило по пробросу порта не работает, нужно добавить разрешение.
Настройка находится в IP→Firewall
/ip firewall filter \ add action=accept chain=forward dst-address=10.10.10.52 dst-port=80,443 in-interface=ether-1 protocol=tcp
Другим вариантом настройки Firewall для проброса порта в MikroTik является общее правило Action = Accept для всех портов, запись которых присутствует в разделе NAT(dstnat).
/ip firewall filter add action=accept chain=forward connection-nat-state=dstnat dst-address=\ 10.10.10.52 in-interface-list=WAN
Настройка MikroTik DMZ
DMZ вступит в силу если не заполнить поля Protocol и Dst. port.
/ip firewall nat add action=dst-nat chain=dstnat dst-address=10.10.10.52 \ in-interface=ether-1 to-addresses=192.168.0.2
По аналогии стандартного проброса портов, нужно контролировать настройку в FireWall.
вот по этому многие и не любят оборудование Микротик!
в других роутерах достаточно указать IP клиента и поставить галку, то у Микрота надо через зад всё сочинять!
хотя почти уверен что есть Нормальный способ но ….
никто и не говорит, что микротик для всех)
Пользуйте кинетик. Вам не нужен микрот.
ну что тут сказать…. каждому свое )
Вы тут это , не надо , если хватает 3 кнопок , сидите хоть на tplink
Зачем ты взял себе mikrotik? 🤔 😂 🤦♂️.
Сиди на тплинке.
Микрота для настоящих мужиков!
Вот сколько в сети информации про проброс портов в микротике, везде одно и то же друг у друга копируют – “Dst. Address — внешний IP адрес роутера”. А если этот адрес динамический и меняется каждый раз при подключении к сети? Нигде ни слова об этом.
Достаточно указать внешний интерфейс роутера
Также есть возможность написать скрипт, который будет автоматически подставлять ip-адрес внешнего интерфейса
Вот пример скрипта (достаточно поменять в нем “ether1” на название внешнего интерфейса, если это не ether1 и поставить комментарий на правило, в котором нужно менять ip-адрес:
:local nname pobug;
:log info “start $nname”;
:local newip [/ip address get [/ip address find interface=ether1] address];
:local curip [/ip firewall nat get [/ip firewall nat find comment=$nname] dst-address];
:set newip [:pick $newip 0 ([:len $newip]-3)];
:log info “newip = $newip”;
:log info “currentip = $curip”;
:if ($newip != $curip) do={
:log info “ip $nname is $curip not $newip”;
:log info “curip = $curip”
/ip firewall nat set [/ip firewall nat find comment=$nname] dst-address=$newip;
:log info “end $nname”;
}
ДЕНИС, в Вашей ситуации можно не указывать IP, достаточно Dst. Port + In. Interface -> To Addresses + To Port
Всё заработало с первого раза. Вот только не сразу было понятно, что “Dst. Address – внешний IP адрес роутера MikroTik;” – это IP адрес, который получает роутер от провайдера.
Так как же правильно настроить проброс порта в MikroTik?
Если мне нужно пробросить более 100 портов? Есть решение?
Чтобы пробросить сразу 100 портов укажите их диапазоном, к примеру 20000-20100 в параметре dst-address