+ Responder ao Tópico



  1. #1

    Padrão Redundancia De Links

    Ola pessoal sou novo na comunidade gostaria muito que vocês me ajudassem.

    A pouco tempo atras implementei em um cliente um servidor debian etch rc1 como proxy e firewall primário, até ai sem problemas a necessidade do cliente aumentou e ele contratou um segundo link de internet para entrar no mesmo servidor, na verdade não preciso de load balancing preciso apenas da redundância se um cair o outro assume.

    A situação atualmente é um link com o virtua 4mb ip dinâmico e um speedy de 2mb configurei ele no roteador então ele esta como ip estatico para o linux.

    Gostaria de saber quem ja passou por algo desse tipo e possa me ajudar, fiz algumas coisas com o iproute mais não funcionou muito bem.

    Grato

  2. #2

    Padrão

    da pra fazer um sisteminha bem simples:

    supondo que o link 1 seja: 200.200.200.1 e gateway 200.200.200.2
    e link2 seha: 200.200.201.1 e gateway 200.200.201.2

    escolha um ip para monitorar, pode ser o ip do registro.br e faça isso aqui:

    Código :
    #!/bin/bash
     
    PING=`ping www.registro.br -c 5 -q | grep transmitted | cut -d ' ' -f4`
    DEBUG='echo'
     
    GW1=200.200.200.2
    GW2=200.200.201.2
     
    ROUTE=/sbin/route
     
    if [ "$PING" = "0" ]; then
            HOJE=`date +%T' '%x`
            CUR=`cat /tmp/deadlink`
            if [ "${CUR}" = "link2" ]; then
                    #link2 morto, voltando link1
                    $DEBUG $ROUTE del default
                    $DEBUG $ROUTE add default gw $GW1
                    echo "link1" > /tmp/deadlink
                    echo $HOJE Link1 ativo, Link2 morto >> /tmp/link.log
                    exit 0
            fi
            #link1 morto, ativando link2
            echo "link2" > /tmp/deadlink
            $DEBUG $ROUTE del default
            $DEBUG $ROUTE add default gw $GW2
            echo $HOJE Link 1 dead, link2 up >> /tmp/link.log
            exit 0
    fi

    montei esse script .. o unico erro dele. eh ali no
    Código :
    if [ "${CUR}" = "link2" ]; then

    tava fazendo aqui, mas apertou de trampo aqui.. tenta arrumar a linha.. depois que der certo.. so deixar a variavel DEBUG em branco q ele executa os comandos... quando DEBUG ta com echo .. ele so mostra o comando q vai executar

    a logica ai eh bem simples...

    coloca o script pra rodar de 5 em 5 minutos ou de 1 em 1 minuto no cron.. e o script vai pingar o www.registro.br .. e ver se TODOS os pacotes foram perdidos.. caso sim.. ele troca a rota padrao para o proximo link (se estiver no 1.. ele muda pro 2.. se estiver no 2.. ele volta pro 1)


  3. #3

    Padrão

    Cara obrigado por me responder .... o link do virtua tem o ip dinamico e o do speedy como rotiei pro linux ele esta como ip estatico ....