Продолжение предыдущих статей по организации единой локальной сети.
Содержание:
Создание домашней сети на базе устройств MikroTik: Часть 1
Создание домашней сети на базе устройств MikroTik: Часть 2 — Настройка hAP ac
Создание домашней сети на базе устройств MikroTik: Часть 3 — Настройка RB750gr3 hEX
Создание домашней сети на базе устройств MikroTik: Часть 4 — Создание OpenVPN туннеля
Создание домашней сети на базе устройств MikroTik: Часть 5 — Создание EoIP туннеля
Создание домашней сети на базе устройств MikroTik: Часть 6 — Firewall защита доступа
Создание домашней сети на базе устройств MikroTik: Часть 7 — Firewall правильное перенаправление портов в сети с двумя шлюзами (Вы тут)
Создание домашней сети на базе устройств MikroTik: Часть 8 — Установка и настройка MikroTik DUDE Network Monitor
В прошлой части, мы с Вами, настроили фильтрацию трафика в (Firewall Filter).
Напомню, что у меня в сети присутствует роутер Asus RT-AC66U, работающий как точка доступа для Wi-Fi клиентов. Он подключен кабелем к роутеру hEX (RB750Gr3)
Конечно, мне необходимо иметь к нему удаленный доступ, также, как и к другим ресурсам локальной сети. Например чтобы перезагрузить, прошить и др. мало ли что.
Плюсом у меня к LG 3D Smart TV, подключена маленькая клиентская точка доступа cAP Lite. Т.к. на телеке решили сэкономить брали его без встроенного Wi-Fi модуля.(Серия оснащалась довольно дорогими фирменными USB2.0 Wi-Fi модулями, зачем переплачивать)
Это именно тот телевизор, на котором домашние любят смотреть фильмы с ПК по сети. Благо на него без проблем можно отправить видео из того же Проигрывателя Windows Media. Но все затевалось для использования через медиа сервер Plex. Будет отдельная статья по сборке и настройке этого сервера, а пока вернемся к нашей теме…
Для начала давайте вспомним(или узнаем), как происходит обычное перенаправление портов в MikroTik RouterOS
Пока я писал статьи, обновилась ветка прошивок Bugfix. Теперь у меня на девайсах стоит прошивка 6.40.6
1. Перенаправление портов в hAP ac (RB962UiGS-5HacT2HnT)
Давайте взглянем на простую схему перенаправления порта. Например у меня дома на виртуальной машине крутиться сервер Plex. Все его настройки я произвожу через консоль, подключаясь к нему по протоколу SSH(для тех кто не знает, что это Secure SHell)
Предположим, что данный сервер имеет внутрисетевой IP адрес: 192.168.88.9
Стандартный порт для доступа по SSH это TCP порт под номером 22. Если кто-то не знает что такое TCP или UDP порты, Вы можете погуглить т.к. без этих знаний Вам будет не очень понятно ))
Мне нужно подключиться откуда-нибудь с ноутбука с интернетом. И тут мы вспоминаем про статический IP адрес.
А теперь подключимся… например с дачи(сидим через 4G), схема изменится.
В принципе ничего сложного, нужно научить роутер перенаправлять через себя запросы к нашему серверу.
Для обучения роутера этому колдовству =) необходимо дунуть, если не дунуть, чуда не произойдет открыть всеми нами любимый WinBox(или консоль), перейти в меню IP -> Firewall вкладка NAT
И добавить новое правило:
Консольно:
/ip firewall nat
add action=dst-nat chain=dstnat comment="Open ports to Media Server" dst-port=10022 in-interface=WAN protocol=tcp to-addresses=192.168.88.9 to-ports=22
А теперь разберем по порядку, что мы сделали:
Вкладка General
1. Chain — dstnat — выбираем цепочку
2. Protocol — TCP — выбираем протокол сетевого уровня
3. Dst. Port — 10022 — задаем TCP порт, к которому будем обращаться снаружи. Этот порт я выбрал сам. Вы же можете выбрать любой другой, по своему желанию.
4. In. Interface — WAN — Выбираем входящий интерфейс через который будут приходить запросы.
Вкладка Action
1. Action — dst-nat — выбираем действие перенаправления
2. To Addresses — 192.168.88.9 — задаем локальный IP адрес на который будут отправляться внешние запросы. Адресов может быть несколько.
3. To Ports — 22 — задаем TCP порт к которому нужно обратиться. Также может быть несколько.
Т.е. внешний TCP или UDP порт, к которому мы обращаемся не обязательно должен быть идентичен локальному, к которому мы хотим достучаться.
Это поможет также и с безопасностью. Боты будут атаковать стандартные порты, а у нас они закрыты и доступ к ним идет совсем не по стандартным портам, назначение которых, известно только нам самим!!!
Не забудьте открыть доступ к внешнему порту в Firewall Filter и поместить правило выше последнего запрещающего, иначе фильтрация соединений заблокирует все ваши попытки подключения.
Либо также перенаправить любой другой порт на локальный адрес самого роутера 192.168.88.1 на порт 8291
Будьте аккуратней с портом 80 т.к. это стандартный WEB порт. На нем может работать WEB интерфейс роутера. Также он подвержен атакам ботов.
Вроде бы все хорошо, мы легко получаем доступ к нашему роутеру, нашему серверу для настройки и контроля работы.
Теперь мы хотим получить доступ к устройствам, которые находятся за нашим OpenVPN. В принципе все также должно работать хорошо, ведь у нас единая локальная сеть. Но не тут-то было.
Дело было не в бабине =)
Мне пришлось подумать прежде чем, я понял, почему не работает простое перенаправление… И правильно, что не работало.
2. Перенаправление портов до hEX (RB750Gr3)
А вот тут мы сталкиваемся с подводными камнями, которые по ходу разбора оказываются вполне логичными.
Давайте взглянем на схему:
Судя по данной схеме, удаленный доступ к роутеру hEX и всем, что находится за ним, мы будем осуществлять через роутер hAP ac, у которого есть статический IP.
Смотрим…
А вот и проблема!
Она кроется в том, что у клиентских устройств, DHCP сервером, назначаются различные шлюзы, а именно:
1. В hAP ac это шлюз 192.168.88.1
2. В hEX это шлюз 192.168.88.2
Все правильно, отсюда устройство получив запрос по локальной сети, с внешнего адреса, стремиться отправить ответ через шлюз.
В части Медиа сервера он отправляет запросы правильно, через роутер с локальным адресом 192.168.88.1, а точка доступа неправильно для удаленного доступа, но правильно для выхода в интернет, через роутер с локальным адресом 192.168.88.2.
Что же делать в этом случае, неужели нужно менять адреса шлюзов на тех устройствах за роутером, к которым мы хотим достучаться?
Нет, нет и еще раз нет.
Это создаст большие проблемы. Во первых нагрузит OpenVPN канал, во вторых если отвалится туннель, то устройства потеряют доступ к интернету.
Выход есть и он изящен =)
Вы ведь помните маскарадинг? Да да, когда наши соединения прикрываются роутером. А почему бы не сделать это в обратную сторону, но не для всего трафика, а только для конкретных запросов?
Сказано сделано.
Если мы работаем в рамках локальной сети т.е. пробуем подключиться с адреса 192.168.88.5 к адресу 192.168.88.30 все работает отлично. Этим и воспользуемся.
А когда мы работаем из интернета, к адресу 192.168.88.30 будет приходить запрос с адреса любого, который мы получили от провайдера в месте, где мы сидим, например 4G сеть.
Нужно заменить этот динамический IP в соединении, на IP роутера 192.168.88.1 и сделать это только для запросов идущих к IP адресу 192.168.88.30
Добавляем правило доступа к WEB интерфейсу точки доступа Asus
Теперь отловим это перенаправление и поменяем в нем IP.
ВНИМАНИЕ!!! Нам нужно создать правило именно для уже перенаправленного соединения!
Консольно:
/ip firewall nat
add action=dst-nat chain=dstnat comment="Open ports to RT-AC66U" dst-port=14080 in-interface=WAN protocol=tcp to-addresses=192.168.88.30 to-ports=80
add action=src-nat chain=srcnat dst-address=192.168.88.30 dst-port=80 protocol=tcp to-addresses=192.168.88.1
Что же мы тут видим, посмотрим…
Сначала мы перенаправили порт для удаленного доступа к точке доступа Asus.
Через IP 98.76.54.32 и TCP порт 14080 к IP 192.168.88.30 и TCP порт 80
А потом отловили этот запрос и замаскировали в нем IP адрес источника с которого мы сидим на IP адрес самого роутера 192.168.88.1
Вкладка General
1. Chain — srcnat — цепочка srcnat
2. Dst. Address — 192.168.88.30 — мы же сами задавали перенаправление на этот адрес вот и ловим этот запрос
3. Dst. Port — 80 — ловим запрос на этот порт или порты (например если ловить потом еще и SSH, то пишем так 80,22)
Вкладка Action
1. Action — src-nat — выполняемое действие. Замена данных источника
2. To Addresses — 192.168.88.1 — на этот адрес меняем
3. To Ports — оставляем пустым т.к. порты мы указываем на вкладке General
Попробуем подключиться к роутеру откуда-нибудь из кафе или из гостей.
Для этого в браузере в адресной строке нужно набрать Наш внешний статический IP адрес и через двоеточие указать внешний TCP порт, через который мы делаем перенаправление.
Пример:
http://98.76.54.32:14080
Вот такая хитрая схема, которая позволяет не городить огород на удаленных узлах.
Все правила перенаправления добавляются и управляются исключительно на роутере со статическим IP.
Вкладка NAT в Firewall это очень мощный инструмент наравне с фильтрацией трафика.
Дополнительная информация: WIKI MikroTik Firewall NAT (Eng)
Такой набор правил в NAT, есть у меня:
Попадаем в меню
/ip firewall nat
1. Маскируем локальные сети для выхода в интернет
add action=masquerade chain=srcnat comment="LAN to WAN" out-interface=WAN src-address=192.168.88.0/24
2. Доступ к Медиа Серверу и открытие порта для Торрента на нем же.
add action=dst-nat chain=dstnat comment="Open ports to Media Server" dst-port=10022 in-interface=WAN protocol=tcp to-addresses=192.168.88.9 to-ports=22
add action=dst-nat chain=dstnat dst-port=10080 in-interface=WAN protocol=tcp to-addresses=192.168.88.9 to-ports=80
add action=dst-nat chain=dstnat dst-port=10005 in-interface=WAN protocol=tcp to-addresses=192.168.88.9 to-ports=10005
3. Доступ к WEB интерфейсу Cisco SPA112 (Телефонный шлюз)
add action=dst-nat chain=dstnat comment="Open port to Cisco SPA112" dst-port=11080 in-interface=WAN protocol=tcp to-addresses=192.168.88.10 to-ports=80
Все остальное это сторона роутера hEX, тут нужно применить SRCNAT
4. Доступ к роутеру hEX по WinBox
add action=dst-nat chain=dstnat comment="Open port to hEX" dst-port=12291 in-interface=WAN protocol=tcp to-addresses=192.168.88.2 to-ports=8291
add action=src-nat chain=srcnat dst-address=192.168.88.2 dst-port=8291 protocol=tcp to-addresses=192.168.88.1
5. Доступ к сетевому мосту cAP Lite
add action=dst-nat chain=dstnat comment="Open port to cAP Lite" dst-port=13291 in-interface=WAN protocol=tcp to-addresses=192.168.88.39 to-ports=8291
add action=src-nat chain=srcnat dst-address=192.168.88.39 dst-port=8291 protocol=tcp to-addresses=192.168.88.1
6. Доступ к точке доступа Asus RT-AC66U (WEB и SSH)
add action=dst-nat chain=dstnat comment="Open ports to RT-AC66U" dst-port=14080 in-interface=WAN protocol=tcp to-addresses=192.168.88.30 to-ports=80
add action=dst-nat chain=dstnat dst-port=14022 in-interface=WAN protocol=tcp to-addresses=192.168.88.30 to-ports=22
add action=src-nat chain=srcnat dst-address=192.168.88.30 dst-port=80,22 protocol=tcp to-addresses=192.168.88.1
Вы можете поменять внешние порты на свои, попробовать добавить что-то свое.
Надеюсь данная статья была Вам полезна и Вы узнали для себя что-то новое.
Если у Вас есть, что рассказать, по данной тематике, или чем поделиться, милости прошу в комментарии. Буду рад почитать и ответить на Ваши вопросы!
Продолжение:
Создание домашней сети на базе устройств MikroTik: Часть 8 — Установка и настройка MikroTik DUDE Network Monitor
Список всех статей в хронологическом порядке: История статей
Добрый день.
Есть два микрота, первый с выходом в инет но блокированными почтовыми портами на отправку, второй в на vps хостинге. построил тоннель ipsec между этими миротами, на первом исключил потовые порты из NAT , и правилами ipsec зарулил их на второй микрот , на втором настроил три правила воспользовался Вашим «изящным» способом, все заработало.
Но есть одна загвоздка, почтовый сервер считает что вся почта приходит с ip второго микротика, и вот это я никак не могу побороть
1 chain=dstnat action=dst-nat to-addresses=192.168.1.22 protocol=tcp dst-address=77.77.77.77 dst-port=25,465,587 log=yes log-prefix=»mailin_»
2 chain=srcnat action=src-nat to-addresses=77.77.77.77 protocol=tcp dst-address=192.168.1.22 dst-port=25,465,587 log=yes log-prefix=»mailn_»
3 chain=srcnat action=src-nat to-addresses=77.77.77.77 protocol=tcp src-address=192.168.1.22 dst-port=25,465,587 log=yes log-prefix=»mailout_»
p/s. без правила 2 src-nat , соединение остается в состоянии syn sent
Как у вас в двух сетях объединённых одним openVPN одинаковая адресация сети?
В этом помог EoIP туннель
Создание домашней сети на базе устройств MikroTik: Часть 5 — Создание EoIP туннеля
Добрый день. Есть офис с VPN сервером, сейчас ставлю Микротик с белым IP адресом, филиалы будут подключаться к Микроту, и микрот пробрасывает порты на VPN сервер. Прописываю правила проброса для порта PPTP 1723, 47, и разрешаю протокол gre, у меня это выглядит вот так:
add action=dst-nat chain=dstnat comment=PPTP dst-address=10,0,0,1 dst-address-list=»» dst-port=1723 protocol=tcp src-address-list=»1,1,1,1 » src-port=»» to-addresses=192.168.3.6 to-ports=1723
add action=dst-nat chain=dstnat comment=PPTP dst-address=10,0,0,1 dst-address-list=»» dst-port=1723 protocol=tcp src-address-list=»1,1,1,1 » src-port=»» to-addresses=192.168.3.6 to-ports=1723
add action=dst-nat chain=dstnat comment=PPTP dst-address=10,0,0,1 dst-address-list=»» dst-port=1723 protocol=tcp src-address-list=»1,1,1,1 » src-port=»» to-addresses=192.168.3.6 to-ports=47
ну и accept 47(GRE)
что то надо ещё добавить, или этого хватит для работы?
Спасибо тебе, добрый человек! Дай бог тебе здоровья крепкого, жену красавицу и детишек послушных!!!
Сколько я дрюкался, думал маршрутизация кривая. Хотя видел, что адрес источника явно не локальный. Спасибо.
Спасибо за статью! В одном случае всё получилось, но во втором, не как не получается.
Подскажите пожалуйста как пробросить порты.
1. Есть провайдер с серым IP.
2. 1 микротик 192.168.0.111 настроен на интернет через ppoе, его LAn соединен с управляемым ХАБом №1. Сеть 192.168.0.0/24
3. Второй микротик с другой подсетью 192.168.172.0/24 подключен к порту управляемого ХАБа №1 и порт изолирован и смотрит только на бридж 1-го микротика.
Задача пробросить порт из вне до интерфейса второй сети например 192.168.172.3
Привет. Подскажите на микротике как правильно сделать переадресацию на локальные ip-сервера при обращении на внешний в зависимости от запрашиваемого имени сайта. Например пользователь через глобальную российскую сеть ))) запрашивает gitlab.ffff.ru — на 80 и 443 порт и его надо переадресовать на 192.168.100.2, этот же или другой пользователь запрашивает site.ffff.ru на 80 и 443 порт и его нужно переадресовать на 192.168.100.3
Можете ознакомиться с информацией из статьи SSL сертификат Let’s Encrypt wildcard для https на базе Nginx в пункте «Как это работает?»
Если будут вопросы пишите.
Спасибо за статью! Она от части описывает мою задачу 🙂 и даже решает ее. «умные» люди советовали мне не играться с НАТами «делай нормальную сеть и все будет работать», но как это сделать в моем примере затруднялись ответить.
Может быть вы подскажите изящное решение?
По сути я уже решил ее, через маршрутизацию и НАТ.
Здравствуйте.
Помогите очень начинающему пользователю MikroTik.
Пытаюсь подключиться к серверу по SSH по локальной сети самым простым способом, так как показано на картинке
«Стандартное подключение в рамках локальной сети».
PuTTY не соединяется.
Предустановленные правила фаервола выключал.
Порты с веб сервера пробросил нормально сайты видны из интернета.
Интуитивно подозреваю, что упускаю какую то незначительную деталь.
Здравствуйте,
Можно конечно погадать на кофейной гуще, но это не наш метод ))
Опишите топологию сети и можно конфиг даже скинуть (через облачные среды)
https://gregory-gost.ru/svyaz-s-avtorom/
Здравсвуйте!
Огромное спасибо за столь интересный и полезный набор статей! Прошёл с первой по последнюю статью в переложении интеграции Микротик и Кинетик. И какое же разочарование было в самом конце, когда узнал, что в Кинетик нет возможности маскарадинга адреса источника! И следующая конструкция рушится к чертям и аналогов ей нет(
Консольно:
/ip firewall nat
add action=dst-nat chain=dstnat comment=»Open ports to RT-AC66U» dst-port=14080 in-interface=WAN protocol=tcp to-addresses=192.168.88.30 to-ports=80
add action=src-nat chain=srcnat dst-address=192.168.88.30 dst-port=80 protocol=tcp to-addresses=192.168.88.1
Отсюда вопросы и варианты:
1. Чем так плох ответ из другого шлюза (WAN 192.168.88.2) если порт будет таким же, как запрашивали (port 14080)? От нас же никто не ждёт ответ исключительно через первый шлюз?
2. Это значит, что можно на шлюзе (WAN 192.168.88.2) восстановить порт и всё будет работать?
3. Или есть возможность как-то перенаправлять весь трафик полученный от первого шлюза (WAN 192.168.88.1) вновь на первый шлюз (WAN 192.168.88.2) и там всё пройдёт как надо?
4. Какие ещё костыли возможны?
Заранее спасибо за ответ!
ЗЫ: пруф отсутсвия маскарадинга адреса источника на Кинетик (возможно со временем что-то появится): https://forum.keenetic.net/topic/8627-mascarading/
Добрый день. В сети два шлюза. Cisco 192.168.23.2/24 и Nethserver (CentOS7 выполняет роль прокси сервера)-192.168.23.22/24. Клиенты имеют доступ в интернет через шлюз 192.168.23.2. Соответвенно проброс портов через Cisco на клиентские устройства проходит отлично. Проблема с пробросом через Nethserver. Проброса нет если только клиентам не прописать шлюз 192.168.23.22, что не подходит в существующей схеме. Прошу совета как пробросить в данном случае на линуксах? Спасибо. Думаю поможет многим.
Добрый день! Начинаю осваивать Микротик. Прошу помощи в правильном решении следующей задачи. Условие: есть Микротик RB2011UiAS-2HnD-IN с белым статическим IP который получает от провайдера интернет. за микротиком есть офисная сеть, в которой есть ПК и точки вайфай. Возникла необходимость установить сервер 1С+рабочие места. Сервер будет настраиваться сторонней организацией. Задача: организовать доступ к серверу и ра. местам извне, но при этом изолировать офисную сеть от возможного доступа сторонней организацией с последующей (через время) блокировкой доступа этой организации к нашим сетям (по сути, к доступу к Микротику на входе). Мои соображения: 1. один из портов Микротика выделить под отдельный VLAN к которому привязать свич (для подключения к нему сервера и раб. мест). На этом VLANе организовать изолированную сеть со своими DHCP, пулом адресов. Как организовать доступ извне с сохранением максимальной безопасности? через RDP?, по VPN? Пожалуйста поправте или направте в правильное русло. Спасибо
Здравствуйте! Есть два роутера: keenetic и mikrotik. Keenetik имеет белый IP 109.88.88.25 (скажем). Mikroтik за серым сотового оператора. За keenetik подсетка 192.168.1.0/24, за mikrotik — 192.168.5.0/24. За mikrotik есть сервера к которым надо получить досуп из вне. Скажем WEB сервер на 192.168.5.15:80. Для этого поднят VPN l2tp/ipsec psk. Все настроенно. Доступ ко всем устройствам из обеих сетей есть. На kenetiс из вне запрос идет на порт 53000. Перенаправляется на 192.168.5.15:80. Или на 192.168.5.1:53000 (скажем)? А там согласно этой статье настраивается проброс портов с двумя провайдерами. Так как оба роутера в инет гуляет сами по себе , через своих провайдеров. Т.е мне надо запрос ответ перенаправить из вне через kenetiс потом VPN на сервер за mikrotik и обратно вернуть. Подскажите пожалуйста.
Здравствуйте.
Проблема. Прописал диапазон ip 192.168.1.18-192.168.1.20 для порта 80 во вкладке action. Работает только один сайт, а остальные нет.
Здравствуйте,
Пока не понятно:
1. Что это за правило и что оно должно делать?
2. Зачем указан именно этот диапазон и http(80) порт?
3. Что означает работает один сайт?
Очень мало информации по решаемой задаче. Если вы обозначаете проблему, то распишите какие настройки делаете, зачем и какую проблему пытаетесь решить добавляя эти правила.
И еще, нет возможности определить корректно ли настроены остальные части устройства, начиная с самых базовых.
Здравствуйте! можете описать либо показать как настраивать правило на пробросе портов на принтер? делал перенаправление портов 9100 но порт до сих пор закрыт
Также, как и любое другое правило перенаправления, при условии, что у вас ничего сверх меры не настроено.
Иначе уже придется рассматривать, как частный случай.
Вот пример самого простого перенаправления:
где,
dst-port=10000 — внешний порт на интерфейсе, куда подключен кабель провайдера. Именно по нему вы будете обращаться откуда-то из интернета.
in-interface-list=WAN — список интерфейсов, куда входит порт для подключения кабеля провайдера. Подробнее про списки интерфейсов тут: MikroTik RouterOS – Списки интерфейсов “Interface List”
to-addresses=192.168.88.10 — IPv4 адрес вашего принтера.
to-ports=80 — TCP порт на котором сидит нужный вам сервис. (80 это обычный http web интерфейс, есть не у всех принтеров)
Если у вас все так и при этом все равно нет доступа, то значит, что-то у вас не настроено, заблокировано провайдером или что-то еще и с этим нужно разбираться отдельно.
А можно поподробнее про перенаправление портов Winbox?
Создал в NAT правило для перенаправления порта 50360 на порт 8291 роутера.
Но оно работает только если в Firewall включено правило input-accept для порта 8291 и при этом можно из вне подключиться по порту 8291, чего не хочется. А если включаю правило для 50360, то подключение не идет. Правило в NAT точно работает, значит нужно правильно прописать правило в Firewall для 50360. Но я не понимаю как.
Константин, напишите мне через https://gregory-gost.ru/svyaz-s-avtorom/ посмотрим на конфиг firewall
Добрый день! Цель есть))) Напишите мне на почту. Я Вам скрины пришлю и объясню свою проблему.
Должен быть один. Но по факту 2. Где то что надо включить или выключить. Микротик начинаю только разбирать. 2й имеет адрес от первого 88.253 и 88.2 который получил при начальной настройки.
Виктор, вам нужно посмотреть как настраиваются Mikrotik роутеры.
Пока как я понял у вас RB951G-2HnD головной и на нем должен быть включен DHCP (IP->DHCP Server) он и раздает в локалку IP адреса.
RBmAPL-2nD получает адрес и плюс видимо имеет свой статический. Вы сначала определите конечную цель и уже изучайте процесс настройки. С наскоку не получится
Добрый день! У меня два микротика один RB951G-2HnD адрес 192.168.88.1 и второй mAP lite (RBmAPL-2nD) с адресом 88.2 он подключается к первому к порту 3. Оба подключаются к коптерам, которые разбрасывают вайфай с адресом 192.168.10.2. проблема в том, что пока в Винде не пропишу шлюз по умолчанию команды до коптеров не доходят. А так как шлюз прописывается один, то взлетает один. Пробовал применить Вашу статью про проброс и два шлюза. Чтобы один шлюз был на два микротика. Но ничего не получилось. Помогите пожалуйста разобраться.
У вас другая ситуация.
У вас должен быть один шлюз по идее т.к. RB951G-2HnD и RBmAPL-2nD соединены кабелем. Зачем вам два шлюза?
Нарисуйте на бумаге или в draw.io топологию своей сети, поможет определить базовую инфраструктуру и поймете где у вас проблема.
Неделю думал как сделать, спасибо реально статья помогла
Спасибо за отзыв! Рад, что статья оказалась вам полезной 🙂
Gregory, добрый день. Огромное спасибо за статьи, очень помогли. Подскажите, пожалуйста, а как правильнее всего настроить включение компьютера по запросу из вне при таком наборе правил Firewall
Приветствую, рад, что мои статьи полезны )
Можно использовать цепочку правил в Firewall и скрипт.
В микротике есть утилита /tool wol, которая позволяет отправлять magic пакет для запуска ПК(Нужно проверить настройку в BIOS — WAKE_ON_LAN). И еще, если у вас ПК на Wi-Fi сидит, это работать не будет, только по кабельному каналу!
Через PortKnocking или другими методиками обращаетесь на Адрес:порт, нужный адрес добавляется в адрес лист.
Скрипт через планировщик периодически сканирует адрес лист на наличие записи, как только она появляется, отправляет на прописанный MAC адрес magic packet и ПК запускается.
При наличии двух шлюзов, нужно сделать цепочку из правил. NAT на роутере со статикой и Filter или NAT на целевом роутере т.к. magic packet может не дойти.
Нужно проверять.
Отличная статья. Похожая задача была. Не решил тогда. Дошло только до того, что понял, что причина в разных шлюзах. Испытания проведу сегодня. Спасибо!
Gregory, добры день!
Спасибо еще раз за цикл статей. Ранее писал вопрос по даче.
https://drive.google.com/file/d/1XoB4m9m-bBaTsUAIxHsFLLC07Geyz7OL/view
Всё заработало.
У меня остался простой вопрос. В статье «проброс портов» мы даём доступ к локальному оборудованию из сети 1 и сети 2 через белый ip+порт.
Чем больше оборудования и портов. тем больше правил нам надо сделать.
Что мешает для настройки оборудования сети 1 и сети 2 из любой точки мира где есть интернет, сделать учётку для vpn туннеля с роутером с белым ip ?
Какие минусы у данного способа ?
Алексей, не за что ))
Ничего не мешает, все ограничивается лишь необходимостью, вы можете без проблем использовать и VPN для этих целей.
Вариантов как обычно несколько. Я описал только свой принцип и не ставил задачей охватить все =)
Реализовал еще интересный вариант, когда портмапинг позволяет прокинуть на любое устройство в сети если на этом устройстве не прописан шлюз в интернет, или оно ходит через другой шлюз.
В комментариях я такого вроде как не нашeл.
E меня схема достаточно простая есть 2 микротика на разных провайдерах
M1(IP-ext1, 192.168.0.1)
M2(IP-ext2, 192.168.0.254)
S1 сервер у которого в качестве шлюза указано 192.168.0.1
на S1 крутится RDP и WEB
я настроил так что можно получить доступ через IP-ext2 доступ к этим службам.
То-есть по сути на М1 обычный мапинг,
а на M2 мапинг с подменой внешнего адреса того кто обращается на внутренний адрес (192.168.0.254) М2, (получается для S1 все эти обращения выглядят как от одного 192.168.0.254)
Я так понимаю что в случае туннеля EoIP в пределах одной подсети будет работать, в теории должно и работать с туннелем когда разные подсети.
В моем случае не надо ничего настраивать на микротике через который ходит в интернет на S1.
Если интересно могу выгрузить свои настройки правила.
Здравствуйте!
Конечно интересно. Для меня такое использование было достаточно любопытным опытом, интересно посмотреть, какие есть еще альтернативы =)
конфиг с сервера
/interface list
add name=Internet
add name=Local
/interface bridge port
add bridge=bridge-internet interface=ether1
add bridge=bridge-local interface=ether2
/interface list member
add interface=bridge-internet list=Internet
add interface=bridge-local list=Local
/ip firewall address-list
add address=192.168.0.15 list=PORT-MAPING
/ip firewall nat
add action=masquerade chain=srcnat comment="2.0 Port Maping to servers \
without gate" dst-address-list=PORT-MAPING
add action=dst-nat chain=dstnat dst-port=38077 protocol=tcp to-addresses=\
192.168.0.15 to-ports=3389
add action=dst-nat chain=dstnat dst-port=8080 protocol=tcp to-addresses=\
192.168.0.15 to-ports=80
add action=masquerade chain=srcnat comment="3.0 Port Mapping" \
dst-address-list=!PORT-MAPING out-interface-list=Internet
примерно так
вся фишка в осутствии out-interface-list=Internet в правиле для списка PORT-MAPING
У меня проблема с настройкой fortigate была именно в том с мапингом, что он нормально не хочет отрабатывать NAT, он всё пересылал от своего имени, поэтому я и попробовал реализовать на микротике такой вариант
Я от тестировал вариант для VPN, работает.
Мало того работает для любого ресурса который доступен с этого шлюза
например я прокинул 80 порт на адрес веб сервера в интернете.
Вы молодец! Возможно кто-то возьмет ваши заметки на вооружение!
Отличная статья, многие вопросы позволила решить. Но вот у меня совсем нестандартная конфигурация и что-то не могу решить свою задумку. Значит так, имеется два провайдера: Провайдер номер «раз» даёт серый IP 192.168.6.7; провайдер номер «два» дает белый IP 42.43.44.45(пример). Задача следующая:
Провайдер «раз» используется как основной интернет
Провайдер «два» используется для:
1.Создание канала IPsec, как принимающая сторона
2.Проброс портов, для подключения к внутренним ресурсам, в том числе к веб-сайту
И вот с веб-сайтом проблема и возникла, ну не хочет работать изнутри, т.е. если я захожу на него где-то со стороны, то он открывается, но если я попытаюсь открыть его из локальной сети, указывая всё тот-же адрес(или адрес или имя. неважно), то нихрена, сайт не открывается(. Куда копать понять не могу. Есть идеи?
Алексей, приветствую.
Благодарю за отзыв!
Алексей, ваш вопрос уже давно решен ) Вам необходимо использовать Hairpin NAT
На самом деле этот вопрос задают многие начинающие энтузиасты.
Объяснять весь принцип в комментарии будет муторно, с полным объяснением.
В кратце должно быть два правила:
/ip firewall nat
add action=dst-nat chain=dstnat dst-address=42.43.44.45 dst-port=80,443 protocol=tcp to-addresses=192.168.88.10 comment="Hairpin NAT"
add action=masquerade chain=srcnat dst-address=42.43.44.45 dst-port=80,443 protocol=tcp src-address=192.168.88.0/24
192.168.88.10 — пример адреса web сервера
Если хотите разобраться почему так, то можете поискать информацию в интернете по запросу Hairpin NAT MikroTik
Здравствуйте Gregory!
Есть два роутера в разных квартирах:
кв1 — hAP ac (статический внешний IP), кв2 — hAP ac2. Прошивки последние (Long-term).
Всё сделал по вашим статьям, туннели (OVPN и EoIP) проброшены и исправно работают.
В кв1, в сети стоит NAS, на нём поднят медиа-сервер Twonky. Клиенты сети кв1 его прекрасно видят и работают с ним, а вот клиенты сети кв2 его не видят!
В чём может быть проблема?
Хотелось бы смотреть фильмы в кв2 с этого сервера в кв1.
Прошу прощения за беспокойство!
Проанализировал свои конфиги на обоих роутерах, и увидел, что на втором, забыл добавить EoIP тоннель в бридж. Теперь всё работает прекрасно. Огромное спасибо за статьи.
А я только добрался до комментариев ))
Рад что все работает исправно! Успехов!
Добрый день, спасибо за статью, но таки имеется вопрос по пробросу портов, в частности 80. Его необходимо пробросить на три внутренних устройства, благодаря разработчикам росалкогольрегулирования.
Схема простая: интернет > роутер(rb750gr-3) >192.168.88.0/24 > устройство 1, 2, 3 и все остальное. Все пишут о возможности такого проброса, но еще не попалась ссылка где было-бы написано, что сделал — работает. :((
Проброс 80>80 (на устройство 1) работает как при включенных стандартных правилах Firewall Filter так и при выключенных, а также и с этим правилом, и без этого правила (Цитата:»Не забудьте открыть доступ к внешнему порту в Firewall Filter и поместить правило выше последнего запрещающего, иначе фильтрация соединений заблокирует все ваши попытки подключения.»). При попытке изменить входящий порт на любой другой (например 18877>80) работать перестает (устройство 1 недоступно), не говоря уже о устройстве 2 , 3 при всех включенных и выключенных (добавленных — удаленных) правилах.
На два устройства получилось пробросить на Zyxel Keenetic Lite II, а нужно три. Все остальные, имеющиеся под рукой роутеры(TpLink, Asus, HP, DLink) могут только 80>80.
rb750gr-3 на данный момент не отличается от большинства, надеюсь пока не отличается :)).
Ну и собственно вопрос решается ли на rb750gr-3 такая задача не теоретически, а практически и если да, то где зарылся ответ.
Конфигурация роутера — стандартная из магазина.
Заранее спасибо за ответ.
Здравствуйте,
Ну для начала сразу лучше избавиться от «Конфигурация роутера – стандартная из магазина.»
Совсем не советую использовать что-то стандартное. Выполняйте полный сброс и настраивайте с нуля.
Firewall можно оставить на самое сладкое. В нем лучше будет начать с NAT
Позвольте уточнить. Сервис который должен подключаться к трем разным адресам имеет возможность изменить порт назначения?
Поясню. Для того, чтобы получить доступ к:
192.168.88.15:80
192.168.88.16:80
192.168.88.17:80
снаружи из интернета, нужны другие адреса назначения.
Вы уже так делали 18877>80. Начните сначала или просто пока отключите все что есть в Firewall Filter. В Firewall NAT также все отключите кроме правила src-nat — masquerade
И только после этого проверяйте перенаправление.
Потом когда убедитесь, что все работает, как нужно начнете возвращать правила в Firewall Filter
Ну и классические правила перенаправления:
/ip firewall nat
add action=dst-nat chain=dstnat comment="IP1" dst-port=8087 in-interface-list=Internet protocol=tcp to-addresses=192.168.88.15 to-ports=80
add action=dst-nat chain=dstnat comment="IP2" dst-port=8088 in-interface-list=Internet protocol=tcp to-addresses=192.168.88.16 to-ports=80
add action=dst-nat chain=dstnat comment="IP3" dst-port=8089 in-interface-list=Internet protocol=tcp to-addresses=192.168.88.17 to-ports=80
добрый день. а как 1 порт пробросить на несколько локальных ip? например 80. пробовал 2 правила, но они не работают одновременно. Вкладка «Action», поле «To Addresses» — написано что адресов может быть несколько, а как их несколько прописать? через запятую выдает ошибку.
Здравствуйте,
Несколько адресов прописываются только через дефис, также, как и pool dhcp
192.168.88.2-192.168.88.3
Спасибо огромное за помощь! Попробую все переделать с нуля, я уже давно склонялся к такой мысли, но все не доходили руки. Удачного Вам дня!
mangle
12 ;;; Mark Satel PPPoE
chain=prerouting action=mark-connection new-connection-mark=ppp1_connection passthrough=yes
connection-state=»» in-interface=pppoe-out1 log=no log-prefix=»»
13 chain=prerouting action=mark-routing new-routing-mark=to_ppp1 passthrough=no
connection-mark=ppp1_connection in-interface=bridge log=no log-prefix=»»
14 chain=output action=mark-routing new-routing-mark=to_ppp1 passthrough=no
connection-mark=ppp1_connection log=no log-prefix=»»
15 chain=output action=mark-routing new-routing-mark=to_ppp1 passthrough=no
src-address=XXXX log=no log-prefix=»»
16 ;;; Mark Satel Static
chain=prerouting action=mark-connection new-connection-mark=ether2_connection passthrough=yes
connection-state=»» in-interface=ether2 log=no log-prefix=»»
17 chain=prerouting action=mark-routing new-routing-mark=to_ether2 passthrough=no
connection-mark=ether2_connection in-interface=bridge log=no log-prefix=»»
18 chain=output action=mark-routing new-routing-mark=to_ether2 passthrough=no
connection-mark=ether2_connection log=no log-prefix=»»
19 chain=output action=mark-routing new-routing-mark=to_ether2 passthrough=no
src-address= XXXX log=no log-prefix=»»
20 ;;; Mark Datagroup Static
chain=prerouting action=mark-connection new-connection-mark=combo1_connection passthrough=yes
in-interface=combo1 log=no log-prefix=»»
src-address= XXXX log=no log-prefix=»»
20 ;;; Mark Datagroup Static
chain=prerouting action=mark-connection new-connection-mark=combo1_connection passthrough=yes
in-interface=combo1 log=no log-prefix=»»
21 chain=prerouting action=mark-routing new-routing-mark=to_combo1 passthrough=no
connection-mark=combo1_connection in-interface=bridge log=no log-prefix=»»
22 chain=output action=mark-routing new-routing-mark=to_combo1 passthrough=no
connection-mark=combo1_connection log=no log-prefix=»»
23 chain=output action=mark-routing new-routing-mark=to_combo1 passthrough=no
src-address= XXXX log=no log-prefix=»»
24 ;;; Satel Static DNS requests redirect
chain=output action=mark-routing new-routing-mark=to_ether2 passthrough=yes protocol=udp
dst-address= XXXX dst-port=53 log=no log-prefix=»»
25 chain=output action=mark-routing new-routing-mark=to_ether2 passthrough=yes protocol=udp
dst-address= XXXX dst-port=53 log=no log-prefix=»»
26 ;;; Satel PPPoE DNS requests redirect
chain=output action=mark-routing new-routing-mark=to_ppp1 passthrough=no protocol=udp
dst-address= XXXX dst-port=53 log=no log-prefix=»»
27 chain=output action=mark-routing new-routing-mark=to_ppp1 passthrough=no protocol=udp
dst-address= XXXX dst-port=53 log=no log-prefix=»»
28 ;;; Datagroup DNS requests redirect
chain=output action=mark-routing new-routing-mark=to_combo1 passthrough=no protocol=udp
dst-address= XXXX dst-port=53 log=no log-prefix=»»
29 chain=output action=mark-routing new-routing-mark=to_combo1 passthrough=no protocol=udp
dst-address= XXXX dst-port=53 log=no log-prefix=»»
30 X ;;; PC 192.168.88.248 === fixed internet IP for access to server === to Satel PPPoE
chain=prerouting action=mark-routing new-routing-mark=to_ppp1 passthrough=no
src-address=192.168.88.248 dst-address=!192.168.88.0/24 log=no log-prefix=»»
31 ;;; PC 192.168.88.177 === fixed internet IP for access to server === to Satel PPPoE
chain=prerouting action=mark-routing new-routing-mark=to_ppp1 passthrough=no
src-address=192.168.88.177 dst-address=!192.168.88.0/24 log=no log-prefix=»»
32 ;;; PC 192.168.88.172 === fixed internet IP to Satel PPPoE===
chain=prerouting action=mark-routing new-routing-mark=to_ppp1 passthrough=no
src-address=192.168.88.172 dst-address=!192.168.88.0/24 log=no log-prefix=»»
33 ;;; PC 192.168.88.16 === fixed internet IP to Satel PPPoE===
chain=prerouting action=mark-routing new-routing-mark=to_ppp1 passthrough=no
src-address=192.168.88.16 dst-address=!192.168.88.0/24 log=no log-prefix=»»
34 ;;; PC 192.168.88.21 === fixed internet IP for access to server === to Satel PPPoE
chain=prerouting action=mark-routing new-routing-mark=to_ppp1 passthrough=yes
src-address=192.168.88.21 dst-address=!192.168.88.0/24 log=no log-prefix=»»
35 ;;; PC 192.168.88.249 === fixed internet IP for access to server === to Satel PPPoE
chain=prerouting action=mark-routing new-routing-mark=to_ppp1 passthrough=no
src-address=192.168.88.249 dst-address=!192.168.88.0/24 log=no log-prefix=»»
36 ;;; PC 192.168.88.15 === fixed internet IP for access to server === to Satel PPPoE
chain=prerouting action=mark-routing new-routing-mark=to_ppp1 passthrough=no
src-address=192.168.88.15 dst-address=!192.168.88.0/24 log=no log-prefix=»»
37 ;;; Interet access from LAN === Per-connection classifier balancer=== Balance citeria: ONLY sou>
address
chain=prerouting action=mark-routing new-routing-mark=to_ppp1 passthrough=no
src-address=192.168.88.0/24 dst-address=!192.168.88.0/24
per-connection-classifier=src-address:3/0 log=no log-prefix=»»
38 chain=prerouting action=mark-routing new-routing-mark=to_ether2 passthrough=no
src-address=192.168.88.0/24 dst-address=!192.168.88.0/24
per-connection-classifier=src-address:3/1 log=no log-prefix=»»
39 chain=prerouting action=mark-routing new-routing-mark=to_combo1 passthrough=no
src-address=192.168.88.0/24 dst-address=!192.168.88.0/24
per-connection-classifier=src-address:3/2 log=no log-prefix=»»
Здравствуйте,
Заметил у Вас много лишнего в правилах.
Я бы рекомендовал Вам начать с нуля анализируя каждый пакет и каждую настройку.
Ранее Вы также не сообщили, что у Вас настроена обработка данных из локальной сети с помощью per-connection-classifier
Для начала я бы предложил такую схему балансировки трех соединений.
В этой схеме все соединения которые приходят с интерфейса в него и уходят. Т.е. никаких принудительных правил делать не нужно, кроме базовых в mangle по маркировке в prerouting и маршрутизации этого соединения перед output
/ip firewall filter
# FORWARD CHAIN (FIRST)
chain=forward action=fasttrack-connection connection-state=established,related log=no log-prefix=""
chain=forward action=accept connection-state=established,related log=no log-prefix=""
chain=forward action=drop connection-state=invalid log=no log-prefix=""
# INPUT CHAIN (SECOND)
chain=input action=accept connection-state=established,related log=no log-prefix=""
chain=input action=drop connection-state=invalid log=no log-prefix=""
chain=input action=accept protocol=icmp log=no log-prefix=""
chain=input action=accept protocol=igmp log=no log-prefix=""
chain=input action=accept protocol=tcp src-address-list=Admin_Whitelist dst-port=8291,22 log=no log-prefix=""
chain=input action=drop in-interface-list=WAN log=no log-prefix=""
/ip firewall nat
# MASQUERADE
chain=srcnat action=masquerade out-interface-list=WAN log=no log-prefix=""
# DST-NAT
chain=dstnat action=dst-nat to-addresses=192.168.88.21 protocol=udp in-interface-list=WAN dst-port=3031 log=no log-prefix=""
chain=dstnat action=dst-nat to-addresses=192.168.88.177 protocol=udp in-interface-list=WAN dst-port=3434 log=no log-prefix=""
chain=dstnat action=dst-nat to-addresses=192.168.88.177 protocol=udp in-interface-list=WAN dst-port=3090 log=no log-prefix=""
chain=dstnat action=dst-nat to-addresses=192.168.88.248 to-ports=4000 protocol=tcp in-interface-list=WAN dst-port=4000 log=no log-prefix=""
chain=dstnat action=dst-nat to-addresses=192.168.88.249 protocol=tcp in-interface-list=WAN dst-port=3035 log=no log-prefix=""
chain=dstnat action=dst-nat to-addresses=192.168.88.249 protocol=tcp in-interface-list=WAN dst-port=3050 log=no log-prefix=""
chain=dstnat action=dst-nat to-addresses=192.168.88.249 to-ports=4003 protocol=tcp in-interface-list=WAN dst-port=4003 log=no log-prefix=""
chain=dstnat action=dst-nat to-addresses=192.168.88.249 protocol=tcp in-interface-list=WAN dst-port=13000-13010 log=no log-prefix=""
chain=dstnat action=dst-nat to-addresses=192.168.88.249 to-ports=4004 protocol=tcp dst-address=XXXX dst-port=4004 log=no log-prefix=""
/ip firewall mangle
# PREROUTING WAN / OUTPUT WAN
chain=prerouting action=mark-connection in-interface=pppoe-out1 new-connection-mark=ppp1_connection passthrough=yes connection-state=new log=no log-prefix=""
chain=output action=mark-routing new-routing-mark=to_ppp1 connection-mark=ppp1_connection passthrough=no log=no log-prefix=""
chain=prerouting action=mark-connection in-interface=ether2 new-connection-mark=ether2_connection passthrough=yes connection-state=new log=no log-prefix=""
chain=output action=mark-routing new-routing-mark=to_ether2 connection-mark=ether2_connection passthrough=no log=no log-prefix=""
chain=prerouting action=mark-connection in-interface=combo1 new-connection-mark=combo1_connection passthrough=yes connection-state=new log=no log-prefix=""
chain=output action=mark-routing new-routing-mark=to_combo1 connection-mark=combo1_connection passthrough=no log=no log-prefix=""
# PREROUTING LAN
chain=prerouting action=mark-connection dst-address-type=!local in-interface-list=LAN new-connection-mark=ppp1_connection passthrough=yes per-connection-classifier=both-addresses:3/0
chain=prerouting action=mark-routing connection-mark=ppp1_connection dst-address-type=!local new-routing-mark=to_ppp1 passthrough=no
chain=prerouting action=mark-connection dst-address-type=!local in-interface-list=LAN new-connection-mark=ether2_connection passthrough=yes per-connection-classifier=both-addresses:3/1
chain=prerouting action=mark-routing connection-mark=ether2_connection dst-address-type=!local new-routing-mark=to_ether2 passthrough=no
chain=prerouting action=mark-connection dst-address-type=!local in-interface-list=LAN new-connection-mark=combo1_connection passthrough=yes per-connection-classifier=both-addresses:3/2
chain=prerouting action=mark-routing connection-mark=combo1_connection dst-address-type=!local new-routing-mark=to_combo1 passthrough=no
/ip route
# FIRST
distance=1 gateway=pppoe-out1 routing-mark=to_ppp1
distance=2 gateway=ether2 routing-mark=to_ether2
distance=3 gateway=combo1 routing-mark=to_combo1
distance=1 gateway=pppoe-out1
distance=2 gateway=ether2
distance=3 gateway=combo1
Я тут конечно не претендую на идеальное решение.
Но с этого можно начать, чтобы разобраться в том, какие соединения, пакеты в каком порядке обрабатываются. Куда поступают запросы и куда уходит ответ.
Рекомендую еще утилиту Torch на интерфейсах. Она поможет отслеживать соединения.
Список Nat
;;; NAT + Masquerade Satel PPPoE
chain=srcnat action=masquerade out-interface=pppoe-out1 log=no log-prefix=»»
1 chain=dstnat action=dst-nat to-addresses=192.168.88.21 protocol=udp dst-address=xxxx
dst-port=3031 log=no log-prefix=»»
2 chain=dstnat action=dst-nat to-addresses=192.168.88.249 protocol=tcp dst-address=XXXX
dst-port=3035 log=no log-prefix=»»
3 chain=dstnat action=dst-nat to-addresses=192.168.88.249 protocol=tcp dst-address=XXXX
dst-port=3050 log=no log-prefix=»»
4 chain=dstnat action=dst-nat to-addresses=192.168.88.177 protocol=udp dst-address=XXXX
dst-port=3434 log=no log-prefix=»»
5 ;;; new port Most_O
chain=dstnat action=dst-nat to-addresses=192.168.88.177 protocol=udp
dst-address=XXXX dst-port=3090 log=no log-prefix=»»
6 chain=dstnat action=dst-nat to-addresses=192.168.88.248 to-ports=4000 protocol=tcp
dst-address=XXXX dst-port=4000 log=no log-prefix=»»
7 chain=dstnat action=dst-nat to-addresses=192.168.88.249 to-ports=4003 protocol=tcp
dst-address=XXXX dst-port=4003 log=no log-prefix=»»
8 ;;; Test
chain=dstnat action=dst-nat to-addresses=192.168.88.249 protocol=tcp
dst-address=XXXX src-port=»» dst-port=13000-13010 log=no log-prefix=»»
9 chain=dstnat action=dst-nat to-addresses=192.168.88.249 to-ports=4004 protocol=tcp
dst-address=XXXX dst-port=4004 log=no log-prefix=»»
Дальше по аналогии проброс остальных портов.
Вот список Rules Filter
;;; Accept Admin — Address List!
chain=input action=accept protocol=tcp src-address-list=Admin_Whitelist
dst-port=8291,22 log=no log-prefix=»»
2 ;;; Drop Admin == Address List + Interface List!
chain=input action=drop protocol=tcp src-address-list=!Admin_Whitelist
in-interface-list=WAN interfaces dst-port=22,8291 log=no log-prefix=»»
3 X ;;; test
chain=forward action=accept connection-state=new
connection-nat-state=dstnat protocol=tcp dst-address=192.168.88.249
in-interface-list=WAN interfaces dst-port=15100 log=no log-prefix=»»
4 ;;; Allow DNS responses from ISP — Address List!
chain=input action=accept protocol=udp src-address-list=DNS_servers
src-port=53 log=no log-prefix=»»
5 ;;; Allow ICMP
chain=input action=accept protocol=icmp log=no log-prefix=»»
6 ;;; IGMP
chain=input action=accept protocol=igmp log=no log-prefix=»»
7 ;;; Allow Local DNS, NTP
chain=input action=accept protocol=udp src-address=192.168.0.0/16
in-interface=bridge dst-port=53,123 log=no log-prefix=»»
8 ;;; Accept established, related == Input
chain=input action=accept connection-state=established,related log=no
log-prefix=»»
9 ;;; Drop DNS flood from WAN
chain=input action=drop connection-limit=3,32 protocol=udp
in-interface=ether2 dst-port=53 log=no log-prefix=»»
10 chain=input action=drop connection-limit=3,32 protocol=udp
in-interface=pppoe-out1 dst-port=53 log=no log-prefix=»»
11 chain=input action=drop connection-limit=3,32 protocol=udp
in-interface=combo1 dst-port=53 log=no log-prefix=»»
12 chain=input action=add-src-to-address-list protocol=udp
address-list=dnsflood address-list-timeout=12h in-interface=!bridge
dst-port=53 log=no log-prefix=»»
13 ;;; Drop all input === Caution — Interface List!
chain=input action=drop in-interface-list=WAN interfaces log=no
log-prefix=»»
14 X ;;; defconf: fasttrack
chain=forward action=fasttrack-connection
connection-state=established,related log=no log-prefix=»»
15 ;;; accept established,related == Forward
chain=forward action=accept connection-state=established,related log=no
log-prefix=»»
16 ;;; defconf: drop invalid
chain=forward action=drop connection-state=invalid log=no log-prefix=»»
17 ;;; drop all from WAN not DSTNATed === Caution — Interface List!
chain=forward action=drop connection-state=new
connection-nat-state=!dstnat in-interface-list=WAN interfaces log=no
log-prefix=»»
да ip routes, пакеты маркируются, более того ПК на который отправляються пакеты ходят в интернет строго через одного провайдера, второй используется как резервный на случай проблем с первым.
Полагаю настройки у Вас должны быть похожи на эти:
Interface
/interface list
add name=WAN
/interface list member
add interface=WAN1 list=WAN
add interface=WAN2 list=WAN
Firewall
/ip firewall nat
add action=masquerade chain=srcnat out-interface-list=WAN
/ip firewall mangle
add action=mark-connection chain=prerouting comment="PREROUTING WAN / OUTPUT WAN" in-interface=WAN1 new-connection-mark=wan1-in-conn connection-state=new passthrough=yes
add action=mark-routing chain=output connection-mark=wan1-in-conn new-routing-mark=wan1-out-route passthrough=no
add action=mark-connection chain=prerouting in-interface=WAN2 new-connection-mark=wan2-in-conn connection-state=new passthrough=yes
add action=mark-routing chain=output connection-mark=wan2-in-conn new-routing-mark=wan2-out-route passthrough=no
Routes
/ip route
add distance=1 gateway=WAN1 routing-mark=wan1-out-route
add distance=2 gateway=WAN2 routing-mark=wan2-out-route
add distance=1 gateway=WAN1
add distance=2 gateway=WAN2
Это пока без учета резервирования.
Более детально пока не могу протестировать, у меня нет двух провайдеров с белыми IP для проверки на практике Вашей проблемы.
Если что-то не понятно, спрашивайте.
Здравствуйте,
все устройства подключены к локальной сети роутера, у них одно адресное пространство, блокировок типа «разрешенные ip или сети нету», заметил один нюанс, что бывает такое, что порты которые уже открыты через них данные ходят нормально, хотя при проверке порта на открытие из интернета, его статус — закрыт. Вот вчера нужно было пробросить очередной порт, 5556 не получилось, а порт 5555 пробросил без проблем. Причем на роутер заведено два провайдера и на обеих одна и та же проблема, это я на предмет среза портов провайдерами. Спасибо!
А вот про двух провайдеров вы в первом комментарии умолчали.
Подскажите, у Вас маршруты на этих провайдеров, как настроены? /ip routes
Есть ли маркировка входящих соединений по этим двум провайдерам? /ip firewall mangle
Применяется ли правило, с какого интерфейса пришло туда и должно уходить?
Подскажите пожалуйста, делаю перенаправление портов через NAT и столкнулся с такой проблемой, что некоторые порты перенаправляются без проблем, а некоторые упорно не хотят, я пробовал выключать все drop правила, создавал новое на принудительный forward, ничего не меняется, одни открываются нормально, а те что нужно никак, ни диапазоном ни по одному. По пакетам смотрю, что счетчик увеличивается при каждом запросе, а пробросить дальше не получается. Уже неделю ломаю голову не могу понять в чем причина. Спасибо!
Здравствуйте,
Для начала подскажите, все и устройства подключены к локальной сети роутера или есть такие, которые находятся за туннелями? Все ли используют одно и то же адресное пространство?
Все очень сильно зависит от вашей топологии сети.
Если счетчик запросов для правила перенаправления увеличивается, но доступа нет, проверьте есть ли доступ к этому порту локально из этой же подсети.
Проверьте нет ли блокировок доступа типа «разрешенный IP», «разрешенная подсеть» на стороне сервисов к которым перенаправляете порты.
А как защитить порт от подбора пароля .Скажем порт 443 ?
Здравствуйте,
443 порт это порт для работы WEB приложений с защитой
80 (http://) и 443 (https://)
Немного непонятно, что значит защитить порт от подбора пароля? К портам не применяется подбор паролей, подбор паролей применяется к службе или сервису, который слушает этот порт.
В случае 443 порта, это какое-то приложение или сайт, который открывается через https://
Так, что нужно защищать сам сервис, а это уже к тематике данной статьи не относится.
Надеюсь внес ясность.
Здравствуйте!
Подскажите пжлст, сделал перенаправление в nat с внешнего порта 55535 на внутренний ip на порт 85. В filter rule открыл порт 55535 и правило не работает. А заработало тогда, когда в filter rule вместо порта 55535, открыл порт 85, хотя по логике извне лезу на порт 55535. В чем может быть проблема??
Здравствуйте,
Все зависит от того, какие правила у Вас стоят до разрешающего правила и как настроено само перенаправление.
Покажите, как настроено перенаправление (можно консольно)
На самом деле это самая простая операция в Firewall Filter
Для анализа прохождения пакетов можно включить его логгирование и дополнительно использовать Torch на интерфейсе WAN
Здравствуйте не подскажите есть ли какие то тонкости при настройке доступа к видеоконтролю. Не могу пробить тоннель к видеорегистратору (файлсервер на другой машине работает при таких же настройках). Пишете все доступно и понятно, но что то у меня не доступно из иннета (изнутри захожу без проблем)
Здравствуйте,
Подскажите свою топологию. Также проверьте нет ли блокировки в самом видеорегистраторе на доступ из не локальных сетей.
Используйте кнопку Torch на сетевых интерфейсах для просмотра поступающих соединений.
Спасибо автору за статью! Наконец-то получилось перенаправить через порт ! У меня apache +1c web, долго пытался сделать подобное!
Здравствуйте,
Спасибо Вам за отзыв.
Рад, что статья оказалась Вам полезна !
Добрый день!
Огромное спасибо за Ваши статьи!
Ситуация, почти как описана у Вас в «Перенаправление портов до hEX (RB750Gr3)», но решить вопрос не получается.
Есть два роутера Mikrotik со статическими IP.
МИК1:
Статический IP: 212.33.44.111
Локальный IP: 10.1.3.1
Сервер L2tp: 10.1.4.1
В сети МИК1 есть железка 10.1.3.13
МИК2:
Статический IP: 194.88.222.99
Локальный IP: 10.3.1.1
Клиент L2tp: 10.1.4.251
В сети МИК2 есть железка 10.3.1.6
Пробрасываю порт 10050, через МИК2-l2tp-МИК1 до 10.1.3.13, т.е. 194.88.222.99:10050 —> 10.1.3.13:10050
На данный момент, c МИК2 или c 10.3.1.6 доступ к 10.1.3.13:10050, есть. Извне, через 194.88.222.99:10050, доступа нет.
На МИК2 в NAT прописано:
5 chain=dstnat action=dst-nat to-addresses=10.1.3.13 to-ports=10050 protocol=tcp dst-address=194.88.222.99 in-interface=ether10 dst-port=10050 log=no log-prefix=»»
6 chain=srcnat action=src-nat to-addresses=10.3.1.1 protocol=tcp dst-address=10.1.3.13 dst-port=10050 log=no log-prefix=»»
Подскажите, где я ошибаюсь и как решить проблему?
Спасибо!
Здравствуйте,
На первый взгляд, все выглядит правильным.
Что в этой ситуации можно сделать, так это провести диагностику прохождения пакета(запросов):
1. В IP->Firewall посмотрите на Bytes и Packets ваших правил, все ли запросы обрабатываются.
2. Используйте инструмент Torch на интерфейсах и уже в них, фильтры по портам, ip адресам и т.д.
Так Вы увидите, куда пакеты проходят, а куда нет.
Изменил правило #6 на:
chain=srcnat action=src-nat to-addresses=10.3.1.1 protocol=tcp out-interface=l2tp dst-port=10050 log=yes log-prefix=»»
заработало.
Спасибо!
Подскажите, пожалуйста в каком ПО делались схемы?
Здравствуйте,
Да конечно подскажу. Эти схемы я делал в online web сервисе draw.io
Спасибо за статьи.
Люблю мир открытого ПО. Пользую его в работе и в жизни.
Мои заметки — forum.netgate.com/topic/120102/proxmox-ceph-zfs
В жизни пользую KDE Neon — при всей красоте на «холодную» кушает меенее 400 МБ ОЗУ(!) Оч. стабилен.
Активно развивается.
Если же железо совсем старое — Zorin OS Lite. Крайне дружелюбен для пол-ля.
P.s. Пишите, если чего заинтересовало.
Здравствуйте,
Спасибо за информацию, поизучаю Ваши заметки.
Благодарю за статью.
Очень помогло для доступа к внутреннему роутеру.
Перерыл кучу инфы, думал у меня настроки фаерволла в микротике неправильные.
Здравствуйте,
Благодарю за отзыв. Рад, что статья помогла Вам разобраться в вопросе =)