Николай, я всё же делаю слегка иначе. (может и я делаю не правильно..но работает).
1) при наличии 2х-3х-4х каналов - всегда один их них должен быть по-дефолту (по-дефолту без метки)
1.1) если быть точнее то каждый канал имеет дефолт-шлюз с метрикой 1, но у каждой такой записи - есть метка маркировки (для отправки пакетов предназначенных именно для этого канала)
1.2) в один момент времени всегда имеется канал по умолчанию (без маркировки),потом второй канал с дистанцией 2, третий канал с дистанцией 3 и так далее..
2) я не заворачиваю в таблице маршрутизации явно адреса в тот или иной канал, я делаю
адрес-листы (каждый адрес-лист это отдельный пров), эти адрес листы у меня описаны в манглах,
и соответственно указав нужные адреса,подсети в адрес-лист(тот в который нужен мне),
компы через 10-20 сек уже начинают работать только через этот канал.
P.S.1) На картинке показано как у меня это наяву, канал 5 - отключила контора (экономия), канал 6 так и не подключили, но в своё время
под него делал конфигурацию и описывал.
P.S.2 (внизу привожу полный конфиг мангла своего домашнего роутера, у меня правда каналов 9 описаны,
я убрал все кроме первых двух, чтобы было видна логика, остальные каналы описываются также,правятся
только названия, интерфейсы, комментарии и так далее).
Главное в файрволле иметь адрес-лист LocalNet (IP адресации локальный сети).
Код: Выделить всё
/ip firewall address-list
add address=192.168.25.241 comment="ISP1 - RTK" list=to_ISP1
add address=192.168.25.242 comment="ISP2 - SKTV" list=to_ISP2
add address=192.168.25.0/24 comment="Network of VLAD" list=LocalNet
/ip firewall mangle
add action=mark-connection chain=input comment="Mark-conn input on ISP1_in" \
in-interface=vlan7-W-id287 new-connection-mark=ISP1_in passthrough=no
add action=mark-connection chain=input comment="Mark-conn input on ISP2_in" \
disabled=yes in-interface=pppoe-13 new-connection-mark=ISP2_in passthrough=no
add action=mark-connection chain=forward comment=\
"Mark-conn forward on ISP1_in to new-mark ISP1_for" in-interface=\
vlan7-W-id287 new-connection-mark=ISP1_for passthrough=no
add action=mark-routing chain=prerouting comment=\
"Mark-rout with mark-conn ISP1_for to route via iface of ISP1" \
connection-mark=ISP1_for new-routing-mark=ISP1_rout passthrough=no \
src-address-list=LocalNet
add action=mark-connection chain=forward comment=\
"Mark-conn forward on ISP2_in to new-mark ISP2_for" disabled=yes \
in-interface=pppoe-13 new-connection-mark=ISP2_for passthrough=no
add action=mark-routing chain=prerouting comment=\
"Mark-rout with mark-conn ISP2_for to route via iface of ISP2" \
connection-mark=ISP2_for disabled=yes new-routing-mark=ISP2_rout \
passthrough=no src-address-list=LocalNet
add action=mark-routing chain=output comment=\
"Mark-rout with mark-conn ISP1_in to route via iface ISP1" \
connection-mark=ISP1_in new-routing-mark=ISP1_rout passthrough=no
add action=mark-routing chain=output comment=\
"Mark-rout with mark-conn ISP2_in to route via iface ISP2" \
connection-mark=ISP2_in disabled=yes new-routing-mark=ISP2_rout \
passthrough=no
add action=mark-routing chain=prerouting comment="GO-to-ISP1 (via AddrList)" \
connection-mark=no-mark dst-address-list=!LocalNet new-routing-mark=\
ISP1_rout passthrough=no src-address-list=to_ISP1
add action=mark-routing chain=prerouting comment="GO-to-ISP2 (via AddrList)" \
connection-mark=no-mark disabled=yes dst-address-list=!LocalNet \
new-routing-mark=ISP2_rout passthrough=no src-address-list=to_ISP2