Basta pingar um host dentro da sua rede que normalmente está sempre disponível e se o ping retornar qualquer coisa, exceto 0, execute o script ...
while :
do
ping -c 1 -n -W 2 HostName
iPingReturn=$?
if [[ $iPingReturn != 0 ]] ; then
ScriptToRunInCaseOfFailure.sh
fi
done
A desvantagem deste sistema é que se aquele host específico cair, seu script acha que a rede está inoperante, portanto eu normalmente faço um send-notify, não executo um script ...