Leia o link para um tratamento exaustivo do assunto. Seu principal problema é este:
What precisely is required for
$network
is not obvious and can be different things depending on local configuration.
O Systemd oferece melhores ferramentas, conforme detalhado no link acima. Basicamente, você vai querer colocar
[Unit]
Require = network-online.target
After = network-online.target
no seu arquivo de serviço personalizado e esperamos que o serviço de gerenciamento de rede forneça um network-online.target
de bom desempenho.
Se você não quiser substituir seu script de inicialização por um arquivo de serviço do systemd, crie o diretório /etc/systemd/system/open_tunnels.service.d
e coloque as três linhas acima em qualquer arquivo (com .conf
extension) nesse diretório. Isso aumentará a descrição de serviço gerada automaticamente pela camada de compatibilidade do SysV init do systemd, conforme explicado em man systemd.unit
.