carlosac
(usa Ubuntu)
Enviado em 22/08/2012 - 08:35h
Olá pessoal, bom dia.
Estou precizando muito da ajuda de vocês!!!
Estou tentando resolver um problema que não estou conseguindo obter uma solução, possuo dois links e não pretendo fazer um balanceamento de carga, pretendo usar um como redundância, em em caso do primeiro cair o segunda entra em ação até o primeiro voltar.
O motivo desse processo seria pq a empresa em que trabalho possui dois links um de 30 Mbs e outro de 4Mbs. O link de 30 Mbs seria o link principal da empresa o de 4 Mbs é dedicado para FTP, mas em caso de queda do link de 30Mbs pretendo usado temporariamente não deixando a empresa sem internet para os funcionários.
Após o processo de criação das tabelas etc, aparentemente tudo funcionando quando acontece a troco da rota default, porem criei um script para fazer uma verificação do link através do ping.
ping -I eth2
www.google.com.br -c 10 (eth2 link de 30 Mbs, meu script pega o resultado do ping e caso ele seja diferente de zero não faz nada caso ele seja igual a zero ele altera a rota padrão redirecionando todo trafego para o segundo link).
Meu maior problema é que quando ele está com rota default para o link de 30 Mbs tudo funciona quando está no link de 4 Mbs o ping sempre acusa "destination host unreachable".
Segue minha regras para tabela.
# Definindo de rotas dos Link:
# link1 #1
ip route add 192.168.1.0/24 dev eth1 src 192.168.1.2 table link1
ip route add default via 192.168.1.1 table link1
# link2 #2
ip route add 192.168.2.0/24 dev eth2 src 192.168.2.2 table link2
#ip route add 192.168.0.0/24 via 192.168.0.1 table link2
ip route add default via 192.168.2.1 table link2
# setando link na tabela principal de roteamento
ip route add 192.168.1.0/24 dev eth1 src 192.168.1.2
ip route add 192.168.2.0/24 dev eth2 src 192.168.2.2
# setando a rota preferencial
ip route add default via 192.168.1.1
# regras das tabelas
ip rule add from 192.168.1.2 table link1
ip rule add from 192.168.2.2 table link2
Peço desculpas pelo posta muito grande, mas acho que foi a melhor forma de explicar.