Página 2 de 2 PrimeiroPrimeiro 12
+ Responder ao Tópico



  1. #21

    Padrão

    Amigos,

    Para SOMAR links, exatamente como estou falando: SOMAR, somente se você tiver 2 links de uma mesma operadora, vou dar um exemplo prático que existem: a BrT via par metálico somente fornece link de até 2Mbps de velocidade, se vc quiser um link de 4Mbps eles instalam 2 links de 2Mbps sendo somados, isso será feito entre os roteadores da operadora, que é a unica forma de você somar links.

    Se tratando de links distintos, vocês podem fazer um balanceamento no Linux, muito eficiente, definindo pesos para os links (WAN)... Inclusive monto vários servidores aqui na região para pequenos provedores com 2 ou 3 links de WAN e 1 saida LAN. Juntamente no servidor faço Controle de Banda com HTB e ainda Cache Transparent (squid).

    Deem uma olhada em:
    https://under-linux.org/wiki/index.p...is/Loadbalance

    Só mais um detalhe/observação: o nome correto da distribuição citada anteriormente por outros usuários é Red Hat e não existe versão Enterprise 9, a versão Red Hat 9 foi a última versão com distribuição gratuita do Red Hat. A última versão Enterprise disponível para comprar do Red Hat é a Enterprise 5.

    Espero ter ajudado...

    Abraços a todos,
    Marcelo Piaz Vianna
    Última edição por mvianna; 04-09-2007 às 22:38.

  2. #22

    Padrão

    Citação Postado originalmente por mvianna Ver Post
    Amigos,

    Para SOMAR links, exatamente como estou falando: SOMAR, somente se você tiver 2 links de uma mesma operadora, vou dar um exemplo prático que existem: a BrT via par metálico somente fornece link de até 2Mbps de velocidade, se vc quiser um link de 4Mbps eles instalam 2 links de 2Mbps sendo somados, isso será feito entre os roteadores da operadora, que é a unica forma de você somar links.

    Se tratando de links distintos, vocês podem fazer um balanceamento no Linux, muito eficiente, definindo pesos para os links (WAN)... Inclusive monto vários servidores aqui na região para pequenos provedores com 2 ou 3 links de WAN e 1 saida LAN. Juntamente no servidor faço Controle de Banda com HTB e ainda Cache Transparent (squid).

    Deem uma olhada em:
    https://under-linux.org/wiki/index.p...is/Loadbalance

    Só mais um detalhe/observação: o nome correto da distribuição citada anteriormente por outros usuários é Red Hat e não existe versão Enterprise 9, a versão Red Hat 9 foi a última versão com distribuição gratuita do Red Hat. A última versão Enterprise disponível para comprar do Red Hat é a Enterprise 5.

    Espero ter ajudado...

    Abraços a todos,
    Marcelo Piaz Vianna
    Amigo desta forma um host que ficar pelo menos 30 minutos navegando, não vai ter saido pelos dois links varias vezes ?

    Sendo assim o msn por exemplo ficaria caindo toda vez que seu ip fosse alterado pelo balanceamento do link ( PRIORIDADES ) ?


    Falo isso pelo fato das portas não serem definidas, ou seja link1 passa trafego de msn, https, skype, etc ... serviços que quando o ip altera o mesmo cai.

    Link2 passa o restante.

    Desta forma, sempre teremos o mesmo ip para cada aplicativo.

    Não havera pelo menos um balanceamento de carga pois cada link esta definido.
    Mas os problemas de reconexão não vão acontecer.

    A duvida fica em como balancear sem o msn por exemplo ficar reconectando cada vez que o host sai por um link diferente.



  3. #23

    Padrão

    ShadowRed,

    Não tenho problemas com queda de conexões como você falou, MSN não cai.

    Utilizo a função "keep_state" no iptables, desta forma ele mantém as conexões ativas na mesma rota para que não tenha problemas...

    Outro detalhe é na definição da rota e pesos, utilizo modo "static", existem outras opções mas as outras podem gerar quedas de conexão como você citou.

    Volto a repetir, NÃO tenho problemas com quedas de conexão, muito menos o MSN.

    Espero ter ajudado...

    Abraços,
    Marcelo Piaz Vianna

  4. #24

    Padrão

    Quando se faz o balanceamento de links o iproute faz o cache das conexões, e enquanto o cache estiver ativo ele manda pelo mesmo link, isso quer dizer que se você acessa o site A e o iproute manda você pelo link 1 então enquanto o cache estiver ativo sempre que você acessar alguma pagina do site A ele vai sempre mandar pelo link1, mas isso não impede que se ao mesmo tempo você acessar o site B, esse acesso pode ser feito pelo link 2. É esse cache é que faz com que sua conexão com algum site de banco ou webmail não caia porque ele sempre manda pelo mesmo link para que o IP não mude.



  5. #25

    Smile Script Shell

    Vou postar um script que fiz.

    # --------------------- COMEÇA AQUI ------------------------#

    #!/bin/bash
    # Função: Balancear 2 links roteaveis em um servidor linux
    # Autor: Rodrigo Ribeiro
    # Favor manter os creditos do autor, em local visivel
    # HomePage: Rodrigo Ribeiro - V2
    # E-mail: [email protected]

    # Interface de rede interna
    #
    devint='eth2'

    # Interfaces de rede em contato com os roteadores (pode ser modens adsl)

    devlink1='eth0'
    devlink2='eth1'

    # IP de cada roteador superior

    gwlink1='10.0.0.1'
    gwlink2='10.0.1.1'

    # Mascarar os pacotes

    iptables -t nat -A POSTROUTING -o $devlink1 -j MASQUERADE
    iptables -t nat -A POSTROUTING -o $devlink2 -j MASQUERADE


    # marcar o que irá sair pelo link 1
    # Neste caso estou marcando http, https, smtp, pop3, dns para sair pelo link1

    for ports in 80 443 25 110 53; do
    iptables -t mangle -A PREROUTING -i $devint -p tcp --dport $ports -j MARK --set-mark 1
    iptables -t mangle -A OUTPUT -p tcp --dport $ports -j MARK --set-mark 1
    done

    # resto
    # Tudo que nao for classificado nas portas acima, é considerado resto e sairá pelo link2

    iptables -t mangle -A PREROUTING -i $devint -j MARK --set-mark 2
    iptables -t mangle -A OUTPUT -j MARK --set-mark 2


    # Adicionar marcação 1 e 2 nas tabelas 20 e 21 respectivamente

    ip rule add fwmark 1 table 20 prio 20
    ip rule add fwmark 2 table 21 prio 20


    # Adicionar rotas na tabela de roteamento

    ip route add default via $gwlink1 dev $devlink1 table 20
    ip route add default via $gwlink2 dev $devlink2 table 21


    # Atualizar tabela de rotas
    # Executar sempre que houver mudanças na tabela de roteamento.

    ip route flush cache

    # -------------------------- TERMINA AQUI ------------------------------#


    Espero que ajude. Um abraço a todos
    Qualquer coisa posta novamente.

    Rodrigo Ribeiro

  6. #26

    Padrão

    rospyn,

    O único problema com seu script é que não existe um balanceamento nos links, você simplesmente definiu que alguns serviçõs irão por um link e o resto pelo outro, ou seja, dessa forma pode acontecer de um link ficar sobrecarregado enquanto o outro ficar livre, já que os serviços que mais geram trafego você botou por um link só (desconsiderando programas p2p).



  7. #27

    Padrão

    Citação Postado originalmente por mvianna Ver Post
    ShadowRed,

    Não tenho problemas com queda de conexões como você falou, MSN não cai.

    Utilizo a função "keep_state" no iptables, desta forma ele mantém as conexões ativas na mesma rota para que não tenha problemas...

    Outro detalhe é na definição da rota e pesos, utilizo modo "static", existem outras opções mas as outras podem gerar quedas de conexão como você citou.

    Volto a repetir, NÃO tenho problemas com quedas de conexão, muito menos o MSN.

    Espero ter ajudado...

    Abraços,
    Marcelo Piaz Vianna
    Marcelo, vc poderia postar teu script ai pra min entender o que tem de errado no meu?? pois o meu cai... obrigado

  8. #28

    Padrão

    Citação Postado originalmente por rospyn Ver Post
    Vou postar um script que fiz.

    # --------------------- COMEÇA AQUI ------------------------#

    #!/bin/bash
    # Função: Balancear 2 links roteaveis em um servidor linux
    # Autor: Rodrigo Ribeiro
    # Favor manter os creditos do autor, em local visivel
    # HomePage: Rodrigo Ribeiro - V2
    # E-mail: [email protected]

    # Interface de rede interna
    #
    devint='eth2'

    # Interfaces de rede em contato com os roteadores (pode ser modens adsl)

    devlink1='eth0'
    devlink2='eth1'

    # IP de cada roteador superior

    gwlink1='10.0.0.1'
    gwlink2='10.0.1.1'

    # Mascarar os pacotes

    iptables -t nat -A POSTROUTING -o $devlink1 -j MASQUERADE
    iptables -t nat -A POSTROUTING -o $devlink2 -j MASQUERADE


    # marcar o que irá sair pelo link 1
    # Neste caso estou marcando http, https, smtp, pop3, dns para sair pelo link1

    for ports in 80 443 25 110 53; do
    iptables -t mangle -A PREROUTING -i $devint -p tcp --dport $ports -j MARK --set-mark 1
    iptables -t mangle -A OUTPUT -p tcp --dport $ports -j MARK --set-mark 1
    done

    # resto
    # Tudo que nao for classificado nas portas acima, é considerado resto e sairá pelo link2

    iptables -t mangle -A PREROUTING -i $devint -j MARK --set-mark 2
    iptables -t mangle -A OUTPUT -j MARK --set-mark 2


    # Adicionar marcação 1 e 2 nas tabelas 20 e 21 respectivamente

    ip rule add fwmark 1 table 20 prio 20
    ip rule add fwmark 2 table 21 prio 20


    # Adicionar rotas na tabela de roteamento

    ip route add default via $gwlink1 dev $devlink1 table 20
    ip route add default via $gwlink2 dev $devlink2 table 21


    # Atualizar tabela de rotas
    # Executar sempre que houver mudanças na tabela de roteamento.

    ip route flush cache

    # -------------------------- TERMINA AQUI ------------------------------#


    Espero que ajude. Um abraço a todos
    Qualquer coisa posta novamente.

    Rodrigo Ribeiro
    Amigo pode ser que eu esteja errado mas fazendo isso vc vai marcar todos pacotes como resto pois saindo do for marca tudo. Por favor me esplique como funciona. Obrigado.



  9. #29

    Padrão

    tecnic,

    Eu concordo com você, não tinha prestado atenção nesse detalhe, parece que a marcação de numero 2, para esse caso dele, deveria vir antes do laço "for".

    Alguém mais concorda com isso?

  10. #30

    Padrão

    Citação Postado originalmente por rospyn Ver Post
    Vou postar um script que fiz.

    # --------------------- COMEÇA AQUI ------------------------#

    #!/bin/bash
    # Função: Balancear 2 links roteaveis em um servidor linux
    # Autor: Rodrigo Ribeiro
    # Favor manter os creditos do autor, em local visivel
    # HomePage: Rodrigo Ribeiro - V2
    # E-mail: [email protected]

    # Interface de rede interna
    #
    devint='eth2'

    # Interfaces de rede em contato com os roteadores (pode ser modens adsl)

    devlink1='eth0'
    devlink2='eth1'

    # IP de cada roteador superior

    gwlink1='10.0.0.1'
    gwlink2='10.0.1.1'

    # Mascarar os pacotes

    iptables -t nat -A POSTROUTING -o $devlink1 -j MASQUERADE
    iptables -t nat -A POSTROUTING -o $devlink2 -j MASQUERADE


    # marcar o que irá sair pelo link 1
    # Neste caso estou marcando http, https, smtp, pop3, dns para sair pelo link1

    for ports in 80 443 25 110 53; do
    iptables -t mangle -A PREROUTING -i $devint -p tcp --dport $ports -j MARK --set-mark 1
    iptables -t mangle -A OUTPUT -p tcp --dport $ports -j MARK --set-mark 1
    done

    # resto
    # Tudo que nao for classificado nas portas acima, é considerado resto e sairá pelo link2

    iptables -t mangle -A PREROUTING -i $devint -j MARK --set-mark 2
    iptables -t mangle -A OUTPUT -j MARK --set-mark 2


    # Adicionar marcação 1 e 2 nas tabelas 20 e 21 respectivamente

    ip rule add fwmark 1 table 20 prio 20
    ip rule add fwmark 2 table 21 prio 20


    # Adicionar rotas na tabela de roteamento

    ip route add default via $gwlink1 dev $devlink1 table 20
    ip route add default via $gwlink2 dev $devlink2 table 21


    # Atualizar tabela de rotas
    # Executar sempre que houver mudanças na tabela de roteamento.

    ip route flush cache

    # -------------------------- TERMINA AQUI ------------------------------#


    Espero que ajude. Um abraço a todos
    Qualquer coisa posta novamente.

    Rodrigo Ribeiro

    Bom script.. tem muita coisa desnecessaria mas ficou legal.. funciona....

    vc nao precisa marcar os pacotes como 1 e depois os outros como 2.. é só mandar os marcados com 1 pra rota alternativa, naturalmente o resto sai pela rota default testa ai.. da bem menos tráfego na sua rede..

    abraço