Eu presumo que você não tenha acesso ao seu host VPS e que você só pode depurar dentro da VM. Então é isso que eu faria.
Eu tentaria descobrir onde a quebra acontece - entre a VM e o host, a VM e o gateway ou talvez em algum lugar na rede de provedores.
Defina um script que fará o ping do seu primeiro salto, ou seja, o seu gateway. Se você tiver outras VMs no mesmo domínio de transmissão, poderá executá-las em vez de GW. Você poderia rodar screen / tmux e deixar ping dentro:
$ ping IP_OF_GW_OR_OTHER_VM | tee -a mytest.log
Quando a interrupção ocorre, se o gateway ainda estiver ativo e os pings passarem, você terá um problema pelo ralo. Nesse caso, faça um traceroute e faça ping nos próximos 2-3 saltos, até descobrir onde a interrupção acontece. Se o gateway estiver imediatamente indisponível, talvez seja necessário configurar um cron que tire um instantâneo de uma informação de rede quando a interrupção ocorrer:
ping -c 3 gateway
if [ $? -ne 0 ]; then
ifconfig eth0 2>&1 >> /tmp/ifconfig-$(date +"%Y-%m-%d_%H:%M").log
ethtool eth0 >> /tmp/ethtool-$(date +"%Y-%m-%d_%H:%M").log
fi
Você pode estender o script com informações adicionais, como uptime (para obter a carga atual) lsof ou netstat, se achar que também precisa dessas informações.
às vezes, o dhclient desconecta a conexão ou não consegue renovar a concessão, portanto, qualquer informação coletada no momento da interrupção pode ajudar.