+ Responder ao Tópico



  1. #1

    Smile Load balance

    Bom, venho trabalhando com mikrotik a algum tempo, e precisei fazer um load balance entre um link dedicado e um adsl, de inicio queria deixar paginas de internet para o dedicado e o resto para o adsl, pois o dedicado não tem limite nas conexões, pois bem fiz e ai me deparei com o dedicado estourado, pesquizei e descobri q naum consigo separar o download das paginas pois no momento que marco a porta 80 a maioria dos downloads passam por ali junto.

    A solução que encontrei foi a seguinte, deixar no link dedicado oque realmente acredito ser importante, fiz uma lista: dns, msn, orkut estes são oq os meus clientes mais utilizam, p2p na minha rede quase não tem...

    Oq eu decidi fazer marcar estas conexõe e largar para o link dedicado, vou passar as regras para que cada um possa analisar e modifica-las como precisar de acordo com suas necessidades.


    ip firewall mangle:

    add chain=prerouting protocol=udp dst-port=53 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="DEDICADO" disabled=no
    add chain=prerouting dst-address=201.10.1.2 protocol=udp dst-port=53 action=mark-routing \
    new-routing-mark="link dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting dst-address=201.10.120.3 protocol=udp dst-port=53 action=mark-routing \
    new-routing-mark="link dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting protocol=tcp dst-port=6891-6901 action=mark-routing \
    new-routing-mark="link dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting protocol=udp dst-port=6891-6901 action=mark-routing \
    new-routing-mark="link dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting protocol=tcp dst-port=1863 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting protocol=udp dst-port=1863 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting protocol=udp dst-port=5190 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting dst-address=64.233.163.99 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="google" disabled=no
    add chain=prerouting dst-address=64.233.163.104 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting dst-address=64.233.163.147 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting dst-address=64.233.163.103 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting dst-address=64.233.163.87 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="orkut" disabled=no
    add chain=prerouting dst-address=64.233.163.86 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting dst-address=64.233.163.94 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting dst-address=64.233.163.85 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting dst-address=200.184.179.65 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="meu ip" disabled=no
    add chain=prerouting dst-address=200.176.3.142 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="terra" disabled=no
    add chain=prerouting dst-address=200.203.121.20 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting dst-address=200.181.132.67 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="" disabled=no
    add chain=prerouting routing-mark="link dedicado" action=mark-packet new-packet-mark=teste \
    passthrough=yes comment="\"\"" disabled=no

    Agora em ip routes

    add dst-address=0.0.0.0/0 gateway=189.10.255.145 scope=255 target-scope=10 \
    routing-mark="link dedicado" comment="load balance" disabled=no
    add dst-address=0.0.0.0/0 gateway=201.14.223.254 scope=255 target-scope=10 \
    comment="outros" disabled=no


    Em anexo uma image de um dos meus enlaces, no servidor 2 pode observar o trafego entre os 2 links de internet, o dedicado e o adsl


    Espero que ajude alguem, pois ta me servindo muito bem estas regras...
    Miniaturas de Anexos Miniaturas de Anexos Clique na imagem para uma versão maior

Nome:	         exemplo de load balance.JPG
Visualizações:	327
Tamanho: 	101,3 KB
ID:      	4900  
    Última edição por MaxAdriano; 17-07-2009 às 01:44.

  2. #2

    Padrão

    amigo a dica é ao inves de marcar os ips estaticos coloque as redes ex
    add chain=prerouting dst-address=200.203.121.0/24 action=mark-routing new-routing-mark="link \
    dedicado" passthrough=yes comment="" disabled=no

    Fica melhor e mais aberto a alterações externas

    Sds



  3. #3

    Padrão

    pensei aqui o brazil usa redes 189.0.0.0/8 200.0.0.0/8 e o 201..../8 entao nessas nao tem youtube orkut dae vc pensa

    Sds

  4. #4

    Padrão

    Citação Postado originalmente por powernetscm Ver Post
    pensei aqui o brazil usa redes 189.0.0.0/8 200.0.0.0/8 e o 201..../8 entao nessas nao tem youtube orkut dae vc pensa

    Sds

    valeu pela dica



  5. #5

    Padrão

    Citação Postado originalmente por powernetscm Ver Post
    pensei aqui o brazil usa redes 189.0.0.0/8 200.0.0.0/8 e o 201..../8 entao nessas nao tem youtube orkut dae vc pensa

    Sds

    Mas estive dando uma olhada, mas assim, se eu colocar redes tipo 189.0.0.0/8 pegarei varios sites, inclusive downloads que sairem desses ips não? meu interesse é colocar os sites mais utilizados, exemplo o orkut, a maioria dos meus clientes só quer saber de orkut, ai fiz o teste adicionando os ips 64.233.163.87, 64.233.163.86, 64.233.163.94, 64.233.163.85. e sempre sai pelo dedicado, adicionei o meuip.com.br tbem, para quando verificarem o ip sair pelo dedicado, e ativei bloqueio do ip reverso do adsl, assim se outro site sair pelo adsl naum identifica....

  6. #6

    Padrão

    Citação Postado originalmente por MaxAdriano Ver Post
    Mas estive dando uma olhada, mas assim, se eu colocar redes tipo 189.0.0.0/8 pegarei varios sites, inclusive downloads que sairem desses ips não? meu interesse é colocar os sites mais utilizados, exemplo o orkut, a maioria dos meus clientes só quer saber de orkut, ai fiz o teste adicionando os ips 64.233.163.87, 64.233.163.86, 64.233.163.94, 64.233.163.85. e sempre sai pelo dedicado, adicionei o meuip.com.br tbem, para quando verificarem o ip sair pelo dedicado, e ativei bloqueio do ip reverso do adsl, assim se outro site sair pelo adsl naum identifica....
    Bem MaxAdriano,um jeito que faço este divisão para 3 links que possuo (2 adls e 1 dedicado) faço o seguinte,no mangle faça uma marcação de rota pre-routing,protocolo tcp,dst-port 80 normal como você já deve ter feito,porém adiciona um detalhe na aba Advanced,repare que tem um campo chamado connection-byte,esta opção somente vai marcar os pacotes que possuirem um tamanho especifico conforme você pode estar especificando,ou seja se você colocar por exemplo o valor 500000-0 (50000=bytes e 0=infinito) irá marcar somente pacotes que possuam 500kb ou superiores,no caso os downloads.Tudo que for abaixo de 500kb ele não irá marcar,e como todo download costuma ser um único arquivo grande,ele irá marcar de certeza.Ai você marca a rota que você bem quer e pronto,todo pacote acima de 500kb será redirecionado para a rota conforme você escolheu.

    Caso tenha alguma dúvida,espero poder contribuir.

    Abração



  7. #7

    Padrão

    Citação Postado originalmente por tskstar Ver Post
    Bem MaxAdriano,um jeito que faço este divisão para 3 links que possuo (2 adls e 1 dedicado) faço o seguinte,no mangle faça uma marcação de rota pre-routing,protocolo tcp,dst-port 80 normal como você já deve ter feito,porém adiciona um detalhe na aba Advanced,repare que tem um campo chamado connection-byte,esta opção somente vai marcar os pacotes que possuirem um tamanho especifico conforme você pode estar especificando,ou seja se você colocar por exemplo o valor 500000-0 (50000=bytes e 0=infinito) irá marcar somente pacotes que possuam 500kb ou superiores,no caso os downloads.Tudo que for abaixo de 500kb ele não irá marcar,e como todo download costuma ser um único arquivo grande,ele irá marcar de certeza.Ai você marca a rota que você bem quer e pronto,todo pacote acima de 500kb será redirecionado para a rota conforme você escolheu.

    Caso tenha alguma dúvida,espero poder contribuir.

    Abração

    ta certo, acho que etendi....


    add chain=prerouting protocol=tcp dst-port=80 connection-bytes=500000 \
    action=mark-routing new-routing-mark=http passthrough=yes \
    comment="ADSL" disabled=no

    com essa regra eu consigo marcar pacotes acima de 500k, ai posso direcionar para a adsl, mas abaixo desta regra eu tenho que colocar uma regra para direcionar o restante para o dedicado seria isto?


    como vc separa suas 2 adsl e seu dedicado? quais velocidades vc tem?

  8. #8

    Padrão

    Citação Postado originalmente por MaxAdriano Ver Post
    ta certo, acho que etendi....


    add chain=prerouting protocol=tcp dst-port=80 connection-bytes=500000 \
    action=mark-routing new-routing-mark=http passthrough=yes \
    comment="ADSL" disabled=no

    com essa regra eu consigo marcar pacotes acima de 500k, ai posso direcionar para a adsl, mas abaixo desta regra eu tenho que colocar uma regra para direcionar o restante para o dedicado seria isto?


    como vc separa suas 2 adsl e seu dedicado? quais velocidades vc tem?
    Opa,

    Bem corrigindo não se eskeça de colocar o número ( 0 ) no final,senão somente vai aceitar pacotes com 500k exatos,e não com 500k ou MAIS conforme passado,e como você quer redirecionar de vez os downloads,você também coloca passthrought em no,senão a rota será marcada e a conexão irá passar,o ideal é ela nao passar dali neste caso.E não se esqueça de depois em IP>Routes especificar na opção "Routing Mark" o http-download juntamente com o Gateway que você vai querer utilizar.Corrigindo a regra abaixo os itens que eu alterei estão em vermelho.

    add chain=prerouting protocol=tcp dst-port=80 connection-bytes=500000-0 \
    action=mark-routing new-routing-mark=http-download passthrough=no \
    comment="ADSL-Download" disabled=no

    Eu separo da seguinte forma:Tenho 2 ADSLs de 4mb como link suplementar para o link Full de 2Mb.

    Crio no mangle regras para marcar oque eu quero que vá para cada Gateway.No caso utilizo 3 gateways diferentes,1 para o dedicado,1 para cada ADSL1 e outro para ADSL2.

    Simplesmente marco o seguinte:

    HTTPS(443) e HTTP(80) Navegação POP,SMTP,MSN (1863) e DNS(53) somente o dedicado.

    Downloads,P2P e todo o resto eu divido entre os 2 Adls,assim sempre a minha rede esta limpa para navegação,nunca utiliza nem sequer 1mb e poco no máximo com mta gente online,fora que o cache ajuda muito também.

    A divisão entre os 2 adsls eu simplesmente faço Balanceamento por Rota Estatica.De uma pesquisada que você verá no fórum sobre balanceamento com rotas estáticas.É muito simples e não da nenhuma dor de cabeça e é bem funcional,logicamente isso depende de cada um,para mim foi a melhor opção,entre usar nth,etc...supriu minhas necessidades e a rede agilizou muito.

    Caso tenha alguma dúvida sobre Balanceamento por Rota Estatica da um toque que eu posto umas screenshots para você se basear.

    Abração,



  9. #9

    Padrão

    Citação Postado originalmente por tskstar Ver Post
    Opa,

    Bem corrigindo não se eskeça de colocar o número ( 0 ) no final,senão somente vai aceitar pacotes com 500k exatos,e não com 500k ou MAIS conforme passado,e como você quer redirecionar de vez os downloads,você também coloca passthrought em no,senão a rota será marcada e a conexão irá passar,o ideal é ela nao passar dali neste caso.E não se esqueça de depois em IP>Routes especificar na opção "Routing Mark" o http-download juntamente com o Gateway que você vai querer utilizar.Corrigindo a regra abaixo os itens que eu alterei estão em vermelho.

    add chain=prerouting protocol=tcp dst-port=80 connection-bytes=500000-0 \
    action=mark-routing new-routing-mark=http-download passthrough=no \
    comment="ADSL-Download" disabled=no

    Eu separo da seguinte forma:Tenho 2 ADSLs de 4mb como link suplementar para o link Full de 2Mb.

    Crio no mangle regras para marcar oque eu quero que vá para cada Gateway.No caso utilizo 3 gateways diferentes,1 para o dedicado,1 para cada ADSL1 e outro para ADSL2.

    Simplesmente marco o seguinte:

    HTTPS(443) e HTTP(80) Navegação POP,SMTP,MSN (1863) e DNS(53) somente o dedicado.

    Downloads,P2P e todo o resto eu divido entre os 2 Adls,assim sempre a minha rede esta limpa para navegação,nunca utiliza nem sequer 1mb e poco no máximo com mta gente online,fora que o cache ajuda muito também.

    A divisão entre os 2 adsls eu simplesmente faço Balanceamento por Rota Estatica.De uma pesquisada que você verá no fórum sobre balanceamento com rotas estáticas.É muito simples e não da nenhuma dor de cabeça e é bem funcional,logicamente isso depende de cada um,para mim foi a melhor opção,entre usar nth,etc...supriu minhas necessidades e a rede agilizou muito.

    Caso tenha alguma dúvida sobre Balanceamento por Rota Estatica da um toque que eu posto umas screenshots para você se basear.

    Abração,

    Então, deixo esta regra assim:

    add chain=prerouting protocol=tcp dst-port=80 connection-bytes=500000-0 \
    action=mark-routing new-routing-mark=http-download passthrough=no \
    comment="ADSL-Download" disabled=no

    esta no topo, ai coloco outra regra abaixo sem o tamanho especifico, já que só vai passar a frente pacotes menores de 500k, para marcar o restante, ai a primeira regra eu deixo para sair pelo adsl e a segunda regra para sair pelo dedicado assim vc acredita que somente navegação sairá pelo dedicado??

  10. #10

    Padrão

    Citação Postado originalmente por MaxAdriano Ver Post
    Então, deixo esta regra assim:

    add chain=prerouting protocol=tcp dst-port=80 connection-bytes=500000-0 \
    action=mark-routing new-routing-mark=http-download passthrough=no \
    comment="ADSL-Download" disabled=no

    esta no topo, ai coloco outra regra abaixo sem o tamanho especifico, já que só vai passar a frente pacotes menores de 500k, para marcar o restante, ai a primeira regra eu deixo para sair pelo adsl e a segunda regra para sair pelo dedicado assim vc acredita que somente navegação sairá pelo dedicado??
    Simplesmente mantenha a sua configuração atual,ou seja tudo que você ja fez como por exemplo http(80) para tal lugar,porta 23 para tal lugar e assim vá....nada disso vai alterar

    Pelo fato de você colocar essa regra no topo,simplesmente tudo oque tiver acima de 500k não irá passar para as regras de baixo,ou seja tudo oq for abaixo isso irá prosseguir normalmente pelas suas regras padrões que você já deve ter feito.Afinal ela não irá se encaixar nos parametros da regra que eu te passei.

    Só não adianta você marcar o pacote por exemplo e na hora de colocar a rota colocar a mesma para onde vai a sua navegação HTTP,senão é trocar alhos por bugalhos né...



  11. #11

    Padrão

    Citação Postado originalmente por tskstar Ver Post
    Simplesmente mantenha a sua configuração atual,ou seja tudo que você ja fez como por exemplo http(80) para tal lugar,porta 23 para tal lugar e assim vá....nada disso vai alterar
    ta certo, irei estudar um pouco hj e mais de madrugada irei testar...

  12. #12

    Padrão

    Citação Postado originalmente por tskstar Ver Post
    Opa,

    add chain=prerouting protocol=tcp dst-port=80 connection-bytes=500000-0 \
    action=mark-routing new-routing-mark=http-download passthrough=no \
    comment="ADSL-Download" disabled=no


    Abração,
    Amigo, sua idéia é muito boa em relação ao connection-bytes, mas percebi que os meus downloads travam com 500k. Ele só vai até o tamanho especificado em conection bytes. Se eu inverter, colocar o 0 na frente do download, sai tudo pelo meu link ADSL, o que não é o que eu quero. Mesmo marcando de 500k a 1 Mb por ex, ele usa os 500k como parametro para parar o download. Sabe o que pode ser isso?? um grande abraço!!



  13. #13

    Padrão

    Citação Postado originalmente por brunobrandao Ver Post
    Amigo, sua idéia é muito boa em relação ao connection-bytes, mas percebi que os meus downloads travam com 500k. Ele só vai até o tamanho especificado em conection bytes. Se eu inverter, colocar o 0 na frente do download, sai tudo pelo meu link ADSL, o que não é o que eu quero. Mesmo marcando de 500k a 1 Mb por ex, ele usa os 500k como parametro para parar o download. Sabe o que pode ser isso?? um grande abraço!!
    Olá Bruno,

    Aqui utilizo esta opção e o download conclui normalmente.Nós colocamos o 0 após o 500k justamente para indiciar ao mikrotik que pacotes acima de 500k ele ira marcar...utilizo atualmente a versão 3.28 em um X86 como roteador principal..

    Qual versão você esta utilizando ?

    Abração

  14. #14

    Padrão

    Obrigado pela resposta.
    Estou usando a 3.27 x28.
    Eu fiz o script e fiz um download, ex: winrar que tem 2Mb. Sendo que o download travava na faixa de 500k.
    Eu tinha esquecido que tinha feito o script e agora a noite tentei fazer outro down e foi o ópera com 9Mb, e ele travou com 450k. Ai fui verificar meus scripts e lembrei deste script de redirecionamento pelo tamanho. Quando removi ele, o download foi normal. Ai eu pensei:" deve ser pq esta com 500k de inicio", ai mudei e coloquei de 500k a té 2Mb(só para testes). Ele continuava travando com 500k. Deduzi que o 1º valor colocado lá, é o limite. Que coisa!!

    Eu hj uso 1 servidor só pra balanceamento (MK 3.27 original) 1 servidor MK 3.27 para gerenciamento + o thunder cache no debian.

    O que posso estar fazendo de errado?? Um forte abraço!


    OBS: Estava navegando e encontrei este Link falando a respeito desta função sendo que sempre serve para dropar, assim como esta acontecendo aqui. Um abraço.
    https://under-linux.org/f123271-limi...ndo-catvbrasil
    Última edição por brunobrandao; 21-08-2009 às 22:13.



  15. #15

    Padrão

    Citação Postado originalmente por tskstar Ver Post
    Opa,

    Bem corrigindo não se eskeça de colocar o número ( 0 ) no final,senão somente vai aceitar pacotes com 500k exatos,e não com 500k ou MAIS conforme passado,e como você quer redirecionar de vez os downloads,você também coloca passthrought em no,senão a rota será marcada e a conexão irá passar,o ideal é ela nao passar dali neste caso.E não se esqueça de depois em IP>Routes especificar na opção "Routing Mark" o http-download juntamente com o Gateway que você vai querer utilizar.Corrigindo a regra abaixo os itens que eu alterei estão em vermelho.

    add chain=prerouting protocol=tcp dst-port=80 connection-bytes=500000-0 \
    action=mark-routing new-routing-mark=http-download passthrough=no \
    comment="ADSL-Download" disabled=no

    Eu separo da seguinte forma:Tenho 2 ADSLs de 4mb como link suplementar para o link Full de 2Mb.

    Crio no mangle regras para marcar oque eu quero que vá para cada Gateway.No caso utilizo 3 gateways diferentes,1 para o dedicado,1 para cada ADSL1 e outro para ADSL2.

    Simplesmente marco o seguinte:

    HTTPS(443) e HTTP(80) Navegação POP,SMTP,MSN (1863) e DNS(53) somente o dedicado.

    Downloads,P2P e todo o resto eu divido entre os 2 Adls,assim sempre a minha rede esta limpa para navegação,nunca utiliza nem sequer 1mb e poco no máximo com mta gente online,fora que o cache ajuda muito também.

    A divisão entre os 2 adsls eu simplesmente faço Balanceamento por Rota Estatica.De uma pesquisada que você verá no fórum sobre balanceamento com rotas estáticas.É muito simples e não da nenhuma dor de cabeça e é bem funcional,logicamente isso depende de cada um,para mim foi a melhor opção,entre usar nth,etc...supriu minhas necessidades e a rede agilizou muito.

    Caso tenha alguma dúvida sobre Balanceamento por Rota Estatica da um toque que eu posto umas screenshots para você se basear.

    Abração,
    Bom dia amigo,

    Poderia postar alguns screenshots das regras?

    Abç