Добрый день, народ. Помогите, пожалуйста, решить дилему. Микротик получает по DHCP интернет от 4 провайдеров + 5 резервный канал и передает трафик с балансировкой через DHCP сервер в бридж. На данный момент есть проблема в том, что при физическом отключении 1 порта я теряю связь с интернетом в целом. Как сделать так, чтобы при отключении любого из портов связь не терялась ( 1 выключен, работают 3 других, а если 4 отключены работало на резерве и была стабильность в скорости для конечных пользователей? Конфиги прилагаю: Спойлер: ip address print ip address print Flags: X - disabled, I - invalid, D - dynamic # ADDRESS NETWORK INTERFACE 0 D 192.168.8.101/24 192.168.8.0 ISP5 1 D 192.168.2.20/24 192.168.2.0 ISP2 2 172.16.10.1/24 172.16.10.0 bridge-lan 3 D 192.168.1.105/24 192.168.1.0 Спойлер: ip route print p route print Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit # DST-ADDRESS PREF-SRC GATEWAY DISTANCE 0 A S 0.0.0.0/0 192.168.1.1 1 1 A S 0.0.0.0/0 192.168.2.1 1 2 S 0.0.0.0/0 192.168.3.1 1 3 S 0.0.0.0/0 192.168.4.1 1 4 A S 0.0.0.0/0 192.168.8.1 1 5 ADS 0.0.0.0/0 192.168.1.1 1 6 DS 0.0.0.0/0 192.168.2.1 1 7 S 0.0.0.0/0 192.168.3.1 1 8 S 0.0.0.0/0 192.168.1.1 1 9 S 0.0.0.0/0 192.168.2.1 2 10 S 0.0.0.0/0 192.168.3.1 3 11 S 0.0.0.0/0 192.168.4.1 4 12 S 0.0.0.0/0 192.168.8.1 5 13 ADC 172.16.10.0/24 172.16.10.1 bridge-lan 0 14 ADC 192.168.1.0/24 192.168.1.105 ISP1 0 15 ADC 192.168.2.0/24 192.168.2.20 ISP2 0 16 ADC 192.168.8.0/24 192.168.8.101 ISP5 Спойлер: firewall mangle ip firewall mangle print Flags: X - disabled, I - invalid, D - dynamic 0 chain=input action=mark-connection new-connection-mark=ISP1_conn in-interface=ISP1 1 chain=input action=mark-connection new-connection-mark=ISP2_conn in-interface=ISP2 2 chain=input action=mark-connection new-connection-mark=ISP3_conn in-interface=ISP3 3 chain=input action=mark-connection new-connection-mark=ISP4_conn in-interface=ISP4 4 chain=input action=mark-connection new-connection-mark=ISP5_conn in-interface=ISP5 5 chain=output action=mark-routing new-routing-mark=to_ISP1 connection-mark=ISP1_conn 6 chain=output action=mark-routing new-routing-mark=to_ISP2 connection-mark=ISP2_conn 7 chain=output action=mark-routing new-routing-mark=to_ISP3 connection-mark=ISP3_conn 8 chain=output action=mark-routing new-routing-mark=to_ISP4 connection-mark=ISP4_conn 19 chain=prerouting action=mark-connection new-connection-mark=ISP1_conn dst-address-type=!local in-interface=bridge-lan per-connection-classifier=both-addresses-and-ports:5/0 20 chain=prerouting action=mark-connection new-connection-mark=ISP2_conn dst-address-type=!local in-interface=bridge-lan per-connection-classifier=both-addresses-and-ports:5/1 21 chain=prerouting action=mark-connection new-connection-mark=ISP3_conn dst-address-type=!local in-interface=bridge-lan per-connection-classifier=both-addresses-and-ports:5/2 22 chain=prerouting action=mark-connection new-connection-mark=ISP4_conn dst-address-type=!local in-interface=bridge-lan per-connection-classifier=both-addresses-and-ports:5/3 23 chain=prerouting action=mark-connection new-connection-mark=ISP5_conn dst-address-type=!local in-interface=bridge-lan per-connection-classifier=both-addresses-and-ports:5/4 24 chain=prerouting action=mark-routing new-routing-mark=to_ISP1 connection-mark=ISP1_conn in-interface=bridge-lan 25 chain=prerouting action=mark-routing new-routing-mark=to_ISP2 connection-mark=ISP2_conn in-interface=bridge-lan 26 chain=prerouting action=mark-routing new-routing-mark=to_ISP3 connection-mark=ISP3_conn in-interface=bridge-lan 27 chain=prerouting action=mark-routing new-routing-mark=to_ISP4 connection-mark=ISP4_conn in-interface=bridge-lan 28 chain=prerouting action=mark-routing new-routing-mark=to_ISP5 connection-mark=ISP5_conn in-interface=bridge-lan
Вы не в той цепочке, вроде, маркируете в mangle, вот изучите: https://mum.mikrotik.com/2015/RU/agenda https://spw.ru/forum/threads/3-wan-3-lan.343/#post-2500
не в той цепочке? если я правильно понял, то мне нужно замаркировать входящий через трафик с каждого WAN, отправить в сеть, и сделать выход Наружу, а то что вернется размаркировать. Тогда пакеты будут уходить через определенный интерфейс, а внутри будут обрабатываться по основной таблице маршрутизации. А если один из интерфейсов будет неактивен, то пакеты же нужно перенаправить на другой и в процессе, чтобы они вернулись. Будьте добры, подскажите какую цепь сменить или какую еще добавить.
Изучите материал, все станет ясно. Пакеты которые идут через роутер, т.е. на ваши компьютеры которые внутри вашей локальной сети, не попадают в цепочку INPUT...
а если так ? Спойлер: firewall mangle /ip firewall mangle add action=mark-connection chain=input in-interface=ISP1 new-connection-mark=con_ISP1 add action=mark-connection chain=input in-interface=ISP2 new-connection-mark=con_ISP2 add action=mark-connection chain=input in-interface=ISP3 new-connection-mark=con_ISP3 add action=mark-connection chain=input in-interface=ISP4 new-connection-mark=con_ISP5 add action=mark-connection chain=input in-interface=ISP5 new-connection-mark=con_ISP5 add action=mark-connection chain=input in-interface=ISP4 new-connection-mark=con_ISP4 add action=mark-routing chain=output connection-mark=con_ISP1 new-routing-mark=rout_ISP1 add action=mark-routing chain=output connection-mark=con_ISP2 new-routing-mark=rout_ISP2 add action=mark-routing chain=output connection-mark=con_ISP3 new-routing-mark=rout_ISP3 add action=mark-routing chain=output connection-mark=con_ISP4 new-routing-mark=rout_ISP4 add action=mark-routing chain=output connection-mark=con_ISP5 new-routing-mark=rout_ISP5 add action=mark-routing chain=prerouting new-routing-mark=lan_out-ISP1 nth=5,1 src-address=172.16.10.0/24 add action=mark-routing chain=prerouting new-routing-mark=lan_out-ISP2 nth=5,2 src-address=172.16.10.0/24 add action=mark-routing chain=prerouting new-routing-mark=lan_out-ISP3 nth=5,3 src-address=172.16.10.0/24 add action=mark-routing chain=prerouting new-routing-mark=lan_out-ISP4 nth=5,4 src-address=172.16.10.0/24 add action=mark-routing chain=prerouting new-routing-mark=lan_out-ISP5 nth=5,5 src-address=172.16.10.0/2
Рабочий вариант: /ip firewall mangle add action=mark-connection chain=prerouting comment=mark-conn-from-WAN1 \ connection-mark=no-mark in-interface=ether11-WAN1 new-connection-mark=\ from-WAN1 passthrough=yes add action=mark-routing chain=prerouting comment=mark-route-from-WAN1 \ connection-mark=from-WAN1 in-interface-list=!WAN new-routing-mark=WAN1 \ passthrough=yes add action=mark-routing chain=prerouting comment=mark-route-from-WAN2 \ connection-mark=from-WAN2 in-interface-list=!WAN new-routing-mark=WAN2 \ passthrough=yes add action=mark-connection chain=prerouting comment=mark-conn-from-WAN2 \ connection-mark=no-mark in-interface=ether13-WAN2 new-connection-mark=\ from-WAN2 passthrough=yes add action=mark-routing chain=output comment=mark-route-from-WAN1 \ connection-mark=from-WAN1 new-routing-mark=WAN1 passthrough=yes add action=mark-routing chain=output comment=mark-route-from-WAN2 \ connection-mark=from-WAN2 new-routing-mark=WAN2 passthrough=yes
кажется получилось. возникла другая проблема. скриптом настроен переключение на резерв. при этом меняется шлюз на резервный канал. Если в этом момент работают другие каналы, выхода в мир нет (через 2 или 3 Ван, резерв на 5). Как организовать работу, чтобы резерв срабатывал только когда все ВАН порты были неактивны. А если отключался 1, в работу входили 2-4 и балансировка проходила между ними, пропал 2, то работает 3-4 и так далее. Как только все становятся неактивны, то в работу вступает резерв. Спойлер: reserv /ip route set gateway=192.168.8.1 [find dst-address=0.0.0.0/0]; Спойлер: firewall mangle for balancing /ip firewall mangle add action=accept chain=prerouting dst-address=192.168.1.0/24 in-interface=\ bridge-lan add action=accept chain=prerouting dst-address=192.168.3.0/24 in-interface=\ bridge-lan add action=accept chain=prerouting dst-address=192.168.2.0/24 in-interface=\ bridge-lan add action=accept chain=prerouting dst-address=192.168.4.0/24 in-interface=\ bridge-lan add action=mark-connection chain=prerouting connection-mark=no-mark \ in-interface=ISP1 new-connection-mark=ISP1_conn passthrough=yes add action=mark-connection chain=prerouting connection-mark=no-mark \ in-interface=ISP2 new-connection-mark=ISP2_conn passthrough=yes add action=mark-connection chain=prerouting connection-mark=no-mark \ in-interface=ISP3 new-connection-mark=ISP3_conn passthrough=yes add action=mark-connection chain=prerouting connection-mark=no-mark \ in-interface=ISP4 new-connection-mark=ISP4_conn passthrough=yes add action=mark-connection chain=prerouting connection-mark=no-mark \ dst-address-type=!local in-interface=bridge-lan new-connection-mark=\ ISP1_conn passthrough=yes per-connection-classifier=both-addresses:4/0 add action=mark-connection chain=prerouting connection-mark=no-mark \ dst-address-type=!local in-interface=bridge-lan new-connection-mark=\ ISP2_conn passthrough=yes per-connection-classifier=both-addresses:4/1 add action=mark-connection chain=prerouting connection-mark=no-mark \ dst-address-type=!local in-interface=bridge-lan new-connection-mark=\ ISP3_conn passthrough=yes per-connection-classifier=both-addresses:4/2 add action=mark-connection chain=prerouting connection-mark=no-mark \ dst-address-type=!local in-interface=bridge-lan new-connection-mark=\ ISP4_conn passthrough=yes per-connection-classifier=both-addresses:4/3 add action=mark-connection chain=prerouting connection-mark=no-mark \ dst-address-type=!local in-interface=bridge-lan new-connection-mark=\ ISP5_conn passthrough=yes per-connection-classifier=both-addresses:4/4 add action=mark-routing chain=prerouting connection-mark=ISP1_conn \ in-interface=ISP1 new-routing-mark=to_ISP1 passthrough=yes add action=mark-routing chain=prerouting connection-mark=ISP2_conn \ in-interface=ISP2 new-routing-mark=to_ISP2 passthrough=yes add action=mark-routing chain=prerouting connection-mark=ISP3_conn \ in-interface=ISP3 new-routing-mark=to_ISP3 passthrough=yes add action=mark-routing chain=prerouting connection-mark=ISP4_conn \ in-interface=ISP4 new-routing-mark=to_ISP4 passthrough=yes add action=mark-routing chain=output connection-mark=ISP1_conn \ new-routing-mark=to_ISP1 passthrough=yes add action=mark-routing chain=output connection-mark=ISP2_conn \ new-routing-mark=to_ISP2 passthrough=yes add action=mark-routing chain=output connection-mark=ISP3_conn \ new-routing-mark=to_ISP3 passthrough=yes add action=mark-routing chain=output connection-mark=ISP4_conn \ new-routing-mark=to_ISP4 passthrough=yes