21Jul
Verizon FIOS é ótimo - as velocidades são incríveis, e o preço é. .. bem, um pouco caro. O verdadeiro problema é que o roteador terrível que lhe dão 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 pensei em como eu poderia resolver esse problema usando a tecnologia. Isso é o que os geeks fazem, certo?
Sim, eu sei, provavelmente poderia ligar para a Verizon e atualizar o roteador, tenho certeza de 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, uma vez que não há uma atualização. Tempo para uma solução mais fácil que idealmente envolve um trabalho cron. Os trabalhos do Cron são sempre 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, em seguida, agende esse script com um trabalho cron para ser executado em umregularmente. Para mim, isso significava todas as manhãs às 7 da manhã, uma hora antes de eu me levantar, e novamente às 5:30 da noite, já que eu sempre saí do lar naquele ponto. Problema resolvido, e eu posso usar o Vim, o que também me deixa feliz.
E, claro, você pode fazer um script para executar na demanda para reiniciar imediatamente o roteador sempre que quiser.
Nota: você provavelmente pode fazer o mesmo com um roteador que não é a Verizon. Você precisará verificar o painel de administração do roteador e ver como as opções funcionam lá.
Conectando ao seu roteador via Telnet
A primeira coisa que você deseja fazer é descobrir como habilitar o telnet no roteador. Para o roteador Verizon, isso exigiu entrar no Advanced - & gt;Administração local e certificando-se de que "Usar a porta Telnet primária" está habilitado. Certifique-se de clicar em Aplicar.
Neste ponto, você pode usar facilmente telnet do terminal ou prompt de comando para se conectar ao roteador. Se você estiver usando o Windows, provavelmente você precisará habilitar 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.1Uma vez que você está lá, geralmente pode digitar o comando de ajuda paraVeja quais são as opções. Para o Verizon FIOS, a opção que eu estava procurando estava na sub-seção do sistema, e foi apropriadamente intitulada "reiniciar". Você deve realmente digitar "reiniciar o sistema" e não apenas "reiniciar".
Depois de digitar o comando no prompt, você será desconectado e o roteador será reiniciado. Fácil, sim. Mas quem quer fazer tudo isso digitando sempre?
Scripting Telnet através do Terminal( OS X ou Linux ou Cygwin no Windows)
Vamos assumir que você tem acesso ao shell bash, seja no seu sistema operacional normal, ou se o seu sistema operacional( Windows) não tiver tempo, você pode ter que instalar o Cygwin.
É surpreendentemente fácil rotear um conjunto de comandos e colocá-los no aplicativo telnet. Tudo o que você precisa fazer é algo como isto:
( echo commandname; echo anothercommand) |telnet 192.168.1.1O único problema é o login persistente que você precisa percorrer. .. não aparece imediatamente. Então, se você entrar em um "administrador de eco" e depois "senha de eco", isso acontecerá muito rápido e não será enviado para o servidor. A solução? Use o comando sleep!
Adicionando um par de 3 comandos de espera, para aguardar três segundos, resolve o problema. Em primeiro lugar, repetiremos o nome de usuário e a senha e depois repetiremos o comando de reinicialização, e cada vez que esperarmos três segundos. O comando final reiniciará o servidor imediatamente:
( sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; reiniciar o sistema de eco; dormir 3;) |telnet 192.168.1.1Você pode colocar isso em um script de shell e executá-lo sempre que quiser. Ou você pode adicioná-lo ao seu cron como este( no OS X ou Linux):
crontab -eAdicione esta linha em algum lugar:
1 7 * * *( sleep 3; echo admin; sleep 3; echo mypassword; sleep 3;Reboot do sistema de eco, durma 3;) |telnet 192.168.1.1Isto irá reiniciar seu roteador às 7:01 da manhã todas as manhãs.
Reiniciando o roteador do Windows Way
Se você está executando o Windows, é muito mais complicado agendar isso automaticamente, mas podemos definitivamente script com facilidade. Primeiro, você precisará entrar no Painel de controle, entrar no painel "Ativar ou desativar o Windows"( basta procurá-lo) e, em seguida, habilitar o Telnet Client.
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. Talvez seja necessário 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 "abrir 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. QuitSalve-o como uma extensão. vbs e então você pode dobrar- clique nela sempre que quiser reiniciar o roteador.
Agendamento no Windows com uma tarefa agendada
Abra o Agendador de Tarefas e crie uma nova Tarefa Básica, dando-lhe um nome e um cronograma - diariamente em um determinado momento, funcionaria. Em seguida, use a opção Iniciar um programa e navegue até o arquivo de script que você criou.
Isso é tudo o que você tem que fazer.
Nota: as instruções contidas neste artigo são específicas da Verizon FIOS, mas você provavelmente pode fazer isso com qualquer roteador. Por favor, avise nos comentários se você conseguir que ele funcione com outro roteador e atualizaremos o artigo para refletir isso.