Доброго времени суток.
На роутере настроена балансировка на несколько провайдеров по методу ECMP. Пользовался статьей https://habrahabr.ru/post/244385/. Настроен маскарадинг. Также пропрошен внутрь сети 25-й порт. Дефолтного маршрута нет. Прописаны статические маршруты для отдельных адресов снаружи. Все остальное маршрутизируется "по кругы". Работает как швейцарские часы.
Проблема заключается в том что никак не получается подключится к ssh роутера извне. Конкретнее, не могу промаркировать исходящие от ssh службы роутера пакеты. Как только я добаляю в таблицу дефолтный маршрут - все работает.
Подскажите пример правила по какому маркировать исходящие пакеты?
PS. Наверное все просто но уже мозг сломал. Спасибо.
Маркировка исходящих пакетов от локальных служб роутера.
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.
1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.
1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
-
- Сообщения: 120
- Зарегистрирован: 18 май 2016, 18:33
- Откуда: Иркутск
ECMP как раз и мешает подключению, кидает пакеты по своему усмотрению.
Маркировать нужно не исходящие от ssh службы роутера пакеты, а входящие соединения.
Кстати, копипастил команды из той же статьи, так быстрее оказалось))
Маркировать нужно не исходящие от 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
Кстати, копипастил команды из той же статьи, так быстрее оказалось))
-
- Сообщения: 0
- Зарегистрирован: 31 янв 2017, 21:01
Спасибо за ответ. Я так и делаю. Входящее соединение маркируется, видно по счетчику. Но вот обратно пакетов нет. Вот правила маркировки:
Не работает второе правило? Пробовал маркировать SSH для локальной сети - нет проблем.
Код: Выделить всё
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 для локальной сети - нет проблем.
-
- Сообщения: 0
- Зарегистрирован: 31 янв 2017, 21:01
Я подозреваю что без дефолтного маршрута исходящий пакет от SSH просто не знает куда уходить.
-
- Сообщения: 120
- Зарегистрирован: 18 май 2016, 18:33
- Откуда: Иркутск
Дефолтные маршруты должны быть в соответствующих таблицах маршрутизации, да.maryanp писал(а):Я подозреваю что без дефолтного маршрута исходящий пакет от SSH просто не знает куда уходить.
А тут лучше заменить цепочку prerouting на output, убрать protocol и src-port.maryanp писал(а):Код: Выделить всё
chain=prerouting action=mark-routing new-routing-mark=ssh passthrough=no protocol=tcp connection-mark=cin_ssh src-port=22 log=no
-
- Сообщения: 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
Не помогает.
-
- Сообщения: 0
- Зарегистрирован: 31 янв 2017, 21:01
В данный момент остави следующее:
mangle:
route;
Конекта к роутеру нет.
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
Конекта к роутеру нет.
-
- Сообщения: 0
- Зарегистрирован: 31 янв 2017, 21:01
Заметил также, что исходящие от SSH пакеты маркируются когда вкючен дефолтный маршрут. Без него не маркируются. Неужели для сервисов микротика обязательно нужно дефолтный маршрут?
- algerka
- Сообщения: 407
- Зарегистрирован: 14 дек 2011, 12:31
Тихо сам с собою я веду беседу
Вот вам пример кода:
Помечаем входящие соединения
ставим метку нужного маршрута на исходящие ответы
в /ip route должно быть минимум два правила с наименьшей дистанцией и routing-mark соответственно isp1 & isp2 с рабочими маршрутами до первого и второго провайдера.
А так, нужен полный конфиг, а не вырезки из него, чтобы понять почему у вас не работает. Но особенно не надейтесь, что кому-то сильно захочется разбираться с вашим полетом фантазии при настройке маршрутизатора.
Есть время и желание разобраться - попробуйте поиграться с конфигурацией с wizarda http://mikrotikwizard.com/
Вот вам пример кода:
Помечаем входящие соединения
Код: Выделить всё
/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/
Александр