Уважаемы специалисты! Нужен Ваш совет.
Есть роутер (3.20) в которого только одна задача объединить два канала в «один». Объединение работает. Соотношение нагрузки 1 к 2.
Тоесть 3 сетевухи:
/ip address
add address=192.168.28.2/24 broadcast=192.168.28.255 comment=Inet_Modem_1 disabled=no interface=ether1 network=192.168.28.0
add address=192.168.1.3/24 broadcast=192.168.1.255 comment=Inet_Modem_2 disabled=no interface=ether2 network=192.168.1.0
add address=172.168.0.1/24 broadcast=172.168.0.255 comment=Output disabled=no interface=ether3 network=172.168.0.0
метим:
/ip firewall mangle
add action=mark-connection chain=prerouting comment= Inet_1 connection-state=new disabled=no in-interface=ether3 new-connection-mark= Inet_1 nth=3,1 passthrough= yes
add action=mark-routing chain=prerouting comment="" connection-mark=Inet_1 disabled=no in-interface=ether3 new-routing-mark= Inet_1 passthrough=no
add action=mark-connection chain=prerouting comment= Inet_2 connection-state=new disabled=no in-interface=ether3 new-connection-mark= Inet_2 nth=2,1 passthrough=yes
add action=mark-routing chain=prerouting comment="" connection-mark= Inet_2 disabled=no in-interface=ether3 new-routing-mark= Inet_2 passthrough=no
add action=mark-connection chain=prerouting comment= Inet_3 connection-state=new disabled=no in-interface=ether3 new-connection-mark= Inet_3 nth=1,1 passthrough=yes
add action=mark-routing chain=prerouting comment="" connection-mark= Inet_3 disabled=no in-interface=ether3 new-routing-mark= Inet_3 passthrough=no
и направляем так чтобы в случае отваливание одного из каналов все переключалось на другой рабочий:
/ip firewall nat
add action=masquerade chain=srcnat comment="" disabled=no src-address=172.168.0.0/24
/ip route
add comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark= Inet_2 scope=255 target-scope=10
add comment="" disabled=no distance=2 dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark= Inet_3 scope=255 target-scope=10
add comment="" disabled=no distance=2 dst-address=0.0.0.0/0 gateway=192.168.28.1 routing-mark= Inet_2 scope=30 target-scope=10
add comment="" disabled=no distance=2 dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark= Inet_1 scope=30 target-scope=10
add check-gateway=arp comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.28.1 routing-mark= Inet_3 scope=255 target-scope=10
add check-gateway=arp comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.28.1 routing-mark= Inet_1 scope=255 target-scope=10
Вся схема работает почти замечательно (не считая того что нагрузка не делится 1 к двум, а на Inet_2 идет больше чем на Inet_1 и Inet_3).
Далее хочу направить определенный трафик на определенный интерфейс. Тоесть к примеру чтобы ICMP шел на тот интерфейс который я выберу. Что я делаю. К существующим правилам добавляю еще эти:
/ip firewall mangle
add action=mark-connection chain=prerouting comment="ICMP" disabled=no new-connection-mark=ICMP passthrough=yes protocol=icmp
add action=mark-packet chain=prerouting comment="" connection-mark=ICMP disabled= no new-packet-mark=ICMP passthrough=yes protocol=icmp
add action=mark-routing chain=prerouting comment="" connection-mark=ICMP disabled= no new-routing-mark=ICMP packet-mark=ICMP passthrough=yes
/ip route
add comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=ICMP scope=30 target-scope=10
и не работает. Пакеты в Mangle вроде метятся но когда включаю роут пингы сразу тухнут.
Вопрос: Что не так? или Где я напутал? Или эти правила в такой последовательности работать не будут?
Заранее всем дочитавшим все это до конца большее спасибо