Для того чтобы в частности маршруты добавлять после успешного завершения IPCP в pppd есть скрипт /etc/ppp/ip-up.local (у меня на ALT Linux запускается из /etc/ppp/ip-up, не знаю, входит ли в дистрибутив pppd или xNix-дистрибуто-зависим). Для того, чтобы настраиваемые после поднятия IP параметры этого соединения не пересекались с другими соединениями, можно использовать опцию pppd linkname, а скрипт ip-up.local написать в следующем виде:
[cut here]------------------------------------
#!/bin/shIP_UP_LINKDEP=/etc/ppp/ip-up.${LINKNAME}
[ -x "${IP_UP_LINKDEP}" ] && "${IP_UP_LINKDEP" "$@"
[cut here]------------------------------------
Соответственно, в /etc/ppp/ip-up.${LINKNAME} пишем все команды route которые нам нужны, а также прочие вещи, типа забора почты, или открывания CDROM :)
Аналогичным образом, все действия которые необходимо совершить, запихиваем в /etc/ppp/ip-down.${LINKNAME}