все зависит от того, как именно ты к этим провайдерам подключен, потому как, например отловить на ethernet тот факт, что связи нет, довольно проблематично.
Ладно, уговорили, если у прова нету RIPv2 или его трудно включить - хорошо, пойдем другим путем:
- можно периодически (crond) смотреть состояние у ifconfig параметр carrier (количество потерь несущей) на предмет есть ли сигнал, если нет - у прова проблемы;
- да, можно периодически кого-нить пингать, раз в пять-десять минут напрмер. если не пингается (мало-ли что бывает), пингать второй вариант, если и он не пингается и третий и четвертый и пятый в какой-нить другой зоне -- то стопудово у вышестоящего прова проблемы, можно переключаться;
- в конце концов, если пров выдает не реальные айпи, а внутренние и выпускает через vpn можно мониторить состояние интерфейса ppp*; в таком случае еще можно слушать трафик, ведь GRE-пакеты от прова все равно должны приходить, вне зависимости от того есть ли обмен трафиком.
В общем все равно вариантов масса. Наверно лучше отобрать список внешних хостов и периодически кого-нить пингать, каждый раз кого-нить другого, чтоб особо им не надоедать (мало-ли, может кого напрягает?). Топорно конечно, но вполне работоспособно.