Script Internet Redundante - FALHA

13. Re: Script Internet Redundante - FALHA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 02/12/2012 - 21:52h

Eu continuo achando que a melhor forma de testar DNS com consultas DNS, não com ping. É, inclusive, mole de fazer.


  


14. Re: Script Internet Redundante - FALHA

Igor Valsichi
IgorOV

(usa Debian)

Enviado em 03/12/2012 - 11:32h

paulo1205 escreveu:

Eu continuo achando que a melhor forma de testar DNS com consultas DNS, não com ping. É, inclusive, mole de fazer.



Paulo,

Voce se importaria de "simular" um script pra testar o dns, como voce faria?

Nao precisa ser preocupar com o resto da troca do link

apenas o "teste" em si e o IF que compara o resultado

Obrigado,

Igor



15. Re: Script Internet Redundante - FALHA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 03/12/2012 - 14:11h

Com o comando dig. Já mostrei um jeito de fazer algumas mensagens atrás (embora noutro contexto).


16. Re: Script Internet Redundante - FALHA

Igor Valsichi
IgorOV

(usa Debian)

Enviado em 03/12/2012 - 15:43h

Voce tem razao

E pensando bem acho q é até melhor

vou usar sua dica sim, afinal esses pings uma hora pode acabar sendo bloqueado por uma mudanca na politica do lugar pingado e ai vai ferrar tudo o script

uma coisa que gostaria de aprender que nao sei fazer é o seguinte.

Como eu deixaria as 2 conexoes ativas mudando apenas o default route ?

é possivel fazer assim?

hoje meu script apenas derruba o virtua com: "ifdown eth2" e sobe o speedy com "pon dsl-provider"

depois derruba o speedy com "poff -a" e sobe o virtua com "ifup eth2"

digamos que resolva deixar os 2 links ativos (nao quero fazer load balance), apenas quero alterar a rota de um pro outro

alguem se disporia a me explicar? (levando em consideracao que o virtua tem ip dinamico, ou seja, o gateway pode mudar)

obrigado,

IGor



17. Re: Script Internet Redundante - FALHA

Igor Valsichi
IgorOV

(usa Debian)

Enviado em 03/12/2012 - 19:26h

segue uma opcao de script usando DIG ao inves de ping

o que acham?


#!/bin/bash

#### SCRIPT BEGIN ####

INTERNET="virtua"
COUNT=0
MUDOU=0
IP="www.google.com.br"

#captura o IP do primeiro DNS
DNS1=`grep nameserver /etc/resolv.conf | head -n 1 | awk '{ print $2 }'`
#captura o IP do segundo DNS (nao sei se tem outra forma mais facil/menor de capturar, mas consegui assim
DNS2=`grep nameserver /etc/resolv.conf | head -n 2 | awk getline | awk '{ print $2 }'`

while [ "loop" == "loop" ]; do

dig $IP @"$DNS1" | grep -q 'status: NOERROR' && FALHA=0 || FALHA=1
#se falhar 1x entra no segundo DIG usando o segundo DNS
if [ FALHA -eq 1 ]; then
dig $IP @"$DNS2" | grep -q 'status: NOERROR' && COUNT=0 || let COUNT++
fi
#se falhar 2x, entao o COUNT recebe +1

echo $COUNT
echo $MUDOU
#uso esse $MUDOU para referencia minha pois deixo o script rodando dentro de um "screen", entao diariamente eu entro pra ver qtas vezes precisou mudar de link

#se tiver 1 falha ele muda o local de teste afinal o problema tbm pode ser no local da consulta e nao no meu provedor
if [ $COUNT -eq 1 ]; then
IP="www.yahoo.com"
#se tiver 2 falhas ele muda de novo
elif [ $COUNT -eq 2 ]; then
IP="www.terra.com.br"
#se tiver 3 falhas entao troca o link, zera o $COUNT e o $MUDOU ganha +1
elif [ $COUNT -ge 3 ]; then
IP="www.google.com.br"
if [ $INTERNET == "virtua" ]; then
echo MUDANDO PARA SPEEDY
INTERNET="speedy"
ifdown eth2
pon dsl-provider
ddclient
/etc/init.d/squid restart
COUNT=0
let MUDOU++
else
echo MUDANDO PARA VIRTUA
INTERNET="virtua"
poff -a
ifup eth2
ddclient
/etc/init.d/squid restart
COUNT=0
let MUDOU++
fi
fi
sleep 10
done

#### SCRIPT END ####




18. Re: Script Internet Redundante - FALHA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 03/12/2012 - 23:03h

IgorOV escreveu:

Voce tem razao

E pensando bem acho q é até melhor

vou usar sua dica sim, afinal esses pings uma hora pode acabar sendo bloqueado por uma mudanca na politica do lugar pingado e ai vai ferrar tudo o script

uma coisa que gostaria de aprender que nao sei fazer é o seguinte.

Como eu deixaria as 2 conexoes ativas mudando apenas o default route ?

é possivel fazer assim?

hoje meu script apenas derruba o virtua com: "ifdown eth2" e sobe o speedy com "pon dsl-provider"

depois derruba o speedy com "poff -a" e sobe o virtua com "ifup eth2"

digamos que resolva deixar os 2 links ativos (nao quero fazer load balance), apenas quero alterar a rota de um pro outro

alguem se disporia a me explicar? (levando em consideracao que o virtua tem ip dinamico, ou seja, o gateway pode mudar)

obrigado,

IGor


Tanto o pppd quanto o dhclient possuem ganchos e scripts auxiliares para ajudar a configurar as respectivas interfaces (e também para as desconfigurar). Esses scripts recebem como argumentos ou via variáveis de ambiente vários parâmetros de operação da rede associada a cada interface, tais como servidores de DNS e roteador(es) padrão.

Normalmente, quando se tem só uma conexão, tais parâmetros são diretamente aplicados ao sistema (i.e. Em /etc/resolv.conf e como rota default). Como você vai usar mais de um link, terá de usar os ganchos para interceptar as informações e usá-las para definir informações específicas de cada link (por exemplo, um reeolv.conf para o Viirtua e outro para o Speedy, bem como rotas estáticas que forcem as consultas a esses servidores DNS de cada link a trafegar pelo respectivo link). Pode também usar os ganchos de queda das interfaces para impedir que elas sejam selecionadas por engano.

Além desses ganchos um script como o que você já tem pode ajudar a detectar anomalias, como no caso de uma interface estar de pé mas não estar funcionando a contento.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts