Маркировка исходящих пакетов от локальных служб роутера.

Раздел для тех, кто начинает знакомиться с MikroTik
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.

1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
Ответить
maryanp
Сообщения: 0
Зарегистрирован: 31 янв 2017, 21:01

Доброго времени суток.

На роутере настроена балансировка на несколько провайдеров по методу ECMP. Пользовался статьей https://habrahabr.ru/post/244385/. Настроен маскарадинг. Также пропрошен внутрь сети 25-й порт. Дефолтного маршрута нет. Прописаны статические маршруты для отдельных адресов снаружи. Все остальное маршрутизируется "по кругы". Работает как швейцарские часы.

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

Подскажите пример правила по какому маркировать исходящие пакеты?

PS. Наверное все просто но уже мозг сломал. Спасибо.


DmNuts
Сообщения: 120
Зарегистрирован: 18 май 2016, 18:33
Откуда: Иркутск

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

Код: Выделить всё

/ip firewall mangle add action=mark-connection chain=input in-interface=ISP1 dst-port=22 new-connection-mark=cin_ISP1
/ip firewall mangle add action=mark-connection chain=input in-interface=ISP2 dst-port=22 new-connection-mark=cin_ISP2
/ip firewall mangle add action=mark-routing chain=output connection-mark=cin_ISP1 new-routing-mark=route_ISP1 passthrough=no
/ip firewall mangle add action=mark-routing chain=output connection-mark=cin_ISP2 new-routing-mark=route_ISP2 passthrough=no
/ip route add distance=1 gateway=gateway_ISP1 routing-mark=route_ISP1
/ip route add distance=1 gateway=gateway_ISP2 routing-mark=route_ISP2

Кстати, копипастил команды из той же статьи, так быстрее оказалось))


maryanp
Сообщения: 0
Зарегистрирован: 31 янв 2017, 21:01

Спасибо за ответ. Я так и делаю. Входящее соединение маркируется, видно по счетчику. Но вот обратно пакетов нет. Вот правила маркировки:

Код: Выделить всё

chain=input action=mark-connection new-connection-mark=cin_ssh passthrough=yes protocol=tcp in-interface=ether1-freenet dst-port=22 log=no 
chain=prerouting action=mark-routing new-routing-mark=ssh passthrough=no protocol=tcp connection-mark=cin_ssh src-port=22 log=no


Не работает второе правило? Пробовал маркировать SSH для локальной сети - нет проблем.


maryanp
Сообщения: 0
Зарегистрирован: 31 янв 2017, 21:01

Я подозреваю что без дефолтного маршрута исходящий пакет от SSH просто не знает куда уходить.


DmNuts
Сообщения: 120
Зарегистрирован: 18 май 2016, 18:33
Откуда: Иркутск

maryanp писал(а):Я подозреваю что без дефолтного маршрута исходящий пакет от SSH просто не знает куда уходить.
Дефолтные маршруты должны быть в соответствующих таблицах маршрутизации, да.

maryanp писал(а):

Код: Выделить всё

chain=prerouting action=mark-routing new-routing-mark=ssh passthrough=no protocol=tcp connection-mark=cin_ssh src-port=22 log=no
А тут лучше заменить цепочку prerouting на output, убрать protocol и src-port.


maryanp
Сообщения: 0
Зарегистрирован: 31 янв 2017, 21:01

И так тоже делал:

Код: Выделить всё

chain=input action=mark-connection new-connection-mark=cin_ssh passthrough=yes protocol=tcp in-interface=ether1-freenet dst-port=22 log=no 
chain=output action=mark-routing new-routing-mark=ssh passthrough=no connection-mark=cin_ssh log=no


Не помогает.


maryanp
Сообщения: 0
Зарегистрирован: 31 янв 2017, 21:01

В данный момент остави следующее:

mangle:

Код: Выделить всё

add action=mark-connection chain=input in-interface=ether1-freenet new-connection-mark=cin_ether1 passthrough=no
add action=mark-routing chain=output connection-mark=cin_ether1 new-routing-mark=rout_ether1 passthrough=no
add action=mark-routing chain=prerouting connection-state="" new-routing-mark=mixed passthrough=yes src-address=192.168.0.0/24


route;

Код: Выделить всё

add check-gateway=ping distance=1 gateway=32.32.32.32 routing-mark=rout_ether1
add distance=1 gateway=32.32.32.32,30.30.30.30 routing-mark=mixed
add distance=2 gateway=pppoe-out1 routing-mark=mixed


Конекта к роутеру нет. :-(


maryanp
Сообщения: 0
Зарегистрирован: 31 янв 2017, 21:01

Заметил также, что исходящие от SSH пакеты маркируются когда вкючен дефолтный маршрут. Без него не маркируются. Неужели для сервисов микротика обязательно нужно дефолтный маршрут?


Аватара пользователя
algerka
Сообщения: 407
Зарегистрирован: 14 дек 2011, 12:31

Тихо сам с собою я веду беседу :-):


Вот вам пример кода:

Помечаем входящие соединения

Код: Выделить всё

/ip firewall mangle add action=mark-connection chain=input in-interface=wan1 new-connection-mark=isp1in_c passthrough=no
/ip firewall mangle add action=mark-connection chain=input in-interface=wan2 new-connection-mark=isp2in_c passthrough=no

ставим метку нужного маршрута на исходящие ответы

Код: Выделить всё

/ip firewall mangle add action=mark-routing chain=output connection-mark=isp1in_c new-routing-mark=isp1 passthrough=no
/ip firewall mangle add action=mark-routing chain=output connection-mark=isp2in_c new-routing-mark=isp2 passthrough=no


в /ip route должно быть минимум два правила с наименьшей дистанцией и routing-mark соответственно isp1 & isp2 с рабочими маршрутами до первого и второго провайдера.


А так, нужен полный конфиг, а не вырезки из него, чтобы понять почему у вас не работает. Но особенно не надейтесь, что кому-то сильно захочется разбираться с вашим полетом фантазии при настройке маршрутизатора.
Есть время и желание разобраться - попробуйте поиграться с конфигурацией с wizarda http://mikrotikwizard.com/


Александр
Ответить