demidov писал(а): ↑15 июл 2018, 09:09
Vlad-2
Может все таки конфиг сброшу, если не трудно посмотришь? Могу удаленку дать или подобный конфиг а я сам переделать поробую
Может Ваш конфиг с моим просто не совместим. Я балансировку как Вы не использую. Я сам управляю какое(какие) сети/устройства идут туда, куда я хочу.
У меня несколько провайдеров, плюс рабочие каналы и мне так удобнее.
Вот мой сжатый пример (для двух провайдеров)
Сразу о переменных/адрес-листов которые я использую (ВАЖНО)
Адрес-листы интерфейсов!!!! (задаются во второй закладке окна Интерфейсы, сначала создаём адрес-лист и потом привязываем
какой провайдер куда у нас будет ассоциироваться, удобство в том, что при смене подключения провайдера, логики,
сама маркировка не меняется и меняется только сопоставление, то есть при смене провайдеров, типа подключения,
в MANGLE не лезем больше).
а)
ls1-WAN1 - это адрес-лист интерфейса (я ls1-WAN1 сопоставил с внешним интерфейсом провайдера 1)
б)
ls2-WAN2 - это адрес-лист интерфейса (я ls2-WAN2 сопоставил с внешним интерфейсом провайдера 2)
ПРИМЕР №1
Адрес-листы в файрволе
а) LocalNet - адрес-лист в котором у меня описаны все локальные сети, роутер должен знать что у него/для него локальные адреса,
и уже от этого он будет исходить в будущем (то есть указываете Вашу локальную адресацию)
б) to_ISP1 - адрес-лист куда Вы вносите адрес того, кого Вы будете явно направлять в 1й канал
в) to_ISP2 - адрес-лист куда Вы вносите адрес того, кого Вы будете явно направлять в 2й канал
Код: Выделить всё
/ip firewall mangle
add action=mark-connection chain=input comment="Mark-conn input on ISP1_in" in-interface-list=ls1-WAN1 new-connection-mark=ISP1_in passthrough=no
add action=mark-connection chain=input comment="Mark-conn input on ISP2_in" in-interface-list=ls2-WAN2 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-list=ls1-WAN1 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" in-interface-list=ls2-WAN2 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 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 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 dst-address-list=!LocalNet new-routing-mark=ISP2_rout passthrough=no src-address-list=to_ISP2
Также, как Вы делали и у себя, Вы должны сделать две промаркированные таблицы маршрутизации, используя названиям которые
использовали при создания маркировки. И напоминаю, у роутера по-умолчанию должен быть один маршрут по-умолчанию без
маркировки, чтобы сам роутер, как клиент мог тоже выходить/пинговать/делать ДНС-запросы.
ПРИМЕР №2
По идеи И всё, главное сделать адрес-листы(обычные и интерфейсов), потом перенести правила, желательно так как они идут,
не меняя последовательность, сделать таблицы маршрутизации и пробовать, поставить два компа, один комп (его
адрес засунуть в to_ISP1, второй в to_ISP2) и путём трассировки смотреть туда уходят трассировку куда надо или нет.