Исходя из схемы, запрос 8001 порта извне идет INPUT INTERFACE -> DST-NAT -> ROUTING DECISION -> MANGLE FORWARDING -> FILTER FORWARD -> MANGLE POSTROUTING -> OUTPUT INTERFACE
По сути нам надо поймать и сделать марку ISP1 и ISP2 на MANGLE PREROUTING и "сказать" что ROUTE OUTPUT будет через ISP1 и также через ISP2 соответветственно, НО ЭТО НЕ РАБОТАЕТ! (
Я делал маркировку прероута по входу чуерез ISP1 и говорил ROUTE OUT через ISP1 и также для ISP2, но это не работает... Причем в FIREWALL CONNECTION пакем видно что уходит через нужную марку, но при этом в браузере - TIMEOUT, зато как только мы меняем дефолт провайдера - меняя дистансы, все тут же уходит с ISP2.
В итоге решение таково, надо работать как с входом так и с внутренними сетями, те просто сделать марку на прероут по входу и отдать по выходу не получится, тк пакет внутри видимо все же не знает куда ему следовать, итого:
1. Метим входящие соединения от каждого из провайдеров
/ip firewall mangle add action=mark-connection chain=prerouting \
comment="Connmark in from ISP1" connection-mark=no-mark in-interface=ether1 \
new-connection-mark=conn_isp1 passthrough=no
/ip firewall mangle add action=mark-connection chain=prerouting \
comment="Connmark in from ISP2" connection-mark=no-mark in-interface=ether2 \
new-connection-mark=conn_isp2 passthrough=no
2. Направляем ответный транзитный трафик по соответствующим таблицам маршрутизации
/ip firewall mangle add action=mark-routing chain=prerouting \
comment="Routemark transit out via ISP1" connection-mark=conn_isp1 \
dst-address-type=!local in-interface-list=!WAN new-routing-mark=to_isp1 passthrough=no
/ip firewall mangle add action=mark-routing chain=prerouting \
comment="Routemark transit out via ISP2" connection-mark=conn_isp2 \
dst-address-type=!local in-interface-list=!WAN new-routing-mark=to_isp2 passthrough=no
3.
Направляем ответный локальный трафик по соответствующим таблицам маршрутизации
/ip firewall mangle add action=mark-routing chain=output \
comment="Routemark local out via ISP1" connection-mark=conn_isp1 \
dst-address-type=!local new-routing-mark=to_isp1 passthrough=no
/ip firewall mangle add action=mark-routing chain=output \
comment="Routemark local out via ISP2" connection-mark=conn_isp2 \
dst-address-type=!local new-routing-mark=to_isp2 passthrough=no