Título: Reiniciar conexão automaticamente no roteador D-Link 524

Publicado por Danilo Buzar em 06/08/2009

[ Hits: 22.374 ]

 


Título: Reiniciar conexão automaticamente no roteador D-Link 524



Esta dica tem o objetivo de testar o seu link de Internet e caso ele não esteja online, automaticamente um outro script acessa o seu modem D-Link (no meu caso o DI-524) via telnet e faz o restabelecimento da conexão. Os testes foram feitos usando o Debian e o roteador D-Link 524, mas isso não impede que seja usada também com outras distribuições e outro equipamento (roteador).

Bom, esta é minha primeira manifestação aqui no VOL e espero que seja a primeira de muitas outras contribuições para a comunidade.

Abaixo segue um link que tem as senhas padrão de Telnet para diversos tipos de roteador:
Bom, vamos ao que interessa. Primeiramente você deve baixar o pacote expect, por conta da necessidade do script de reconexão.

sudo apt-get install expect

Script test_connection

Vamos criar um script que faça o teste de conexão. Segue o conteúdo do script:

#!/bin/bash

### Verifica se a internet está no ar, se não estiver, executa o comando "reconnect_router"


if ! ping -c 7 www.google.com.br ; then
    #Internet está fora
    /etc/init.d/reconnect_router
fi

exit

Salve o script em /etc/init.d.

Script reconnect_router

Abaixo o conteúdo do script reconnect_router, que terá o papel de acessar o roteador e reiniciar a conexão.

Obs.: Lembrando que para usar este script é necessário o pacote "expect".

#!/usr/bin/expect
spawn telnet ip_do_roteador> (Ex.: 192.168.0.1)
expect "login: "
send "Alphanetworks\n"
expect "Password: "
send "wrgg15_di524\n"
expect "# "
send "cd /var/run/\n"
expect "# "
send "sh wan_stop.sh\n"
expect "# "
sleep 5
send "sh wan_start.sh\n"
expect "# "
sleep 5
send "exit\n"

Salve o script em /etc/init.d.

Para finalizar devemos adicionar o script "test_connection" ao crontab para que ele verifique periodicamente a conexão com a internet.

Utilizei a política abaixo, mas cada um tem sua necessidade específica. Fique a vontade para utilizar da forma que desejar.

00-59/1  * *   *   *     /etc/init.d/test_connection

Traduzindo a regra: testar a conexão todos os dias do ano e a cada minuto, 24hs por dia, fazer o teste de conexão.

Lembrando que ambos os scripts (test_connection e reconnect_router) devem estar no diretório /etc/init.d (por convenção).

Bom, finalizamos por aqui esta dica e espero que vocês tenham gostado. Abraços!

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Iniciando na programação com o interpretador UAL

OpenSSH no FreeBSD

Instalação do Fedora 10 - Solução de problemas

VMWare no Debian Etch (4.0)

Impressão no SIAFI com Ubuntu

  

Comentários
[1] Comentário enviado por dimmublaster em 19/04/2011 - 23:59h

Olá.
Estou com um problema com um modem Dlink 500b Generation II, toda hora cai a conexão com a internet.
Como ficaria esse script para dar um reboot nele toda vez que cair a Internet?
Tentei alterar aqui mas nao consegui. Se puder me ajudar ficarei muito grato!

Obrigado pela Atenção.
ATT: Jean



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts