Como reinicializar automaticamente o roteador de maneira nerd
Verizon FIOS é ótimo - as velocidades são incríveis, e o preço é ... bem, meio caro. O problema real é que o roteador terrível que eles dão a você precisa ser reiniciado o tempo todo, o que é uma dor real, considerando que está no porão. Além disso, eu não quero sair do sofá.
Então eu contemplei como eu poderia resolver esse problema usando tecnologia. Isso é o que os geeks fazem, certo?
Sim, eu sei, eu provavelmente poderia ligar para a Verizon e atualizar o roteador, tenho certeza que eles têm um modelo melhor agora. E com certeza, você pode atualizar o firmware, mas isso não funcionará para o meu roteador antigo, já que não há uma atualização. Tempo para uma solução mais fácil, que idealmente envolve um cron job. Empregos Cron sempre são uma boa decisão.
Após três minutos de pesquisa e brainstorming, uma solução se apresentou: Você pode habilitar o telnet no roteador, configurar um script que execute automaticamente uma série de comandos usando a interface telnet e agendar esse script com um cron job para ser executado regularmente. base. Para mim, isso significava todas as manhãs às 7 da manhã, uma hora antes de eu acordar e novamente às 17h30, já que estou sempre fora de casa naquele momento. Problema resolvido, e eu posso usar o Vim, que também me deixa feliz.
E, claro, você pode fazer um script para ser executado sob demanda para reinicializar imediatamente o roteador sempre que quiser.
Nota: Você provavelmente pode fazer a mesma coisa com um roteador que não é a Verizon. Você precisará verificar o painel de administração do seu roteador e ver como as opções funcionam lá.
Conectando ao seu roteador via Telnet
A primeira coisa que você vai querer fazer é descobrir como ativar o telnet no roteador. Para o roteador da Verizon, isso exigia entrar em Advanced -> Local Administration e certificar-se de que "Using Primary Telnet Port" está habilitado. Certifique-se de clicar em Aplicar.
Neste ponto, você pode facilmente usar o telnet a partir do terminal ou do prompt de comando para se conectar ao roteador. Se você estiver usando o Windows, provavelmente precisará ativar o telnet. Para se conectar, basta digitar isso, substituindo o endereço IP pelo IP do seu próprio roteador, se necessário (embora a maioria esteja configurada para usar o intervalo 192)
telnet 192.168.1.1
Uma vez que você está lá, você geralmente pode digitar o comando help para ver quais são as opções. Para a Verizon FIOS, a opção que eu estava procurando estava na subseção do sistema e foi apropriadamente chamada de “reboot”. Você tem que digitar “reinicialização do sistema” e não apenas “reinicializar”.
Depois de digitar o comando no prompt, você será desconectado e o roteador será reinicializado. Fácil sim. Mas quem quer fazer toda essa digitação toda vez?
Scripting Telnet através do Terminal (OS X ou Linux ou Cygwin no Windows)
Vamos presumir que você tenha acesso ao bash shell, seja no seu SO normal, ou se o seu sistema operacional (Windows) não tiver o bash, você pode ter que instalar o Cygwin.
É surpreendentemente fácil escrever um conjunto de comandos e enviá-los para o aplicativo telnet. Tudo o que você precisa fazer é algo assim:
(echo commandname; echo anothercommand) | telnet 192.168.1.1
O único problema é o login irritante que você tem que passar ... ele não aparece imediatamente. Então, se você enviar um “echo admin” e depois “echo password”, isso acontecerá muito rapidamente e não será enviado para o servidor. A solução? Use o comando sleep!
Adicionando um par de sleep 3 comandos, para esperar três segundos, resolve o problema. Primeiramente, vamos ecoar o nome de usuário e senha, e então vamos ecoar o comando reboot, e cada vez vamos esperar três segundos entre. O comando final irá reiniciar o servidor imediatamente:
(dormir 3; echo admin; dormir 3; ecoar minha senha; dormir 3; reiniciar o sistema de eco; dormir 3;) | telnet 192.168.1.1
Você pode colocar isso em um script de shell e executá-lo sempre que quiser. Ou você pode adicioná-lo ao seu cron assim (no OS X ou Linux):
crontab -e
Adicione esta linha em algum lugar:
1 7 * * * (dormir 3; echo admin; dormir 3; ecoar minha senha; dormir 3; reiniciar o sistema de eco; dormir 3;) | telnet 192.168.1.1
Isto irá reiniciar o seu router às 7:01 da manhã, todas as manhãs.
Reiniciando o roteador no Windows Way
Se você está rodando o Windows, é muito mais complicado agendar isso automaticamente, mas podemos definitivamente fazer um script com facilidade. Primeiro, você precisará entrar no Painel de Controle, acessar o painel "Ativar ou desativar recursos do Windows" (basta procurá-lo) e, em seguida, ativar o Cliente de Telnet..
Agora você pode colar o seguinte no Bloco de Notas, mas altere o IP do roteador, se necessário, e altere a linha mypassword para ser sua senha real. Você pode precisar editar o script para diferentes comandos.
Opção explícita Dim oShell set oShell = Wscript.CreateObject ("WScript.Shell") oShell.Run "telnet" WScript.Sleep 3000 oShell.Sendkeys "aberto 192.168.1.1 ~" WScript.Sleep 3000 oShell.Sendkeys "admin ~" WScript. Sleep 3000 oShell.Sendkeys "mypassword ~" WScript.Sleep 3000 oShell.Sendkeys "reinicialização do sistema ~" WScript.Sleep 3000 oShell.Sendkeys "~" Wscript.Quit
Salve-o como uma extensão .vbs e, em seguida, clique duas vezes nele sempre que quiser reinicializar o roteador.
Agendamento no Windows com uma tarefa agendada
Abra o Agendador de Tarefas e crie uma nova Tarefa Básica, dando a ela um nome e uma agenda - diariamente em um determinado horário. Em seguida, use a opção Iniciar um programa e navegue até o arquivo de script que você criou.
Isso é praticamente tudo que você tem que fazer.
Nota: As instruções neste artigo são específicas do Verizon FIOS, mas você provavelmente pode fazer isso com qualquer roteador. Por favor, deixe-nos saber nos comentários, se você conseguir trabalhar com outro roteador e nós vamos atualizar o artigo para refletir isso.