Не факт что сразу заработает, но при желании допилите.
https://chat.openai.com/chat дает такой ответ: Для реализации данного функционала необходимо написать скрипт на языке script MikroTik RouterOS.
Приведу пример такого скрипта:
---------------------------------------------------------------------------------------------------------------------
:local host "192.168.1.1" # IP-адрес хоста, который необходимо проверять
:local interface1 "ether1" # Имя интерфейса, который используется по умолчанию
:local interface2 "eoip-tunnel1" # Имя интерфейса, который будет использоваться при недоступности хоста
:while (true) do={
:if ([ping $host count=1] = 0) do={
# Хост недоступен, меняем интерфейсы
/interface igmp-proxy set [find name=igmp-proxy] interface=$interface2
/interface igmp-proxy set [find name=igmp-proxy] multicast-interfaces=$interface2
/log info "Switched to $interface2 interface"
} else={
# Хост доступен, возвращаем настройки
/interface igmp-proxy set [find name=igmp-proxy] interface=$interface1
/interface igmp-proxy set [find name=igmp-proxy] multicast-interfaces=$interface1
/log info "Switched to $interface1 interface"
}
# Пауза между проверками состояния хоста
/delay 10s
}
--------------------------------------------------------------------------------------------------------------------------
В данном скрипте используется бесконечный цикл, в котором осуществляется проверка доступности хоста через ping. Если хост недоступен, то настройки интерфейсов igmp-proxy изменяются на интерфейс interface2, если хост доступен - на интерфейс interface1. В лог-файл выводится информация о смене интерфейса.
После написания скрипта, необходимо сохранить его на MikroTik RouterOS и запустить. Для этого можно воспользоваться командой /system script add и /system scheduler add.
Пример команд для запуска скрипта:
---------------------------------------------------------------------------------------------------------------------------
/system script add name=switch-igmp-proxy source="`<вставить сюда содержимое скрипта>`"
/system scheduler add name=check-host interval=10s on-event=switch-igmp-proxy
----------------------------------------------------------------------------------------------------------------------------
Данный скрипт будет проверять доступность хоста каждые 10 секунд и менять настройки igmp-proxy в зависимости от его состояния.