Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Blackbox, gkrellm,etc
Por slackrlz
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Título: Reiniciar conexão automaticamente no roteador D-Link 524
Linux user
Publicado por Danilo Buzar em 06/08/2009

Login: danilobuzar, 6742 pontos
[ Hits: 5857 ]

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
   Dica Linux recomendada Instalando impressora HP LaserJet 1020 no Slackware 13.1
   Dica Linux recomendada Instalando o VMWARE Workstation 7 no Debian Lenny
   Dica Linux recomendada Listando árvore de processos
   Dica Linux recomendada Monitorando rede com Zabbix
   Dica Linux recomendada Trocar os dois ultimos caracteres da linha de comando

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


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.