Use post-up em /etc/network/interfaces em qualquer distro baseada no Debian. Isso permite que você execute o script logo após ter sido criado por ifup . Mais no página man para interfaces .
Nota: post-down pode ser usado para remover as regras, é claro.
E se isso não funcionar, porque o seu sistema exibe o ppp0 por meio de algum script, é possível usar os scripts de gancho nas subpastas *.d de /etc/network correspondentes às ações mencionadas anteriormente. Várias variáveis serão fornecidas a você no script, como IFACE , ADDRFAM etc. As páginas do manual são realmente detalhadas.
Em outra observação, internamente up == post-up e down == post-down , as subpastas corretas seriam if-down.d e if-up.d , respectivamente.
E se você quiser "depurar" esse processo de exibir uma interface declarada em /etc/network/interfaces (ou source d de lá), ifup(8) tem os detalhes. Em particular, você vai querer ifup -nvl (e talvez o nome da interface). Também pode ser executado sem privilégios, porque não faz nada, apenas imita o processo.
Possível ressalva
Isso não funcionará em configurações baseadas no Debian, mas no Network-Manager-driven. Mas com você mencionando um roteador, acho que é improvável que ele seja conduzido pelo Network Manager.