Eu usaria o servicecomando porque é mais consistente em diferentes distribuições. Então, dos comandos que você mencionou, a variante que eu utilizaria é:
service networking restart
Definitivamente, eu o rodaria dentro de uma screensessão ou por outros meios, para que não falhe ao concluir, caso você perca a conexão com o shell em que o digitou. (Tentei perder a conectividade com uma máquina fazendo login sshe reiniciando a rede apenas para que a conexão ssh terminasse enquanto a rede estava inoperante e envie um HUP para serviceque não traga a rede novamente.)
No passado, havia sistemas em que servicehavia um invólucro simples em torno dos scripts /etc/init.de os dois primeiros de seus comandos faziam exatamente a mesma coisa. Hoje em dia, porém, existem sistemas em que service, às vezes, algo é diferente e, em geral, ele servicesabe melhor o que fazer em sua distribuição específica. E invoke-rc.dtambém depende da distribuição.
Embora serviceseja o mais semelhante entre distribuições, ainda é possível que os nomes dos serviços sejam diferentes. Por exemplo, existem distribuições onde o serviço é nomeado networke outras onde ele é nomeado networking. E, em algumas configurações, pode ser mais apropriado reiniciar network-managerdo que networking.