TiagoSouza
(usa Arch Linux)
Enviado em 28/03/2012 - 19:47h
lucasdona escreveu:
Você quer ativar o ppp0 se a wlan estiver ativa? mas ai vc não ficaria com 2 conexões ativas? mas vamos lá, se vc estiver conectado na wlan, aparecerá uma linha como essa abaixo
inet end.: 192.168.1.2 Bcast:192.168.1.255 Masc:255.255.255.0
Se não estiver conectado na wlan, essa linha não existirá, então, se for esse mesmo o caso, você nem precisa de fazer ping (gasta conexão e demora a dar retorno), vc pode verificar por essa linha no if mesmo, vou citar um exemplo:
if [ $(ifconfig wlan0 | grep "inet end" | wc -l) -eq 1 ]
then
echo "esta conectado na wlan0"
else
echo "nao esta na wlan0"
fi
O ifconfig lista o wlan0, o grep filtra pela string que quero procurar e o wc -l retorna o numero de linhas que obteve como resultado, se for = 1, a linha existe, então vc está conectado através da wlan, se retornar 0, significa que vc não está utilizando a wlan. O $ serve para guardar aquilo tudo entre parenteses em uma variável, o -eq pergunta se é igual, então vc sempre terá if (1 = 1) ou if (1 = 0).
Não, não é isso: olha, deixa eu explicar o caso denovo:
Tenho uma conexão wlan0, é por onde chega a conexão de internet, mas ela pede autenticação quando conecta, autenticação por uma página no navegador, do mikrotik.
Tenho uma conexão ppp0, que é pppoe sobre wireless mikrotik, que acessa a internet normalmente, até mais rápido e estável, encima da wlan0, a diferença, é que a autenticação é feita automaticamente quando se usa a ppp0.
Tenho uma conexão eth0, que é a conexão ethernet da rede local aqui, com a qual compartilho internet, na ppp0, porém, se eu estiver navegando no ubuntu, com a wlan0 e ppp0 conectadas normalmente, e a eth0 conectar ou desconectar, o ubuntu para de usar a ppp0 e muda para a wlan0, então a autenticação aparece, e o mesmo autenticando, o acesso fica um pouco lento, pq até meu provedor recomenda que se use a ppp0 para estabilizar uns problemas que eles tem, dá para voltar a usar a ppp0 desativando-a com "poff", e ativando novamente com "pon", mas queria deixar isso automatizado
Ae o que eu quero, um script, que: Ao detectar que a conexão eth0 conectou, ou então desconectou, execute os comandos "poff" e "pon" no mesmo instante.
Tentei fazer com ping, mas não deu certo, usando a seguinte maneira:
Qualquer ip na faixa 172.16.113.0/24 só é pingável quando o ubuntu está usando a wlan0 para navegar, pois a ppp0 está em outra faixa, 10.10.113.xx/32, então havia tentado um script que fica pingando o gateway da wlan0, 172.16.113.1, se conseguir pingar, quer dizer que o ubuntu está usando a wlan0 para navegar, ae executava os comandos "poff" e "pon" que reinciavam a conexão pppoe, e o ubuntu voltava a usá-la. Porém, eu quero uma forma mais rápida, que detecte o momento exato que a eth0 conectar ou desconectar, para aí sim executar os comandos para reiniciar a pppoe, e outra coisa, que meu provedor mudou umas coisas, e para ao menos conseguir pingar o gateway, tem que já estar autenticado no navegador, senão, mesmo não usando a ppp0, não ia conseguir pingar, e iria continuar do mesmo jeito.
Então, alguém conhece uma forma de detectar o momento exato que uma conexão é estabelecida?