В папках /etc/ppp/ip-down.d и /etc/ppp/ip-up.d могут лежат скрипты которые запускаются каждый раз при поднятии сетевого соединения.
При этом скрипту передается пят параметров
$1 - PPP interface name, $2 - tty, $3 - PPP link speed, $4 - local IP address, $5 - remote IP
Наверняка какой-то из них у провайдеров разный исходя из этого можно включить обработку циклами и написать варианты поведения.
Привожу свои у меня все примитив писалось не для этого.
/etc/ppp/ip-down.d/xl2tpd-down
#!/bin/sh
if [ "$3" = "150" ]
then
route add default gw `ip route show|grep $5|awk '{ print $3 }'`
route del -host `ip route show|grep $5|sed 's/via/gw/g'`
fi
/etc/ppp/ip-up.d/xl2tpd-up
#!/bin/sh
if [ "$3" = "150" ]
then
route add -host $5 gw `ip route show|grep default|awk '{print $3" " $4" "$5}'`
route del default
route add default dev $1
fi