Согласно странице, сделать балансировку нагрузки в RouterOS очень просто. После десяти попыток я так и не смог этого добиться. Я выяснил, что проблема в том, что команда [ :set R1 1.1.1.1 ] никогда не присваивает значение 1.1.1.1 переменной R1 в условном операторе. Я уверен, что инструмент netwatch работает, потому что он показывает, что R1 недоступен, когда я выключаю роутер R1. И счетчик запусков системных скриптов показывает, что скрипт был запущен один раз. Поскольку [ :set R1 1.1.1.1 ] никогда не присваивает значение R1, результат gateway=( $R1 . , . $R2 ) тоже неверный. Если заменить gateway на 3.3.3.3.1, вы сможете выполнить /ip router print и убедиться, что шлюз был успешно изменен.
Может кто-нибудь помочь?
Спасибо,
Nick
/ip route add gateway=1.1.1.1,2.2.2.1
/system script set fo source={
:local R1
:local R2
:if ([/tool netwatch get R1 status]=up) do={: set R1 1.1.1.1 }
:if ([/tool netwatch get R2 status]=up) do={: set R2 2.2.2.1 }
/ip route set [/ip route find dst-address=0.0.0.0/0] gateway=( $R1 . , . $R2 )
}
/tool netwatch add comment=R1 host=1.1.1.1 interval=5s up-script=fo down-script=fo
/tool netwatch add comment=R2 host=2.2.2.1 interval=5s up-script=fo down-script=fo
Может кто-нибудь помочь?
Спасибо,
Nick
/ip route add gateway=1.1.1.1,2.2.2.1
/system script set fo source={
:local R1
:local R2
:if ([/tool netwatch get R1 status]=up) do={: set R1 1.1.1.1 }
:if ([/tool netwatch get R2 status]=up) do={: set R2 2.2.2.1 }
/ip route set [/ip route find dst-address=0.0.0.0/0] gateway=( $R1 . , . $R2 )
}
/tool netwatch add comment=R1 host=1.1.1.1 interval=5s up-script=fo down-script=fo
/tool netwatch add comment=R2 host=2.2.2.1 interval=5s up-script=fo down-script=fo
