Eu tive problemas assim no passado. O que eu encontrei foi um programa específico que eu estava executando levou um determinado período de tempo para iniciar. Para não ter o processo de inicialização falhar, tive que inserir um comando "wait" no final de um dos scripts init.d. Isso garantiu que o aplicativo tivesse tempo suficiente para iniciar, já que os próximos processos a serem iniciados dependiam do primeiro processo.
Se você tiver um comando de espera em algum lugar no processo de inicialização, é assim que ele se comportaria. O processo será interrompido até que o comando wait seja concluído e, em seguida, o restante dos processos será inicializado normalmente. Verifique seus componentes de rede para ver se um deles está usando um comando de espera apenas para garantir que todos os processos e drivers de nível inferior estejam sendo executados primeiro.