Se a execução de reboot
diretamente como um usuário não-raiz funciona quando você está logado, é porque seu sistema está configurado para permitir que usuários fisicamente conectados façam a reinicialização do sistema. Isso funciona através do Polkit .
De um crontab, você não está em uma sessão de login. Um cron job que reinicia o sistema teria que ser executado como root.
Não acho que a reinicialização seja a solução para criar uma interface de rede. Basta ligar para o que você faz normalmente para abrir a VPN. E você provavelmente precisará ser o root para fazer isso (você precisa ser root para configurar uma interface de rede, portanto vpnrestart1.sh
deve ser executado como root ou obtém permissões de root por meio de um programa setuid como sudo para o crítico partes, ou delega para o NetworkManager que pode usar o Polkit para permitir que algumas sessões do usuário afetem a configuração do sistema).