Como detectar um ISP morto em um roteador Linux multihomed e rotear o tráfego através de ISP alternativo?

3

Atualmente estou usando uma caixa Linux (CentOS 5.9) como meu roteador. O roteador é multihomed e usa dois ISP para se conectar à internet. O tráfego da Internet da LAN é distribuído pelas duas linhas.

Quando uma conexão ISP em particular é desativada, tive que rotear manualmente o tráfego pelo outro ISP. Qual é a melhor maneira de detectar um gateway ISP morto e rotear o tráfego através do conexão ISP alternativa?

    
por Supratik 20.08.2013 / 09:26

2 respostas

3

Eu perceberia isso com um simples trabalho no cron

#!/bin/sh

PING=$(ping $ETH0ISPGW -I eth0 -c1 -W5 | awk -F '[ /]*' '/rtt/ {print $8}')

if [ -z "$PING" ]; then
        echo "Line is dead"
        echo "do something"
else
        echo "everything ok"
        echo "$PING"
fi

Se a linha cair, exclua a regra específica e envie um e-mail ou algo assim.

Com uma plataforma de roteamento dedicada, como o pfSense , ele cuidaria de várias conexões por conta própria. Considerações da configuração das duas linhas (balanceamento de carga, backup ect.)

    
por 20.08.2013 / 10:49
1

Você pode usar métricas de rota.

 route add default gw $gw1 metric 1
 route add default gw $gw2 metric 2

desta forma, se o link 1 for desativado, o sistema escolherá a rota secundária. Não é um balanceador, mas deve fazer o trabalho. Se você está procurando balanceamento também, eu procuraria algo de hardware.

    
por 20.08.2013 / 09:49