Pessoal depois de muito pesquisar, finalmente consegui fazer um fail-over com iproute com conexões Dinamicas ...

Segue scritp e śo colocar e rodar ....

################################### ##
echo "Inicializando procedimento de rotas"

# RESETANDO TABELAS DE ROTAS, PADRAO DO SISTEMA
echo "255 local" > /etc/iproute2/rt_tables
echo "254 main" >> /etc/iproute2/rt_tables
echo "253 default" >> /etc/iproute2/rt_tables
echo "0 unspec" >> /etc/iproute2/rt_tables
# ADICIONANDO OUTRAS TABELAS
echo "200 router1" >> /etc/iproute2/rt_tables
echo "201 router2" >> /etc/iproute2/rt_tables
#echo "202 router3" >> /etc/iproute2/rt_tables

echo " declarando variaveis"

ROTA0=`ifconfig ppp0 | awk '/P-a-P:/{print $4}'| cut -d: -f2`
ROTA1=`ifconfig ppp1 | awk '/P-a-P:/{print $4}'| cut -d: -f2`
IP0=`ifconfig ppp0 | awk '/inet/{print $3}'| cut -d: -f2`
IP1=`ifconfig ppp1 | awk '/inet/{print $3}'| cut -d: -f2`


# RESETANDO AS TABELAS
echo " resetando as tabelas"
ip route flush table router1
ip route flush table router2

# Deletando Default Gateway tabela Main
ip route del default

#Selecionando o default Gateway de acorod com o endereço de rede de cada interface
ip route add default via $ROTA0 dev ppp0 table router1
ip route add default via $ROTA1 dev ppp1 table router2

ip rule add prio 10 table main

#####
ip rule add prio 20 from $IP0 table router1
ip rule add prio 20 from $IP1 table router2

#####
ip rule add prio 16 table router1
ip rule add prio 20 table router2

ip route flush cache

echo "ppp0 - router =" $ROTA0
echo "Ip - PPP0 =" $IP0

echo "ppp1 - router =" $ROTA1
echo "Ip - PPP1 =" $IP1