Как сделать gateway fallback?

Есть три сервера в локалке работающие как gateway первом стоит sing-box в режиме tun в inbound, подключение через vless-xtls-reality, на втором простой openvpn клиент и на третьем wireguard. Немножко прошерстив интернет нашел что есть VRRP (Virtual Router Redundancy Protocol) почти прям то что нужно, но это как-то слишком мощно и сложно. Логика понятная, создаем псевдо-gateway который будет сам по какой-то логике переадресовывать на них.

  1. Может есть готовые или более простые решения? Может кто уже делал такое?

  2. Понять что openvpn или wg живой и работает несложно, просто пинговать внутри тоннеля. А как быть с vless? Пинговать гугл будет достаточно?

можно сделать все на синг-боксе, там есть outbound URLtest который будет выбирать рабочий outbound (любой встроенный или внешний если он создаёт tun интерфейс (wg и openvpn в их числе))

но стабильность у sing-box не лучшая поэтому я бы не делал его центром прохода трафика, а сделал бы скрипт в котром был бы просто что-то типа if ! curl -m 5 --interface openvpn_tun 1.1.1.1; then ifmetric openvpn_tun 100 и т.п. для остальных интерфейсов чтобы просто исключать их из маршрута если curl фейлит