Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > Sistemas Operacionais > Serviços > Alta Disponibilidade
Wiki Classificados Galeria Reviews Jogos Grupos Sociais RSS Feeds FAQ Termos de Uso Sobre
Registrar Fotos Membros Calendário Pesquisar Postados Hoje Marcar Fóruns Como Lidos

Balanceamento de Links



Quer ver menos banners de publicidade ? Entao Cadastre-se!

Tópico Trancado
 
LinkBack Ferramentas do Tópico
Antigo 28-05-2007, 16:21   #1 (permalink)
Padrão Balanceamento de Links

Boa tarde

Bom gostaria de algumas informações dos colegas que ja fizeram balanceamento de links, adsl no mesmo servidor.
A minha situação é a seguinte, tenho um linux como firewall e gateway, da rede, nele usei o iproute2 para balancear os links, ficando com a seguinte estrutura
ADSL(SPEEDY1)--------|
...............................|----servidorLinux-->switch-->rede interna
ADSL(SPEEDY2)--------|

Pois bem os adsl são da mesma operadora no caso telefonica. a situação é a seguinte, qdo 1 cai tecnicamente seria para ele redirecionar todas as conexões para o outro link, o que acontece somente depois que reiniciar a estação, o download o acesso a sites está lento, outra coisa tbem, é que o msn fica caindo toda hora.

regra para o roteamento
eth0 speedy1
eth1 rede
eth2 speedy2

Marcando pacotes.
iptables -A PREROUTING -t mangle -s 192.168.0.0/24 -d 0/0 -j MARK --set-mark 3
# Desabilitando o filtro de pacotes do martian source
echo -n "Desligando rp_filter..."
for eee in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 0 > $eee
done

# Definindo regras de balanceamento de Link:
# speedy1
ip route add 10.0.0.0/24 dev eth0 src 10.0.0.2 table speedy1
ip route add default via 10.0.0.1 table speedy1

# speedy2
ip route add 192.168.1.0/24 dev eth2 src 192.168.1.2 table speedy2
ip route add default via 192.168.1.1 table speedy2

# setando velox na tabela principal de roteamento
ip route add 10.0.0.0/24 dev eth0 src 10.0.0.2
ip route add 192.168.1.0/24 dev eth2 src 192.168.1.2

# setando a rota preferencial
ip route add default via 10.0.0.1

# regras das tabelas
ip rule add from 10.0.0.2 table speedy1
ip rule add from 192.168.1.2 table speedy2

# balanceamento de link
ip rule add fwmark 3 lookup velox prio 3
ip route add default table speedy nexthop via 10.0.0.1 dev eth1 \
weight 1 nexthop via 192.168.1.1 dev eth2 weight 1

# flush no roteamento
ip route flush cache
__________________
System and Network Admin Linux
 
Avatar de LinuxKids
 
Registrado em: Jul 2004
Localização: São Paulo
Posts: 755
Agradeceu: 0
Agradecido 9 vez(es) em 8 Posts
Reputação: 0 LinuxKids
LinuxKids está offline  
Antigo 27-08-2007, 00:48   #2 (permalink)
Padrão

eu uso esse tipo de palanceamento mas minha duvida e a Seguinte até o kernel 2.6.19 tem a opcao fwmark mas nos outros kernel mais atuais foi instinta ou pelo menos nao encontrei, teria algum patch para isso?
 
Avatar de elimartins
 
Registrado em: Aug 2007
Localização: Paraná
Posts: 6
Agradeceu: 1
Agradecido 1 vez em 1 Post
Reputação: 0 elimartins
elimartins está offline  
Antigo 02-09-2007, 00:17   #3 (permalink)
Padrão

LinuxKids,

Cara eu já configurei um servidor desse jeito também e tive os mesmos problemas que você, certamente não resolvi-os da forma como eu queria que certamente não é a que você quer também , mas vou descrever o que eu fiz...

Problema 1: quando um dos links caem.
Quando os 2 links estão ativos é a mil maravilhas tudo bem rápido e tal, mas a dor de cabeça é quando um deles caem, pela minha experiência o que parece é que o linux não detecta que o desgramado caiu e continua roteando pacotes pra lá, que certamente nunca chegarão ao destino e por isso o negocio fica lento, praticamente uma carroça, isso porque "metade" dos pacotes ele está mandando para um link que não responde.
Minha solução, como já mencionei, não foi a ideal, porém eu criei um pequeno script rodando via cron que fica mandando ping para o gateway da cada um dos links, quando o ping não retorna o script considera que o link caiu e então muda o roteamento do ip route, madando o comando do tipo:
ip route add default table speedy nexthop via 10.0.0.1 dev eth1
ou
ip route add default table speedy nexthop via 192.168.1.1 dev eth2 weight 1
dependendo de qual link caiu, certamente o script continuaŕa executando e quando ele verificar que o link voltou ele reescreve o roteamento para o balanceamento de links.

Isso funcionou comigo, outra coisa que eu notei é que o linux só consegui notar que o link caiu quando eu colocava diretamente os comandos: "ifconfig eth1 down" ou ifconfig eth2 down".


Problema 2: MSN caindo.
Não consegui diagnosticar o problema tão bem quando o anterior, o jeito foi marcar os pacotes para os servidor do MSN e mandar eles sempre por um link só, você pode implementar essa mudança de link via script também quando o link que vc mandou o MSN saiu cair.

Bem, essa foi minha experiência e foi dessa forma que solucionei, espero que isso lhe ajude ou então que você tenha uma ideia melhor que a minha e compartilhe conosco sua solução.

valeu!
__________________
--
Max
http://www.max.brz.net
 
Avatar de rmaximo
 
Registrado em: Sep 2007
Localização: Ceará
Posts: 93
Agradeceu: 0
Agradecido 7 vez(es) em 7 Posts
Reputação: 26 rmaximo
rmaximo está offline  
Antigo 15-10-2007, 08:06   #4 (permalink)
Padrão

Eu trabalho num provedor de internet que lá tinhamos 8 links adsl fazendo balanceamento em uns 3 servidores diferentes. Bem, vivenciei seu presente durante uns 2 anos seguidos. LinuxKids, não sei qual é a sua situação financeira ai, mas se possivel quando puder fazer isto, tente emilinar essa situacao e peça um link dedicado para resolver tal problema, porque é uma gambiarra de tal forma que me irrita só de lembrar que o provedor vivia com mil ligacoes, e hoje em dia não existe mais nenhuma. Mas falando tecnicamente, eu fazia isso com velox. Tenho um cliente que tem 3 links adsl de 1 mega, e tem mais de 100 clientes, e funciona numa boa, pelo menos em vitória o velox nao caí. E pra ter noção disso o que o rmaximo fez eu nunca precisei de fazer aqui, dificilmente caia os links, a unica coisa que tive de fazer foi marcar pacotes para certas aplicacoes como msn, para passar por apenas um dos links. Agora esse final de semana eu tava vendo aqui no forum, uma opcao de fazer balanceamento pelo squid, e isso vai ser de boa ajuda pra mim, porque vai dar pra fazer um balanceamento legal da porta 80.

No caso de seu balanceamento voce ta usando algum script pronto na internet ou vc mesmo que o fez? Eu _uso_ o que o Leandro R. fez, com várias modificações, qualquer duvida, eu posso postar o script que eu uso para você dar uma olhada.
__________________
Fernando Gonçalves Bona
MSN :: fernandobona@gmail.com
"Feche sua janela e abra suas portas. Seja livre, use Linux"
"Close your windows and open your doors. Be free, use Linux"
 
Avatar de timidboy
 
Registrado em: Sep 2006
Localização: Espírito Santo
Idade: 24
Posts: 63
Agradeceu: 5
Agradecido 2 vez(es) em 2 Posts
Reputação: 0 timidboy
Enviar mensagem via ICQ para timidboy Enviar mensagem via Yahoo para timidboy Enviar mensagem via Skype para timidboy
timidboy está offline  
Tópico Trancado

Ferramentas do Tópico

Regras para Posts
Você não pode postar novos tópicos
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar seus posts

Código [IMG] Sim
Código HTML Não
Trackbacks are Sim
Pingbacks are Sim
Refbacks are Sim

Ir para...

Tópicos Similares
Tópico Tópico Iniciado Por Fórum Respostas Última Mensagem
Balanceamento de Links Skolrock Proxy/NAT/Firewall 2 06-02-2007 10:11
balanceamento de links lucianogf Proxy/NAT/Firewall 6 01-11-2006 03:50
Balanceamento de links RafaelAndrade Proxy/NAT/Firewall 3 06-09-2005 10:15
balanceamento de links joaoricardofs Adm. em Geral 3 24-05-2005 09:59
Balanceamento entre links jairof Adm. em Geral 3 24-06-2004 00:35

Horários baseados na GMT -3. Agora são 13:41.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

Divulgue o Under-Linux.Org

Under-Linux.Org

Últimas dos Fóruns

Últimas dos Blogs