Enviado em 20/11/2012 - 08:37h
Pessoal, baseado em varios posts de forum montei um script pra tornar a internet da empresa redundante, mas tem acontecido alguma coisa errada.
Na empresa temos o seguinte:
1 Debian
1 Link 20 megas IP Dinamico VIRTUA (dhcp) (eth2)
1 Link 15 megas IP Fixo SPEEDY FIBRA (pppoe) (ppp0/eth0)
Quando o Linux starta ele automaticamente sobe o link VIRTUA, pois eu nao rodo o comando 'pon dsl-provider'
ai dentro do /etc/network/interfaces eu tenho a seguinte linha de comando no fim do arquivo
pre-up /bin/script &
o script é assim:
### INICIO DO SCRIPT
INTERNET="virtua"
while : ; do
ping -c 1 www.yahoo.com
RETVAL=$?
echo $RETVAL
if [ $RETVAL -eq 0 ]; then
echo INTERNET OK
else
if [ INTERNET = "virtua" ]; then
ifdown eth2
pon dsl-provider
/etc/init.d/squid restart #é necessario fazer esse restart pois os usuarios que usam proxy(monitorados) param de navegar apos a troca
INTERNET="speedy"
else
poff -a
ifup eth2
/etc/init.d/squid restart
INTERNET="virtua"
fi
fi
sleep 10
done
### FIM DO SCRIPT
Teoricamente o script deve rodar infinitamente e a cada 10 segundos ele da 1 ping no www.yahoo.com
retornando 0 ele conta mais 10 segundos e tenta de novo
dando qualquer problema no ping ele verifica que internet esta e no caso de estar no virtua
ele desativa a interface dele e sobe o ppp0
no caso de estar no speedy, ele desconecta o ppp0 e ativa a interface do virtua
Eu testei o script por varios minutos, desligando o modem do virtua ou removendo o cabo coaxial(que mantem o link com a placa mas para a transmissao)
e ele pula pro virtua e funciona perfeitamente, mesma coisa removendo a fibra do modem ele volta pro virtua
Se as 2 internets tiverem DOWN, ele vai ficar pulando pra la e pra ca a cada 10 segundos até a primeira voltar a funcionar
(todos os testes foram rodados com o script sendo rodado manualmente e tbm dentro do /etc/network/interfaces)
Aparentemente estava perfeito, mas parece q depois de algumas horas o negocio desanda
A nao ser que o yahoo depois de levar varios pings mesmo que seja 1 a cada 10 segundos me bloqueie, sei la... mas tbm ja tentei o script pingando o terra por exemplo
Alguem ve alguma falha nesse script?
Aguardo uma dica
Abraços a todos,
IGor
Na empresa temos o seguinte:
1 Debian
1 Link 20 megas IP Dinamico VIRTUA (dhcp) (eth2)
1 Link 15 megas IP Fixo SPEEDY FIBRA (pppoe) (ppp0/eth0)
Quando o Linux starta ele automaticamente sobe o link VIRTUA, pois eu nao rodo o comando 'pon dsl-provider'
ai dentro do /etc/network/interfaces eu tenho a seguinte linha de comando no fim do arquivo
pre-up /bin/script &
o script é assim:
### INICIO DO SCRIPT
INTERNET="virtua"
while : ; do
ping -c 1 www.yahoo.com
RETVAL=$?
echo $RETVAL
if [ $RETVAL -eq 0 ]; then
echo INTERNET OK
else
if [ INTERNET = "virtua" ]; then
ifdown eth2
pon dsl-provider
/etc/init.d/squid restart #é necessario fazer esse restart pois os usuarios que usam proxy(monitorados) param de navegar apos a troca
INTERNET="speedy"
else
poff -a
ifup eth2
/etc/init.d/squid restart
INTERNET="virtua"
fi
fi
sleep 10
done
### FIM DO SCRIPT
Teoricamente o script deve rodar infinitamente e a cada 10 segundos ele da 1 ping no www.yahoo.com
retornando 0 ele conta mais 10 segundos e tenta de novo
dando qualquer problema no ping ele verifica que internet esta e no caso de estar no virtua
ele desativa a interface dele e sobe o ppp0
no caso de estar no speedy, ele desconecta o ppp0 e ativa a interface do virtua
Eu testei o script por varios minutos, desligando o modem do virtua ou removendo o cabo coaxial(que mantem o link com a placa mas para a transmissao)
e ele pula pro virtua e funciona perfeitamente, mesma coisa removendo a fibra do modem ele volta pro virtua
Se as 2 internets tiverem DOWN, ele vai ficar pulando pra la e pra ca a cada 10 segundos até a primeira voltar a funcionar
(todos os testes foram rodados com o script sendo rodado manualmente e tbm dentro do /etc/network/interfaces)
Aparentemente estava perfeito, mas parece q depois de algumas horas o negocio desanda
A nao ser que o yahoo depois de levar varios pings mesmo que seja 1 a cada 10 segundos me bloqueie, sei la... mas tbm ja tentei o script pingando o terra por exemplo
Alguem ve alguma falha nesse script?
Aguardo uma dica
Abraços a todos,
IGor