Ver Feed RSS

info24hs

Balanceamento e Redundancia (3 Links)

Avalie este Post de Blog
Seguindo a sequência do artigo sobre Balanceamento e Redundancia segue o script atualizado e modificado para uso de 3 links de internet.

Balanceamento e Redundancia (2 Links)


Últimas modificações:

1- Balanceamento de 3 links + Redundancia para os 3 links
2- Data e Hora dos eventos
3- Modificação nas regras para marcar e desmarcar rotas


Funcionamento:

1- Se cair um link, ele continua fazendo o balanceamento e redundancia entre 2 links.
2- Caso caia 2 links, a rede continua funcionando em 1 link.
3- *A soma dos links, é feita da seguinte maneira: 1ª conexão estabilidada pelo link 1, 2ª conexão estabilidada pelo link 2, 3ª conexão estabilidada pelo link 3; estamos usando peso 1:1:1
4- Os serviços podem ser divididos e remanejados para determinados links usando regras de marcação.
5- Este método de balanceamento e redundancia só serve como saída para a Internet.

* Use um programa do tipo download manager que possa dividir o arquivo em partes para testar.


Modificando as tabelas e rotas, em negrito as mudanças:

1- Acrescente no arquivo "rt_tables"

1 gvt
2 brt
3 net

2- Acrescente a nova rota para o 3 link, abaixo incluío a regra no arquivo "rc.local".

#Limpa as rotas no cache das tabelas
ip route flush table gvt
ip route flush table brt
ip route flush table net

#Adiciona as rotas dos links para as tabelas
ip route add 192.168.1.0/24 dev eth1 src 192.168.1.10 table gvt
ip route add default via 192.168.1.1 table gvt
ip route add 192.168.2.0/24 dev eth2 src 192.168.2.10 table brt
ip route add default via 192.168.2.1 table brt
ip route add 192.168.3.0/24 dev eth3 src 192.168.3.10 table net
ip route add default via 192.168.3.1 table net

#Adiciona a regra de marcação das tabelas
ip rule add from 192.168.1.10 table gvt
ip rule add from 192.168.2.10 table brt
ip rule add from 192.168.3.10 table net

#Esta regra abaixo é responsável pelo balancemento, vamos dividir a saída com peso 2:1:1, vamos supor que a gvt #é 2x mais rápida com link de 3 mega, link da brt com 1 mega, e link da net com 1 mega.
ip route add default scope global nexthop via 192.168.1.1 dev eth1 weight 2 nexthop via 192.168.2.1 dev eth2 weight 1 nexthop via 192.168.3.1 dev eth3 weight 1

#Limpa as rotas no cache
ip route flush cache


Dicas:

1- Caso queira trabalhar somente com 2 links balanceado e 3 links redundante é necessário remover a regra de balanceamento "nexthop via 192.168.3.1 dev eth3 weight 1" do arquivo "rc.local" e "gwping.sh", nesse caso o 3 link ficará fora do balanceamento.

2- Posso utilizar o 3 link que ficou de fora do balanceamento usando a marcação de pacotes, neste caso o 3 link vai trabalhar específico para um serviço ou um destino, veja exemplo:

#A regra abaixo determina que toda rede interna balanceada irá acessar o Bradesco pelo 3 link:
iptables -I PREROUTING -t mangle -i eth0 -s 192.168.0.0/24 -d bradesco.com.br -j MARK --set-mark 0x30

#A regra abaixo determina que toda rede interna balanceada irá acessar as portas 110(pop) e 25(smtp) pelo 3 link:
iptables -I PREROUTING -t mangle -i eth0 -s 192.168.0.0/24 -d 0/0 -p tcp -m multiport --dports 110,25 -j MARK --set-mark 0x30

3- Cuidado ao trabalhar com regras de marcação, como trabalhamos com redundancia se algum link cair e não deletar a marcação feita para ele o serviço ficará indisponível até o link voltar.. para corrigir este problema adcionei no arquivo "gwping.sh" a regra para deletar a marcação do link que caiu.. é necessário limpar a tabela mangle e adcionar as novas regras de marcação para quando o link voltar.

#Deleta marcação da tabela de roteamento:
ip rule del fwmark 0x30 lookup net prio 3

#Deleta as regras da tabela mangle:
iptables -F -t mangle
iptables -X -t mangle

Obs.: Não esqueça de desativar o balanceamento do 3 link se for utiliza-lo com marcação de pacotes, caso contrário não vai funcionar.

4- Na explicação anterior para a chamada do script no arquivo rc.local o comando nohup cria um arquivo "nohup.out" e isso gera um grande acumulo de dados ocupando espaço desnecessário no HD, se não for necessário para você esse log é possível desativa-lo acrescentando a opção > /dev/null o que irá jogar todo esse lixo para o buraco negro. Veja como ficaria a linha de comando:

nohup > /dev/null /etc/link/gwping.sh &

"Segue em anexo o script gwping.txt, renomeie para gwping.sh"
Miniaturas de Anexos Arquivos Anexos

Atualizado 22-09-2009 em 10:52 por info24hs (Mudança no Tutorial e no Script)

Categorias
Linux , Balanceamento e Redundância

Comentários

Página 1 de 2 12 ÚltimoÚltimo
  1. Avatar de Duca
    Parabéns pelos artigos.
  2. Avatar de FernandodeDeus
    Muito bom conteudo....como sempre da parte do info24hs.
  3. Avatar de mktguaruja
    Parabens amigo otimo artigo, quem manobra em linux vai conseguir fazer sussegado.. ate mesmo que não sabe muito vai conseguir fazer esse otimo tutorial. Voce esta de parabens.
    Atualizado 29-05-2009 em 14:26 por mktguaruja
  4. Avatar de daviradio
    Li todo o seu artigo e achei muito educativo e tirei duas conclusoes . Uma e a seguinte sabedoria se multiplica pela divisao. (O seu artigo tocou nas perolas de muitos sabidos(entre aspas)) coisa que eles nao descobriram sozinhos...Software aberto...linux comunidade livre.

    Segundo:
    Vamos dar vivas ao info24hrs...Vc fez despertar em muitos leitores do forum a ancia do saber... LINUX e suas soluçoes...Vale a pena estudar, experimentar e modificar mantendo os creditos e claro...no minimo Louvavel

    Eu mesmo estava endeusando demais o mikrotik mesmo sabendo que e software livre empacotado e sem constar creditos de ninguem ! Roubando o trabalho e ideias de muitos...Sei das vantagens... Grande projeto e me ajuda muito mas preferia gastar meus reais com irmaos brasileiros e ajudar nossos esforçados estudiosos e pesquisadores. Mas acontece que esse conhecimento e muito mal negociado nao chega a massa pois fica caro demais...

    Mesmo assim compro software do Pedro filho, Provebuntu e M3D4...Acho que colaborar e preciso para melhorar a situçao geral, gerando melhores software e renda .

    Esse e um desabafo de um iniciante calouro...To fora com esse papo de NEWBIES...Fala serio!
  5. Avatar de Pyramon Pereira
    Boa tarde...

    Muito bom o seu post...

    Mas como fica o script de firewall para fazer o compartilhamento desse 3 links ????

    No meu caso tenho apenas dois links e estou com duvida apenas no compartilhamento.


    caso possa me ajudar: [email]pyramonpereira@hotmail.com[/email]

    Grato
Página 1 de 2 12 ÚltimoÚltimo

+ Enviar Comentário





Visite: BR-Linux ·  VivaOLinux ·  Dicas-L