Кому интересно, решил данный вопрос следующим костылём - в скрипте ppp-linkup (срабатывает при поднятии PPP канала) добавил кусок, проверяющий есть ли в данный момент default gateway, и если его нет, то назначает его равным гейтвею поднятого PPP.
#!/bin/sh
let the configuration system know that the ip has changed.
/bin/echo $4 > /tmp/$1_router
/bin/echo $3 > /tmp/$1_ip
/usr/bin/touch /tmp/$1up
ALLOWOVERRIDE=/usr/bin/grep dnsallowoverride /conf/config.xml | /usr/bin/wc -l
if [ $ALLOWOVERRIDE -gt 0 ]; then
write nameservers to file
if [ $6 = "dns1" ]; then
echo $7 > /var/etc/nameserver_$1
/sbin/route delete $7
/sbin/route add $7 $4
fi
if [ $8 = "dns2" ]; then
echo $9 >> /var/etc/nameserver_$1
/sbin/route delete $9
/sbin/route add $9 $4
fi
/usr/local/sbin/pfSctl -c 'service reload dns'
/bin/sleep 1
fi
### Cheking is there default gateway
if netstat -nr | grep default > /dev/null;
then logger Default gateway is already present;
else /sbin/route add default $4;
logger $1 link changed to UP. Setting $4 as default gateway;
fi
###
/usr/local/sbin/pfSctl -c "interface newip $1"
exit 0
Решение - не идеал - в systemlog всё равно падает ошибка, о которой я писал раньше. Зато работает.
Кроме того, отписался в английской ветке - может чего скажут умного…