3 провайдера манглирование

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

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

Вобщем есть 3 провайдера. Разбирался разбирался с тем, чтобы правильно настроить паралельную работу их и вконце запутался.

add action=mark-connection chain=input in-interface=WAN1 new-connection-mark=\
WAN1-mark passthrough=yes
add action=mark-routing chain=output comment="WAN1 Mark" connection-mark=\
WAN1-mark new-routing-mark=WAN1-mark passthrough=no
add action=mark-routing chain=prerouting new-routing-mark=WAN1-mark \
passthrough=yes src-address=172.20.2.0/24
add action=mark-connection chain=input in-interface=WAN2 new-connection-mark=\
WAN2-mark passthrough=yes
add action=mark-routing chain=output comment="WAN2 Mark" connection-mark=\
WAN2-mark new-routing-mark=WAN2-mark passthrough=no
add action=mark-routing chain=prerouting new-routing-mark=WAN2-mark \
passthrough=yes src-address=172.20.2.0/24
add action=mark-connection chain=input in-interface=WAN3 new-connection-mark=\
WAN3-mark passthrough=yes
add action=mark-routing chain=output comment="WAN3 Mark" connection-mark=\
WAN3-mark new-routing-mark=WAN3-mark passthrough=no
add action=mark-routing chain=prerouting new-routing-mark=WAN3-mark \
passthrough=yes src-address=172.20.2.0/24

Вышла вот такая чехарда. Что из этого правильно, а что нет?)


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Ну в 3,6,9 правилах не хватает условий на наличие connection-mark.
В 1,4,7 желательно добавить условие на connection-state=new.
Плюс не хватает правил которые бы определяли политику для исходящего трафика.


Telegram: @thexvo
typ6alet
Сообщения: 19
Зарегистрирован: 07 дек 2022, 10:20

xvo писал(а): 28 мар 2023, 16:10 Ну в 3,6,9 правилах не хватает условий на наличие connection-mark.
В 1,4,7 желательно добавить условие на connection-state=new.
Плюс не хватает правил которые бы определяли политику для исходящего трафика.
add action=mark-routing chain=output connection-state=new new-routing-mark=WAN1-mark passthrough=yes out-interface=WAN1

Так для исходящего?

И правильно я понимаю, что потом в роутинге все три маршрута нужно гнать через разные Routing table?


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

typ6alet писал(а): 29 мар 2023, 08:27 Так для исходящего?
Нет.
output - это исходящий с самого роутера.

Я про те соединения, что исходят от ваших клиентов.
Вы же их как-то должны распределить по провайдерам.
Либо случайным образом, либо согласно какой-то политике.
typ6alet писал(а): 29 мар 2023, 08:27 И правильно я понимаю, что потом в роутинге все три маршрута нужно гнать через разные Routing table?
У вас кроме основной таблицы должно быть ещё 3, в каждой по дефолтному маршруту.
+ желательно добавить три /ip route rule что для каждого из внешних ip-адресов жестко определена его таблица.


Telegram: @thexvo
typ6alet
Сообщения: 19
Зарегистрирован: 07 дек 2022, 10:20

xvo писал(а): 29 мар 2023, 09:37
typ6alet писал(а): 29 мар 2023, 08:27 Так для исходящего?
Нет.
output - это исходящий с самого роутера.

Я про те соединения, что исходят от ваших клиентов.
Вы же их как-то должны распределить по провайдерам.
Либо случайным образом, либо согласно какой-то политике.
typ6alet писал(а): 29 мар 2023, 08:27 И правильно я понимаю, что потом в роутинге все три маршрута нужно гнать через разные Routing table?
У вас кроме основной таблицы должно быть ещё 3, в каждой по дефолтному маршруту.
+ желательно добавить три /ip route rule что для каждого из внешних ip-адресов жестко определена его таблица.
/ip firewall mangle add src-address=10.1.1.0/24 action=mark-routing chain=prerouting new-routing-mark=lan_out_ISP1 per-connection-classifier=src-address-and-port:2/0
/ip firewall mangle add src-address=10.1.1.0/24 action=mark-routing chain=prerouting new-routing-mark=lan_out_ISP2 per-connection-classifier=src-address-and-port:2/1
/ip firewall mangle add src-address=10.1.1.0/24 action=mark-routing chain=prerouting new-routing-mark=lan_out_ISP3 per-connection-classifier=src-address-and-port:2/2

Это?

И по второму вопросу:

add comment=ISP-1 disabled=no dst-address=0.0.0.0/0 gateway=WAN1 \
pref-src="" routing-table=main scope=30 suppress-hw-offload=no \
target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=WAN2 \
routing-table=main scope=30 suppress-hw-offload=no target-scope=10
add comment=ISP-2 disabled=no dst-address=0.0.0.0/0 gateway=WAN3 \
pref-src="" routing-table=main scope=30 suppress-hw-offload=no \
target-scope=10
add comment=ISP-1 disabled=no dst-address=0.0.0.0/0 gateway=WAN1 \
pref-src="" routing-table=WAN1-mark scope=30 suppress-hw-offload=no \
target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=WAN2 \
routing-table=WAN2-mark scope=30 suppress-hw-offload=no target-scope=10
add comment=ISP-2 disabled=no dst-address=0.0.0.0/0 gateway=WAN3 \
pref-src="" routing-table=WAN3-mark scope=30 suppress-hw-offload=no \
target-scope=10

Правильно понимаю?


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

typ6alet писал(а): 29 мар 2023, 09:46Это?
Да.
Только там тоже должны помечаться соединения, и тоже только новые.

По маршрутам все ок.


Telegram: @thexvo
typ6alet
Сообщения: 19
Зарегистрирован: 07 дек 2022, 10:20

xvo писал(а): 29 мар 2023, 10:11
typ6alet писал(а): 29 мар 2023, 09:46Это?
Да.
Только там тоже должны помечаться соединения, и тоже только новые.

По маршрутам все ок.
Вобщем весь набор мангла такой получается

add action=mark-connection chain=input connection-state=new in-interface=WAN1 \
new-connection-mark=WAN1-mark passthrough=yes
add action=mark-connection chain=input connection-state=new in-interface=WAN2 \
new-connection-mark=WAN2-mark passthrough=yes
add action=mark-connection chain=input connection-state=new in-interface=WAN3 \
new-connection-mark=WAN3-mark passthrough=yes
add action=mark-routing chain=output comment="WAN1 Mark" connection-mark=\
WAN1-mark new-routing-mark=WAN1-mark passthrough=no
add action=mark-routing chain=output comment="WAN2 Mark" connection-mark=\
WAN2-mark new-routing-mark=WAN2-mark passthrough=no
add action=mark-routing chain=output comment="WAN3 Mark" connection-mark=\
WAN3-mark new-routing-mark=WAN3-mark passthrough=no
add action=mark-routing chain=prerouting connection-mark=WAN1-mark \
new-routing-mark=WAN1-mark passthrough=yes src-address=172.20.2.0/24
add action=mark-routing chain=prerouting connection-mark=WAN2-mark \
new-routing-mark=WAN2-mark passthrough=yes src-address=172.20.2.0/24
add action=mark-routing chain=prerouting connection-mark=WAN3-mark \
new-routing-mark=WAN3-mark passthrough=yes src-address=172.20.2.0/24
add action=mark-routing chain=output connection-state=new new-routing-mark=\
WAN1-mark out-interface=WAN1 passthrough=yes
add action=mark-routing chain=output connection-state=new new-routing-mark=\
WAN2-mark out-interface=WAN2 passthrough=yes
add action=mark-routing chain=output connection-state=new new-routing-mark=\
WAN3-mark out-interface=WAN3 passthrough=yes
add action=mark-routing chain=prerouting connection-state=new \
new-routing-mark=WAN1-mark passthrough=yes per-connection-classifier=\
src-address-and-port:2/0 src-address=172.20.2.0/24
add action=mark-routing chain=prerouting connection-state=new \
new-routing-mark=WAN2-mark passthrough=yes per-connection-classifier=\
src-address-and-port:2/1 src-address=172.20.2.0/24
add action=mark-routing chain=prerouting connection-state=new \
new-routing-mark=WAN3-mark passthrough=yes per-connection-classifier=\
src-address-and-port:2/2 src-address=172.20.2.0/24

Еще один вопрос. Что случится при данной конфигурации, когда один из провайдеров отвалится?


typ6alet
Сообщения: 19
Зарегистрирован: 07 дек 2022, 10:20

Что-то видимо где-то не так. Ибо начинаются затыки с Инетом


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Несколько замечаний:

1) Первые три правила должны быть тоже в цепочке prerouting
2) Правила размечающие роутинг в цепочке prerouting должны идти ниже, чем те, которые размечают исходящие соединения по PCC
typ6alet писал(а): 29 мар 2023, 10:45 Еще один вопрос. Что случится при данной конфигурации, когда один из провайдеров отвалится?
Трафик, который должен бы пойти через отвалившегося провайдера пойдет по основной таблице - какой маршрут там будет активен, это уже сами решайте метрикой.
Да, желательно на всех дефолтных маршрутах включить check-gateway если gateway это позволяет.
Ну и вот я уже упоминал - добавить три правила вида
/ip route rule add action=lookup-only-in-table src-address=внешний_адрес_1/32 table=WAN1-mark


Telegram: @thexvo
typ6alet
Сообщения: 19
Зарегистрирован: 07 дек 2022, 10:20

xvo писал(а): 29 мар 2023, 11:29 Несколько замечаний:

1) Первые три правила должны быть тоже в цепочке prerouting
2) Правила размечающие роутинг в цепочке prerouting должны идти ниже, чем те, которые размечают исходящие соединения по PCC
typ6alet писал(а): 29 мар 2023, 10:45 Еще один вопрос. Что случится при данной конфигурации, когда один из провайдеров отвалится?
Трафик, который должен бы пойти через отвалившегося провайдера пойдет по основной таблице - какой маршрут там будет активен, это уже сами решайте метрикой.
Да, желательно на всех дефолтных маршрутах включить check-gateway если gateway это позволяет.
Ну и вот я уже упоминал - добавить три правила вида
/ip route rule add action=lookup-only-in-table src-address=внешний_адрес_1/32 table=WAN1-mark
Любое перемещение правил РСС, хоть в самый верх - сразу затык с Инетом.


Ответить