Plano de fundo
Estou acostumado a reiniciar meus servidores em uma base programada. Agora eu quero o mesmo para o meu roteador ADSL.
Esta é a minha razão: Quando ocorre uma falha aleatória, normalmente estou tentando reinicializar os servidores, interfaces e equipamentos relacionados (se possível) como a primeira etapa antes de qualquer outra solução de problemas (por exemplo: alterar configurações, etc).
Na verdade, há momentos em que isso corrige o problema (o serviço começa a funcionar conforme o esperado). Isso pode ocorrer porque, quando um sistema demora muito tempo (às vezes, dependendo do software e dos serviços), ele pode ficar sem resposta ou com falha. Pode ser que o software não liberte alguma memória, desbloqueie alguns recursos, etc.
Agora, para alguns serviços que o tempo de inatividade agendado é aceitável durante as horas que não são de trabalho, eu programo a reinicialização automática. Dessa forma, esse tipo de problema aparece com menos frequência. E agora, se ocorrer um problema durante o horário de trabalho, não preciso reiniciar o serviço como um todo. Em vez disso, retomei a solução de problemas depois que eu os reiniciei.
O que temos
Este é um roteador Billion 5000 Series e suporta TELNET, HTTP e SNMP para gerenciamento.
Método Telnet (Atualizado)
É possível reinicializar o roteador via comando telnet:
C:\>telnet 192.168.1.1
Password:********
router>set reboot
Tão perto, só precisa de um script que automaticamente faça telnet, envie caracteres de senha e emita o comando ' set reboot '. [A abordagem de usar espera sugerida por SvenW ]
método HTTP
É bom mencionar que eu utilizo um aplicativo software [ 1 ] para monitorar minha velocidade de conexão ADSL e margem de ruído via interface HTTP (o software em si, em vez de um navegador aplicativo, conecta-se, efetua login de forma autônoma e lê os valores da interface HTTP e os exibe em um gráfico!).
Gostaria de saber se é possível alcançar o SysRestart com uma abordagem semelhante (Um script que efetua login automaticamente e clica no botão SysRestart!)
A página de reinicialização:
Método SNMP
O roteador também tem suporte para comunidades de leitura e gravação do SNMP v2. Eu pensei que poderia ser possível fazer isso dessa maneira.
Na verdade, por alguma pesquisa eu descobri [ 2 ] que algumas pessoas usam o SNMP para reiniciar seus dispositivos (mas não consigo encontrar um OID para meu roteador para passar por realizar um reset)
Por exemplo, parece que aqueles que possuem um desses dispositivos podem reinicializá-los usando esses OIDs:
'.1.3.6.1.4.1.207.8.4.4.3.2.0', # Allied Telesyn restart
'.1.3.6.1.4.1.11.2.14.11.1.4.1.0', # Hewlett-Packard hpicfReset
'.1.3.6.1.4.1.9.5.1.1.9.0', # Cisco CatOS sysReset
'.1.3.6.1.4.1.9.2.9.9.0', # Cisco IOS tsMsgSend
'.1.3.6.1.4.1.529.9.8.0.0' # Ascend sysReset
Caminhada SNMP
Usando o SNMP walk, consegui uma lista com mais de quinhentos OIDs, como:
.1.3.6.1.4.1.16972.5.1.1.0
.1.3.6.1.4.1.16972.4.10.0
...etc (568 more)...
Mas atualmente não tenho idéia de como posso escolher um deles (especialmente medo de testar snmp-write neles!).
Mais algumas informações
Alguns outros OID (percorridos) e valores que podem ajudar:
.1.3.6.1.4.1.16972.1.3.0; Trendchip TC3162 T14F7_3.0
.1.3.6.1.4.1.16972.5.1.1.0; www.huawei.com
.1.3.6.1.4.1.16972.1.6.0; Ras Ver:2.10.4.0(UE0.C2C)3.6.0.0 DMT Ver:3.6.0.0
Como você pode ajudar?
- Sugerindo uma maneira de fazer o script de uma reinicialização via SNMP (Requer encontrar o
OID primeiro!?)
- Sugerindo uma maneira de fazer o script de uma reinicialização via HTTP
- Sugerindo uma maneira de fazer o script de um reinício via telnet
- Sugerindo uma maneira de fazer o script de uma reinicialização (de qualquer outra maneira!)
FootNotes: