+ Responder ao Tópico



  1. #1

    Padrão Balanceamento por serviços + rota estática + limite de tamanho porta 80

    Ola pessoal, estou implementando um balanceamento por serviços, e tenho a seguinte dúvida..

    Vou marcar as conexões de navegação para passar pelo link dedicado, e deixar um load de adsl com uma rb750g que tenho aqui para todo o resto do trafego.

    Mas, gostaria de definir o tamanho máximo da conexão na porta 80 por exemplo, senão quando o pessoal fizer um download do megaupload por exemplo, pode estourar meu dedicado.

    Tem um post do catv brasil que ensina como dropar ou aceitar conexão de certos tamanhos, gostaria de saber se é possivel fazer esse mesmo esquema, marcando assim as conexão acima de 10MB por exemplo para passar pelo gateway 2.

    Alguem aqui no forum ja implementou alguma soluçao parecida e poderia me ajudar?

    Grato,

    Tiago

  2. #2

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    Acho que assim não vai dar certo , pois a regra funciona como um contador, quando um arquivo chegar a um valor x do download , muda a velocidade, não de rota. Seria interessante marcar a saida para estes sites de download diretamente para uma rota que vc deseja

  3. #3

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    Existem muitos cara.. sites que hospedam arquivos que vem pela porta 80... to preocupado ja!

  4. #4

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    acho que não tem jeito , mas vamos esperar outros opinarem. Uma outra opção seria determinar uma velocidade menor após ter atingido um valor X de download. Tem uns tópicos sobre isso, se não me engano é um tópico do CATV sobre dropar ou controlar os downloads pelo tamanho, só que tem um problema com os gerenciadores de download que quebram o arquivo em pedaços menores e por isso podem ficar com uma banda maior. A impossibilidade de mudar a rota após chegar a um determinado tamanho de arquivo se deve a perda da conexão, se não me engano.

  5. #5

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    Eu estava fuçando no site dos gringos no fim de semana e vi um cara que conseguiu marcar as extenções dos arquivos por layer7, funciona perfeitamente. Dá pra fazer um bom Qos. Aí me veio a pergunta, se dá pra separar stream de áudio, video executável etc.... então eu tentei marcar no mangle como rota e separa em routers para um link diferente, Não deu certo. Talves alguém mais experiente consiga fazer (no mangle tem prerouting posrouting, tentei com um, outro, com os dois e nada) Funciona a partir da versão 3.3 do mk.

    Se alguém mais esperiente conseguir rotear a partir dessas marcações vai praticamente conseguir separar navegação do resto.

    Segue o link original

    http://forum.mikrotik.com/viewtopic.php?f=9&t=42441
    Última edição por izaufernandes; 28-07-2010 às 16:43.

  6. #6

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    /ip firewall layer7-protocol
    add comment="" name="Extension \" .exe \"" regexp="\\.(exe)"
    add comment="" name="Extension \" .rar \"" regexp="\\.(rar)"
    add comment="" name="Extension \" .zip \"" regexp="\\.(zip)"
    add comment="" name="Extension \" .7z \"" regexp="\\.(7z)"
    add comment="" name="Extension \" .cab \"" regexp="\\.(cab)"
    add comment="" name="Extension \" .asf \"" regexp="\\.(asf)"
    add comment="" name="Extension \" .mov \"" regexp="\\.(mov)"
    add comment="" name="Extension \" .wmv \"" regexp="\\.(wmv)"
    add comment="" name="Extension \" .mpg \"" regexp="\\.(mpg)"
    add comment="" name="Extension \" .mpeg \"" regexp="\\.(mpeg)"
    add comment="" name="Extension \" .mkv \"" regexp="\\.(mkv)"
    add comment="" name="Extension \" .avi \"" regexp="\\.(avi)"
    add comment="" name="Extension \" .flv \"" regexp="\\.(flv)"
    add comment="" name="Extension \" .pdf \"" regexp="\\.(pdf)"
    add comment="" name="Extension \" .wav \"" regexp="\\.(wav)"
    add comment="" name="Extension \" .rm \"" regexp="\\.(rm)"
    add comment="" name="Extension \" .mp3 \"" regexp="\\.(mp3)"
    add comment="" name="Extension \" .mp4 \"" regexp="\\.(mp4)"
    add comment="" name="Extension \" .ram \"" regexp="\\.(ram)"
    add comment="" name="Extension \" .rmvb \"" regexp="\\.(rmvb)"
    add comment="" name="Extension \" .dat \"" regexp="\\.(dat)"
    add comment="" name="Extension \" .daa \"" regexp="\\.(daa)"
    add comment="" name="Extension \" .iso \"" regexp="\\.(iso)"
    add comment="" name="Extension \" .nrg \"" regexp="\\.(nrg)"
    add comment="" name="Extension \" .bin \"" regexp="\\.(bin)"
    add comment="" name="Extension \" .vcd \"" regexp="\\.(vcd)"
    add comment="" name="Extension \" .asx \"" regexp="\\.(asx)"

  7. #7

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    Agora no Mangle
    add action=mark-connection chain=prerouting comment="7z DOWNS" disabled=no \
    layer7-protocol="Extension \" .7z \"" new-connection-mark="7z DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "7z DOWNS" disabled=no new-packet-mark=7z passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="asf DOWNS - Stream" \
    disabled=no layer7-protocol="Extension \" .asf \"" new-connection-mark=\
    "asf DOWNS" passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "asf DOWNS" disabled=no new-packet-mark=asf passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="avi DOWNS" disabled=no \
    layer7-protocol="Extension \" .avi \"" new-connection-mark="avi DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "avi DOWNS" disabled=no new-packet-mark=avi passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="bin DOWNS" disabled=no \
    layer7-protocol="Extension \" .bin \"" new-connection-mark="bin DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "bin DOWNS" disabled=no new-packet-mark=bin passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="flv DOWNS" disabled=no \
    layer7-protocol="Extension \" .flv \"" new-connection-mark="flv DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "flv DOWNS" disabled=no new-packet-mark=flv passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="iso DOWNS" disabled=no \
    layer7-protocol="Extension \" .iso \"" new-connection-mark="iso DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "iso DOWNS" disabled=no new-packet-mark=iso passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="mkv DOWNS" disabled=no \
    layer7-protocol="Extension \" .mkv \"" new-connection-mark="mkv DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "mkv DOWNS" disabled=no new-packet-mark=mkv passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="exe DOWNS" disabled=no \
    layer7-protocol="Extension \" .exe \"" new-connection-mark="exe DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "exe DOWNS" disabled=no new-packet-mark=exe passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="mov DOWNS" disabled=no \
    layer7-protocol="Extension \" .mov \"" new-connection-mark="mov DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "mov DOWNS" disabled=no new-packet-mark=mov passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="mp3 DOWNS" disabled=no \
    layer7-protocol="Extension \" .mp3 \"" new-connection-mark="mp3 DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "mp3 DOWNS" disabled=no new-packet-mark=mp3 passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="mp4 DOWNS" disabled=no \
    layer7-protocol="Extension \" .mp4 \"" new-connection-mark="mp4 DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "mp4 DOWNS" disabled=no new-packet-mark=mp4 passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="mpeg DOWNS" disabled=no \
    layer7-protocol="Extension \" .mpeg \"" new-connection-mark="mpeg DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "mpeg DOWNS" disabled=no new-packet-mark=mpeg passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="mpg DOWNS" disabled=no \
    layer7-protocol="Extension \" .mpg \"" new-connection-mark="mpg DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "mpg DOWNS" disabled=no new-packet-mark=mpg passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="nrg DOWNS" disabled=no \
    layer7-protocol="Extension \" .nrg \"" new-connection-mark="nrg DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "nrg DOWNS" disabled=no new-packet-mark=nrg passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="pdf DOWNS" disabled=no \
    layer7-protocol="Extension \" .pdf \"" new-connection-mark="pdf DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "pdf DOWNS" disabled=no new-packet-mark=pdf passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="ram DOWNS" disabled=no \
    layer7-protocol="Extension \" .ram \"" new-connection-mark="ram DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "ram DOWNS" disabled=no new-packet-mark=ram passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="rar DOWNS" disabled=no \
    layer7-protocol="Extension \" .rar \"" new-connection-mark="rar DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "rar DOWNS" disabled=no new-packet-mark=rar passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="rm DOWNS" disabled=no \
    layer7-protocol="Extension \" .rm \"" new-connection-mark="rm DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "rm DOWNS" disabled=no new-packet-mark=rm passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="rmvb DOWNS" disabled=no \
    layer7-protocol="Extension \" .rmvb \"" new-connection-mark="rmvb DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "rmvb DOWNS" disabled=no new-packet-mark=rmvb passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="wav DOWNS" disabled=no \
    layer7-protocol="Extension \" .wav \"" new-connection-mark="wav DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "wav DOWNS" disabled=no new-packet-mark=wav passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="wmv DOWNS" disabled=no \
    layer7-protocol="Extension \" .wmv \"" new-connection-mark="wmv DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "wmv DOWNS" disabled=no new-packet-mark=wmv passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="zip DOWNS" disabled=no \
    layer7-protocol="Extension \" .zip \"" new-connection-mark="zip DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "zip DOWNS" disabled=no new-packet-mark=zip passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="daa DOWNS" disabled=no \
    layer7-protocol="Extension \" .daa \"" new-connection-mark="daa DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "daa DOWNS" disabled=no new-packet-mark=daa passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="dat DOWNS" disabled=no \
    layer7-protocol="Extension \" .dat \"" new-connection-mark="dat DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "dat DOWNS" disabled=no new-packet-mark=dat passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="vcd DOWNS" disabled=no \
    layer7-protocol="Extension \" .vcd \"" new-connection-mark="vcd DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "vcd DOWNS" disabled=no new-packet-mark=vcd passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="cab DOWNS" disabled=no \
    layer7-protocol="Extension \" .cab \"" new-connection-mark="cab DOWNS" \
    passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "cab DOWNS" disabled=no new-packet-mark=cab passthrough=no protocol=tcp
    add action=mark-connection chain=prerouting comment="asx DOWNS - Stream" \
    disabled=no layer7-protocol="Extension \" .asx \"" new-connection-mark=\
    "asx DOWNS" passthrough=yes protocol=tcp
    add action=mark-packet chain=postrouting comment="" connection-mark=\
    "asx DOWNS" disabled=no new-packet-mark=asx passthrough=no protocol=tcp

    Para fazez Qos

    add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
    max-limit=1M name=Download_queue packet-mark="exe,flv,asx,rar,zip,7z,bin,m\
    p3,mp4,wav,pdf,asf,avi,mov,wmv,mpg,mpeg,rm,iso,nrg,daa,vcd,cab,3gp,ram,rmv\
    b,mkv,wma,youtube" parent=global-out priority=8 queue=default-small

  8. #8

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    Essa é uma boa saída para estes casos, vou dar uma pesquisada, se não me engano já fiz algo parecido e devo ter anotado em algum lugar

  9. #9

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    Valeu Izau.. vou tentar marcar estas conexões para sairem pela adsl, junto com o material sujo,... e deixar o que eh mais usado para sair pelo dedicado.. vamos ver se da certo!

  10. #10

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    Estava vendo agora em meu server... de 10MB de down, 90% era via porta 80..

    Então sem mandar os down para as adsl.. não tenho como fazer...

  11. #11

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    E aí Tmelooliveira, conseguiu algum progressoa aí?
    Eu estava tentando separar o tráfego entre os links por tamanho de arquivo, funciona más só para fazer Qos, marquei os pacotes http por layer7 e discriminei por tamanho (pacotes menores que 512kb, entre 512kb e 2,5mb, entre 2,5mb e 5mb, entre 5mb e 10mb e maiores que 10mb)
    Quanto baixo um arquivo grande ele começa a contar na marcação de 512, ao atingir os 512kb ele passa para próxima marcação e vai até chegar na de 10mb ou superior... Então o mangle não faz uma leitura inicial do tamanho do arquivo, o arquivo vai passando ele vai contando e classificando. Não deu certo. Más tem que existir uma forma de discriminar o arquivo por tamanho ou extenção e redirecionar para um link específico.

  12. #12

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    E ai Izau.. vou começar meus testes de bancada hoje.. mas esta sua observação ja me deixou preocupado!

    Ainda acho que o caminho é o cara conseguir mandar os arquivos com extensões específicas para um link específico!

    Quando tiver novidades posto aqui... aguardo seus testes tbm!

  13. #13

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    Não achei os arquivos que fiz em teste, mas me lembrei como fiz.

    Marque as extensões utilizando a regra "content": Vamos a um exemplo das regras no mangle:

    add action=mark-connection chain=prerouting comment="ZIP" content=.zip disabled=no new-connection-mark=DA passthrough=yes
    add action=mark-connection chain=postrouting comment="ZIP" content=.zip disabled=no new-connection-mark=DA passthrough=yes
    add action=mark-connection chain=prerouting comment="EXE" content=.exe disabled=no new-connection-mark=DA passthrough=yes
    add action=mark-connection chain=postrouting comment="EXE" content=.exe disabled=no new-connection-mark=DA passthrough=yes
    add action=mark-packet chain=prerouting comment="" connection-mark=DA disabled=no new-packet-mark=da passthrough=yes
    add action=mark-packet chain=postrouting comment="" connection-mark=DA disabled=no new-packet-mark=da passthrough=no

    Acho que depois seria redirecionar para a rota que quiser , pois os pacotes estariam marcados. Desculpe se tiver erros, fiz de cabeça sem testar
    Última edição por marciorct; 29-07-2010 às 11:16.

  14. #14

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    O Marcio, marcando a rota com o content, quando o cara acessar qualquer site que tenha no nome o que foi colocado la vai sair pela rota.. Eu acho o content muito complicado.. acredito que por layer 7 é melhor.. vou tentar aplicar agora.. ver se da retorno!

    Izau, pelo tamanho tu não teve retorno, mas pelo tipo de arquivo marcando por layer 7 como ficou?

    Abraços Tiago

  15. #15

    Padrão Re: Balanceamento por serviços + rota estática + limite de tamanho porta 80

    Eu estava tentando com stream de áudio primeiro "asf" más não consegui de forma alguma, acho que é feito o pedido para o servidor remoto, a conexão é estabelecida (acho que é nessa hora que o mk identifica o tipo de arquivo que vai vir) depois ele redireciona para o outro link, aí quebra a conexão. Posso estar errado más observei isso. Seria bom alguém mais experiente pra dar uma força, já dá pra separar o tráfego pôdre (ou menos interessante) usando o layer7 agora só falta conseguir redirecionar, daria pra colocar o link só com html e o resto (ou o que quiser) mandar pra adsl ou outro link.