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

Publicado por Danilo Buzar em 06/08/2009

[ Hits: 19.656 ]

 


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

Como abrir arquivos .swp

Como falar bem de Linux sem falar mal de Windows

Configurando Samba e colocando algumas permissões para usuários

Dual boot com Windows no segundo HD

Crie um certificado para uso em SSL

  

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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts