Talvez o comando de reinicialização esteja sendo interrompido quando a conexão é perdida (à primeira vista, pedir a um sistema que reinicie sua conexão de rede pela rede parece perigoso). O que você deseja é que networking restart
seja executado independentemente do terminal de controle. Eu adicionaria uma entrada crontab assim (coloque-a em /etc/cron.d/checker-thingy
maybe):
* * * * * root /path/to/checker-thingy.sh
então checker-thingy.sh seria algo como:
[ -f /tmp/restart-network ] && service networking restart
[ -f /tmp/restart-network ] && rm /tmp/restart-network
Isto é meio horrível e propenso a outros problemas, mas basicamente você verá que irá reiniciar a rede se encontrar um arquivo de sinalização específico em /tmp
(e então remover o arquivo para evitar um loop de redefinição de rede).
Em seu script automatizado, você pode fazer:
ssh server-ip 'touch /tmp/restart-network'
e depois de um minuto você deve ver o ciclo da interface de rede conforme solicitado.