Ale jistě, jde to i bez skriptu/netwatch, protože routa umí sebe sama z(ne)platnit při ne/dostupnosti cílové brány při zapnutém checku pomocí pingu. A když jako výchozí bránu použiju třeba DNS Googla, tam mám hotovo, jenom musím použít rekurzivní routu.
Předpoládejme, že brána od ISP1 je 192.0.2.1, od ISP2 pak 198.51.100.1, pak by mohlo fungovat toto:
/ip route
add dst-address=8.8.4.4 gateway=192.0.2.1 scope=10
add distance=1 gateway=8.8.4.4 check-gateway=ping
add distance=2 gateway=198.51.100.1 check-gateway=ping
Pokud bude na ping odpovídat 8.8.4.4, tak se routuje přes ISP1, když to lehne, půjde to druhou linkou. Pomocí ECMP si těch test IPček můžu dát vícero, protže nedávno nám i Google ukázal, že dokáže nefungovat. :-)
V praxi bych to ale nepoužil a šel na to tím skriptem. Tohle přepíná při prvním vypadlém paketu, což někdy může dost prudit. A pak je většinou vhodné aspoň nějak promazat connection při přepnutí linek, jinak do linky půjdou blbosti, což jde jen skriptem (a v aktuálních verzích ROSu i dost blbě).