Когда эта тема только появилась, второй LAN-порт на USG был напрямую и неразрывно связан с функционалом PBX, который тогда был на платформе. Нельзя было задать для LAN2 что-то другое, кроме как VoIP-порта, с его кучей ограничений, которые мне тогда не нравились. Невозможно было сделать так, чтобы LAN2 был онлайн и работал так, как мне было нужно. С тех пор функция VoIP была убрана, а возможность назначать LAN2 в одну или несколько сетей появилась через GUI, так что обходной путь, который я искал, больше не нужен. Решения не давали — проблема просто перестала быть актуальной.
В вашем случае, похоже, вы пытаетесь решить ту же проблему: хотите включить WAN-порт, но не использовать функции в GUI. Это приводит к тому, что контроллер вставляет в конфигурацию «disable» (отключение), которое нельзя отменить, потому что команды «enable» нет — есть только «delete disable», которую нельзя прописать в JSON. Единственный способ, который я знаю, — это скрипт, который удаляет строку «interfaces ethernet eth2 disable» каждый раз, когда контроллер вновь вставляет эту команду в конфигурацию. Как запускать этот скрипт — решать вам. Самый простой вариант, который я могу предложить, — cron-задача с интервалом в 5 минут.
На данный момент я не знаю способа полностью избежать простоя; все известные мне методы реактивные и работают уже после того, как контроллер отключил интерфейс. В итоге вы столкнётесь с тем, что система изначально задумана работать определённым образом, а вы пытаетесь имплементировать функцию, несовместимую с текущей архитектурой. Это не значит, что ваше желание плохо (наоборот, очень желанное!), просто при нынешнем дизайне платформы ваша задумка не сочетается с её базовыми функциями.
Нужно сосредоточиться на том, чтобы изменить это.