Script para discar 3g link caso a rede esteja inativa?

4

Eu quero configurar um roteador Ubuntu com failover automático para um link 3G. Provavelmente, posso configurar o roteamento e a agregação de links, mas não sei como monitorar o status do link e discar o link 3G caso ele esteja inativo. Indicadores para recursos úteis muito apreciados.

    
por user2132 08.09.2010 / 17:50

1 resposta

2

Não tenho certeza se há algo por aí que possa fazer isso para você ... No entanto, você poderia, com um pouco de script, pesquisar um script que:

  • A cada 10 minutos, pings google com um tempo limite de 2 segundos e somente a partir da sua conexão "fixa" (não a 3G) (use o -I flag).
  • Se o ping for bem-sucedido e você estiver na conexão fixa, não faça nada.
  • Se você estiver em 3G e o ping pela conexão fixa funcionar, desative o adaptador 3G.
  • Se falhar, abra o adaptador 3G.

Aqui está minha tentativa rápida:

#! /bin/bash

CONNECTION=1

main()
{
    if ping -q -c 1 -w 1 -I eth0 google.com > /dev/null ; then
        echo "Connection is ok!"

        if [ $CONNECTION -eq 0 ] ; then
            # take the 3g connection down
            ifconfig 3GADAPTERNAME down
            CONNECTION=1
        fi
    else
        echo "Connection is dead! Long live the connection!"

        if [ $CONNECTION -eq 1 ] ; then
            # turn the 3g connection on
            ifconfig 3GADAPTERNAME up
            CONNECTION=0
        fi
    fi

    sleep 5
    main
}

main

Obviamente, substitua 3GADAPTERNAME pelo nome do seu adaptador. desligue eth0 se sua conexão principal for diferente. Certifique-se de que esteja configurado para se conectar automaticamente (assim, quando for permitido, isso acontece). O script precisará ser executado como root.

    
por Oli 09.09.2010 / 11:41