É perfeitamente possível alterar a ordem na qual os serviços são iniciados na inicialização. Consulte www.debian.org para obter informações sobre como funciona o nível de execução e como para alterar a ordem na qual os scripts de inicialização são executados.
Se você quiser que o fantoches sejam reiniciados sempre que receber uma nova concessão de dhcp, você poderá colocar um cron job que verifique periodicamente novas concessões de dhcp em /var/lib/dhcp.leases e reinicie quando houver uma alteração.