Fiz o load balance entre dois links, um dia 2 mb e outro de 1 mb.
Mas quando começo a fazer um download ele trava, quando faço o download com um link só habilitado ele baixa normal.
Sera que alguem não sabe uma solução?
Fiz o load balance entre dois links, um dia 2 mb e outro de 1 mb.
Mas quando começo a fazer um download ele trava, quando faço o download com um link só habilitado ele baixa normal.
Sera que alguem não sabe uma solução?
você fez qual tipo de loadbalance ? pcc ? nth? qual versão do mk ?
o tipo de balance não sei direito não, to usando uma rb 750 v3.31, ela funciona só para o balance.
as configurações são essas:
ip address
/ip address add address=10.31.255.1/29 interface=ether1
/ip address add address=192.168.100.4/24 interface=ether4
/ip address add address=192.168.254.10/24 interface=ether5
ip dns
/ip dns set primary-dns=8.8.8.8
/ip dns set secondary-dns=8.8.8.4
/ip dns set allow-remote-requests=yes
ip dns statico
/ip dns static add address=10.31.255.1 comment="" disabled=no name=10.31.255.1.sec.dot ttl=1d
ip firewall nat
/ip firewall nat add action=masquerade chain=srcnat disabled=no out-interface=ether4
/ip firewall nat add action=masquerade chain=srcnat disabled=no out-interface=ether5
ip firewall mangle
/ip firewall mangle add action=accept chain=prerouting comment="HTTPS FORA DO LOADBALACED" disabled=no protocol=tcp dst-port=443 in-interface=ether1
/ip firewall mangle add action=accept chain=prerouting comment="FORA DO LOADBALACED" disabled=no dst-address-list=loopback in-interface=ether1
/ip firewall mangle add action=change-ttl chain=forward comment="Filtro Tracert / Traceroute" disabled=no new-ttl=set:30 protocol=icmp
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no in-interface=ether4 new-connection-mark=ether4_conn passthrough=yes
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no in-interface=ether5 new-connection-mark=ether5_conn passthrough=yes
/ip firewall mangle add action=mark-routing chain=output connection-mark=ether4_conn disabled=no new-routing-mark=to_ether4 passthrough=yes
/ip firewall mangle add action=mark-routing chain=output connection-mark=ether5_conn disabled=no new-routing-mark=to_ether5 passthrough=yes
/ip firewall mangle add action=accept chain=prerouting disabled=no dst-address=192.168.100.0/24 in-interface=ether1
/ip firewall mangle add action=accept chain=prerouting disabled=no dst-address=192.168.254.0/24 in-interface=ether1
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no dst-address-type=!local in-interface=ether1 new-connection-mark=ether4_conn passthrough=yes per-connection-classifier=both-addresses:2/0
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no dst-address-type=!local in-interface=ether1 new-connection-mark=ether5_conn passthrough=yes per-connection-classifier=both-addresses:2/1
/ip firewall mangle add action=mark-routing chain=prerouting connection-mark=ether4_conn disabled=no in-interface=ether1 new-routing-mark=to_ether4 passthrough=yes
/ip firewall mangle add action=mark-routing chain=prerouting connection-mark=ether5_conn disabled=no in-interface=ether1 new-routing-mark=to_ether5 passthrough=yes
ip route
/ip route add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.100.1 routing-mark=to_ether4 comment="Link0"
/ip route add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.254.254 routing-mark=to_ether5 comment="Link1"
/ip route add check-gateway=ping comment="Link0" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.100.1 scope=30 target-scope=10
/ip route add check-gateway=ping comment="Link1" disabled=no distance=2 dst-address=0.0.0.0/0 gateway=192.168.254.254 scope=30 target-scope=10
ip firewall address-list
/ip firewall address-list add address=200.155.80.0-200.155.255.255 comment=BRADESCO disabled=no list=loopback
/ip firewall address-list add address=200.220.186.0/24 comment=BRADESCO disabled=no list=loopback
/ip firewall address-list add address=200.220.178.0/24 comment=BRADESCO disabled=no list=loopback
/ip firewall address-list add address=64.38.29.0/24 comment=RapidShare disabled=no list=loopback
/ip firewall address-list add address=208.69.32.0/24 comment="" disabled=no list=loopback
/ip firewall address-list add address=208.67.217.0/24 comment="" disabled=no list=loopback
/ip firewall address-list add address=201.7.178.0/24 comment="" disabled=no list=loopback
/ip firewall address-list add address=201.7.176.0/24 comment="" disabled=no list=loopback
/ip firewall address-list add address=200.159.128.0/24 comment=BRADESCO disabled=no list=loopback
/ip firewall address-list add address=201.7.176.0/20 comment="Vídeos - Globo" disabled=no list=loopback
/ip firewall address-list add address=208.84.247.0/24 comment="Vídeos - terratv" disabled=no list=loopback
/ip firewall address-list add address=200.154.56.0/24 comment="Vídeos - terratv" disabled=no list=loopback
/ip firewall address-list add address=200.201.160.0/24 comment="Caixa Economica Federal" disabled=no list=loopback
/ip firewall address-list add address=200.201.166.0/24 comment="" disabled=no list=loopback
/ip firewall address-list add address=200.201.173.0/24 comment="" disabled=no list=loopback
/ip firewall address-list add address=200.201.174.0/24 comment="" disabled=no list=loopback
/ip firewall address-list add address=200.141.207.3 comment=Detran disabled=no list=loopback
/system script
/system script add name=Link0Dow policy=\ ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive source="\ /ip firewall filter set [find comment=\"Link0\"] disable=yes;\r\ \n/ip firewall nat set [find comment=\"Link0\"] disable=yes;\r\ \n/ip firewall mangle set [find comment=\"Link0\"] disable=yes;\r\ \n/ip route set [find comment=\"Link0\"] disable=yes;"
/system script add name=Link1Dow policy=\ ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive source="\ /ip firewall filter set [find comment=\"Link1\"] disable=yes;\r\ \n/ip firewall nat set [find comment=\"Link1\"] disable=yes;\r\ \n/ip firewall mangle set [find comment=\"Link1\"] disable=yes;\r\ \n/ip route set [find comment=\"Link1\"] disable=yes;"
/system script add name=Link0Up policy=\ ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive source="\ /ip firewall filter set [find comment=\"Link0\"] disable=no;\r\ \n/ip firewall nat set [find comment=\"Link0\"] disable=no;\r\ \n/ip firewall mangle set [find comment=\"Link0\"] disable=no;\r\ \n/ip route set [find comment=\"Link0\"] disable=no;"
/system script add name=Link1Up policy=\ ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive source="\ /ip firewall filter set [find comment=\"Link1\"] disable=no;\r\ \n/ip firewall nat set [find comment=\"Link1\"] disable=no;\r\ \n/ip firewall mangle set [find comment=\"Link1\"] disable=no;\r\ \n/ip route set [find comment=\"Link1\"] disable=no;"
Atualiza pra varsão 4.16.
E uma questão de tabela de roteamento, quando se faz um load balance você da a sua faixa de rede de clientes duas opções de rotas aleatórias, fazendo com que cada solicitacão seja enviada de forma simétrica, uma solicitacão para cada, ou assimétrica quando temos diferenças em tamanho dos links, como 3 requisições para um e uma para outra. O problema reside no fato de que quando uma conexão com um servidor remoto `e feita ele espera as confirmações de recebimento de pacotes tcp vindo da origem da solicitacão, e então quando o cliente envia a solicitacão de recebimento do pacote acaba que a tal solicitacão sai por outro link, e não pelo de inicio da conexão, o servidor remoto então fecha a conexão, pois isso pode ser interpretado de varias formas, afinal, como um cliente pode vir solicitar a mesma coisa de 2 links diferentes ( assim pensa o servidor ).
Para resolver isso devemos utilizar no caso de sistemas Linux a ferramenta iproute2 adicionando algumas rotas mais utilizadas de forma estática dividindo entre os links da forma que melhor lhe convir. Um exemplo disso `e a utilizacão do grupo de ips do live (msn). Apos feito isso não cai mais de jeito nenhum o msn do cliente. ^^ Espero que isso ajude um pouco quem vem tendo problemas com balanceamento.
Boa noite tenho o PCC em uma RB 333 para balance e tenho o mesmo problema aqui cmom o faço a utilizacão do grupo de ips do live (msn) tb para download em geral. da pra explicar melhor. Obrigado
Certo, vou exemplificar, mas antes devemos considerar o seguinte.
1 - O Seu balanceamento já deve estar funcionando.
2 - Utilizo somente Slackware , portanto a regra que eu utilizo pode por algum motivo não funcionar em todas as situações por qualquer fator. Acho difícil isso acontecer, mais vai saber..
3 - Logicamente você deve alterar a interface que eu informar pela a sua em questão.
Vamos logo ao que interessa:
Os IP`s do Serviço Windows Live (msn) que pesquisei: 65.55.0.0/16 e 65.54.0.0/16
Observem que vou trabalhar com blocos inteiros de ips, isso ajuda bastante na chance de não errar ^^
Quando digo não errar, me refiro a verdade de que são centenas de servidores, e portanto centenas de ips, alguém duvida??
Sou do tipo que ensina a pescar e nao dar o peixe, portanto você deve trabalhar no iprouter da seguinte forma:
ip route add 65.55.0.0/16 via 192.168.1.1
Na linha acima, utilizamos a ferramenta ip para adicionar uma rota estatica dizendo que tudo que for de destino 65.55.x.x devera passar pelo gateway 192.168.1.1 ( esse gateway deve ser um dos gateways do balanceamento que você tem funcionando ai.
Importante, essa regra deve ser adicionada ACIMA das regras do load balance, nunca abaixo ( obvio ne..)
Qualquer coisa, estou a disposição. :P
Opa, outra coisa, utilizem duas faixas no caso do msn : 65.54.0.0/16 e 65.55.0.0/16 .
Gostei, vou testa no meu balance e depois dou a resposta, sim e a questão dos downloads travando isso já resolve?
Ou tem mais alguma regra?
sim, e tem mais uma quiasa que esquesir de dizer, quando habilito os dois link a internet, fica mas lentra, como se tive-se acontecendo algum conflito de ips entre os dois link.
ficando assim só com um link funcionando de cada vez.
to pensando em mudar o balance para o pcc, serar que resolveria?
Basta utilizar a mesma logica do msn..
Logico que não da pra especificar todos os servidores de downloads do mundo, porem você pode especificar os mais utilizados e o resto fica por conta dos gerenciadores de download ( finalmente uma utilidade pra eles..) ex: Youtube, Megaupload, Easy Share.... blablalbaa.. e o resto fica no gerenciador.
Uma outra forma de fazer isso `e escolhendo por portas, ai você joga portas separadas para cada link, também resolveria.. só que desta forma deve-se utilizar em conjunto a ferramente iptables com o MARK. ^^
Marca os pacotes da porta xx e manda pela ferramenta ip para o link que você quiser.
obrigado a todos ai, mas parece que conseguir resolver o problema.
usei essas regras para marcas as portas do http e o msn.
add chain=prerouting protocol=tcp dst-port=80 action=mark-routing new-routing-mark=link2 passthrough=ye comment="HTTP no link2" disabled=no
add chain=prerouting routing-mark=link2 action=mark-packet new-packet-mark=link2 passthrough=yes comment="Pacotes marcados do Link2" disabled=no
add chain=prerouting routing-mark=link2 action=mark-packet new-packet-mark=link2 passthrough=yes comment="Pacotes marcados do Link2" disabled=no
add chain=prerouting protocol=tcp dst-port=1863 action=mark-routing new-routing-mark=link2 passthrough=yes comment="MSN no Link2" disabled=no
e essa para o p2p, fazendo com que o p2p fique no outro link.
add chain=prerouting protocol=tcp p2p=all-p2p action=mark-routing new-routing-mark=link1 passthrough=yes comment="p2p no link1" disabled=no
add chain=prerouting routing-mark=link1 action=mark-packet new-packet-mark=link1 passthrough=yes comment="Pacotes marcados do Link1" disabled=no
Agora de lembrete, praticamente 70% do consumo de banda vem da porta 80, infelizmente advindo de servidores como o megaupload e derivados, que briga diretamente com a navegação em paginas, o que torna essa divisão bem complicada.
Caso você tenha somente 2 links, passe todo o restante para o segundo link e deixe somente a porta 80 e 53 primeiro link. Dessa forma você conseguira manter mais clientes no sistema.
Pois no modelo de load balance por portas o problema `e esse, em momentos critico de banda pelo link da porta 80 você vera o outro com bem menos utilizacão.
é o problema é esse primeiro criei a regra de seguinte forma:
ip firewall mangle add chain=prerouting action=accpet protocol=(tcp) dst-port=80.
Ai o link 3 ficou praticamente sem trafego, depois que mudei para
add chain=prerouting protocol=tcp dst-port=80 action=mark-routing new-routing-mark=link2 passthrough=ye comment="HTTP no link2" disabled=no.
o trafego do segundo link aumentou, e deixe o p2p, para o segundo link, mas o primeiro link sempre fica consumindo mais. Até agora ta funcionando to monitorando o sistema.
Obrigado, pela a ajuda.
Ok, precisando estou sempre por aqui.
Pela minha experiencia, o que melhor me atendeu foi o balanceamento total com apenas algumas rotas estáticas adicionadas manualmente, consegui usar praticamente toda a banda de todos os links em momentos de pico.
No mais, `e isso.