Не так давно подключили дополнительного провайдера в виде беспроводной йоты, простого «свистка». Имеем Mikrotik CCR1009-8G-1S-1S+, на котором есть usb. Но возникла проблема, йота периодически зависает и пока не перезагрузишь — ничего не работает. Обращался в техническую поддержку Йоты, предложили купить роутер Zyxel, либо поставить между йотой и микротиком устройство которое будет отключать и включать электропитание 1 раз в сутки. Покупать дополнительный роутер который будет использоваться для йоты никто не хотел, а ставить переключатель тоже не вариант-вдруг йота подвиснет днем, а переключатель настроен на 23:00. Конечных решений для данной проблемы в ресурсах сети не нашел (а возможно плохо искал). Поэтому решено было настроить автоматический reset yota.
Предварительно в самой йоте настраиваем адрес из отличной от вашей локальной сети. Например я использую сеть 192.168.32.0/24, поэтому адрес йоты выбрал 172.16.0.1.
На интерфейс lte маршрутизатора:
/ip address
add address=172.16.0.10/24 interface=lte1 network=172.16.0.0
Скрипт для переключения йоты и отправки уведомления на почту. Необходимо в меню winbox зайти в /system script, нажать «добавить», дать имя — reboot_yota.
Ниже сам скрипт, тут все понятно.
/system routerboard usb power-reset duration=3
— сбрасывает питание подаваемое к «свистку»
/tool e-mail send server=work.ru port=25 user=router@work.ru password=password to=admin@work.ru from="router1"
subject="MikroTik: $[/system clock get date], $[/system clock get time]"
body="Yota reboot: $[/system clock get date]nDate: $[/system clock get time]nMyName: $[/system identity get name]:";
— отправляет уведомление на адрес admin@work.ru о том, в какое время и какой роутер сбросил питание йоте.
Далее заходим в Netwatch, данная фича от микротик позволяет мониторить состояние канала через определенные промежутки времени:
/tool netwatch
add down-script=reboot_yota host=172.16.0.1 interval=30s
Видно из правила, что при отсутствии доступности 172.16.0.1- выполняется скрипт. На Up ничего не указываем т.к. в данной ситуации мы следим только за падением канала.
И в дополнение, если вы все таки решили купить белый адрес у йоты, то для этого необходимо правильно настроить правила маркировки и сделать маршруты:
/ip firewall mangle add action=mark-connection chain=input in-interface=lte1 new-connection-mark=conn_yota_in add action=mark-routing chain=output connection-mark=conn_yota_in new-routing-mark=out_yota passthrough=no add action=mark-connection chain=prerouting connection-state=new in-interface=lte1 new-connection-mark=conn-yota-fw add action=mark-routing chain=prerouting connection-mark=conn-yota-fw in-interface=bridge-local new-routing-mark=route-yota-fw passthrough=no /ip route add distance=1 gateway=172.16.0.1 routing-mark=out_yota add distance=1 gateway=172.16.0.1 routing-mark=inet_for_yota add distance=1 gateway=172.16.0.1 routing-mark=route-yota-fw
Порты пробрасываются корректно, удаленный доступ к роутеру по внешнему адресу есть. В случае зависания, Yota перегружается и уведомляет об этом администратора. Если есть замечания, дополнения и критика — пишите.
Автор: iwram