+ Responder ao Tópico



  1. #1

    Padrão CBQ + explicação

    Bom dia Srs, alguém que entende bem de cbq poderia me explicar certinho estas configs? tenho o arquivo cbq-0064.MAQout

    e dentro dele tenho:

    DEVICE=eth1,10Mbit,1Mbit
    RATE=600Kbit
    WEIGHT=60
    PRIO=8
    RULE=172.19.1.35,172.20.64.0/22 - aqui diz que vai haver regra de trafego da rede 172.20.64.0/22 especifico para o IP 172.19.1.35, independente da porta??
    RULE=:139,172.20.64.0/22 - aqui diz que haverá regra de trafego na porta 139, saindo pela rede 172.20.64.0/22 para qualquer outro destino???
    RULE=:143,172.20.64.0/22 - idem acima
    RULE=:110,172.20.64.0/22 - idem acima
    RULE=:445,172.20.64.0/22 - idem acima
    RULE=:3128,172.20.64.0/22 - idem acima
    RULE=:8530,172.20.64.0/22 - idem acima
    RULE=172.19.1.26,172.20.64.21 - idem primeira regra? so que será pelo IP .21 e nao a rede...
    RULE=172.19.1.0/24,172.20.64.23 - idem primeira regra? so que sera pelo IP .23 e nao a rede..
    BOUNDED=yes
    ISOLATED=yes

    quero apenas entender o esquema de RULE, vejam se estou certo, no que escrevi em vermelho..

    ai tenho o arquivo cbq-0064.MAQint:

    DEVICE=eth0,100Mbit,10Mbit
    RATE=130Kbit
    WEIGHT=13
    PRIO=5
    RULE=172.20.64.73,172.19.1.26 - regra de trafego do .1.26 para o .64.73, especifico para máquina, independente da porta?
    RULE=172.20.64.0/22,:25 - aqui seria a minha rede .64.0/22 saindo para qualquer lugar na porta 25?
    RULE=172.20.64.0/22,:143 - idem acima
    RULE=172.20.64.0/22,:20 - idem acima
    RULE=172.20.64.0/22:8530 - idem acima
    RULE=172.20.64.23 - nao faço ideia...
    BOUNDED=yes
    ISOLATED=yes

    bom, seria isso... deixo em vermelho o que eu entendi que é, e queria saber se estou entendendo certo... fora a RULE o resto entendo...

    obrigado

  2. #2

    Padrão

    Citação Postado originalmente por dimago Ver Post
    Bom dia Srs, alguém que entende bem de cbq poderia me explicar certinho estas configs? tenho o arquivo cbq-0064.MAQout

    e dentro dele tenho:

    DEVICE=eth1,10Mbit,1Mbit
    RATE=600Kbit
    WEIGHT=60
    PRIO=8
    RULE=172.19.1.35,172.20.64.0/22 - aqui diz que vai haver regra de trafego da rede 172.20.64.0/22 especifico para o IP 172.19.1.35, independente da porta??
    RULE=:139,172.20.64.0/22 - aqui diz que haverá regra de trafego na porta 139, saindo pela rede 172.20.64.0/22 para qualquer outro destino???
    RULE=:143,172.20.64.0/22 - idem acima
    RULE=:110,172.20.64.0/22 - idem acima
    RULE=:445,172.20.64.0/22 - idem acima
    RULE=:3128,172.20.64.0/22 - idem acima
    RULE=:8530,172.20.64.0/22 - idem acima
    RULE=172.19.1.26,172.20.64.21 - idem primeira regra? so que será pelo IP .21 e nao a rede...
    RULE=172.19.1.0/24,172.20.64.23 - idem primeira regra? so que sera pelo IP .23 e nao a rede..
    BOUNDED=yes
    ISOLATED=yes

    quero apenas entender o esquema de RULE, vejam se estou certo, no que escrevi em vermelho..

    ai tenho o arquivo cbq-0064.MAQint:

    DEVICE=eth0,100Mbit,10Mbit
    RATE=130Kbit
    WEIGHT=13
    PRIO=5
    RULE=172.20.64.73,172.19.1.26 - regra de trafego do .1.26 para o .64.73, especifico para máquina, independente da porta?
    RULE=172.20.64.0/22,:25 - aqui seria a minha rede .64.0/22 saindo para qualquer lugar na porta 25?
    RULE=172.20.64.0/22,:143 - idem acima
    RULE=172.20.64.0/22,:20 - idem acima
    RULE=172.20.64.0/22:8530 - idem acima
    RULE=172.20.64.23 - nao faço ideia...
    BOUNDED=yes
    ISOLATED=yes

    bom, seria isso... deixo em vermelho o que eu entendi que é, e queria saber se estou entendendo certo... fora a RULE o resto entendo...

    obrigado
    Olha, eu precisei implementar isso com uma certa urgência. Não achei nenhum lugar "oficial" com uma documentação precisa. O que consegui foi de fragmentos espalhados em tudo quanto é lugar:

    Em primeiro lugar, o nome do arquivo de configuração:

    cbq-0064.MAQout => há um padrão de nomenclatura dos arquivos de configuração do CBQ:
    cbq-hexadecimal.nomeRegra => apanhei com isso. Para cada regra de banda, o nome do arquivo deverá obrigatoriamente se chamar assim, com o numero hexadecimal crescente, maior que 2, não repetido, para cada regra que você criar. Por exemplo: cbq-0002.Maquinas64kDownload; cqb-0003.Maquinas128kDownload e por aí vai.

    DEVICE=eth0,100Mbit,10Mbit => aqui você especifica em qual interface o CBQ vai atuar. Tem que especificar qual interface que é, sua velocidade de trabalho e 10% dela, não sei pra que..

    RATE=130kbit => aqui você especifica a banda máxima que a regra atual permitira trafego.

    PRIO=5 => aqui vc especifica qual é a prioridade de conexao que esta regra possui. Isso é importante quando você se aprofundar mais no assunto QoS. Se vc tiver uma boa implementação de politicas de QoS, aqui está a participação do CBQ no assunto. É muito interessante isso, procure mais sobre QoS que vc vai entender.

    RULE=172.20.64.23 => aqui está o pulo do gato.. É onde você lista todas as máquinas que irão se enquadrar na regra atual. O que NINGUEM escreve por aí são os parâmetros das coisas. Todo mundo só quer saber de copiar e colar.. Postar nos foruns da vida para ganhar reputação. Bem, vamos ao que interessa: Essa opção RULE possui a seguinte escrita padrão:
    RULE=A:B,X:Y
    onde:
    A = ip de origem
    B = porta de origem
    X = ip de destino
    Y = porta de destino

    Simplificando: RULE=ip_origem:porta,ip_destino:porta

    Se você não informar algum desses campos, o CBQ, por padrão, irá interpretar como QUALQUER QUE SEJA... seus exemplos:

    RULE=172.20.64.73,172.19.1.26 - A regra será aplicada quando o IP de origem for 172.20.64.73, em qualquer porta de origem, E quando o IP de destino for 172.19.1.26, em qualquer porta.

    RULE=172.20.64.0/22,:25 - A regra será aplicada a todos os IPs de origem do range 172.20.64.0/22, em qualquer porta de origem, E quando o destino for qualquer IP na porta 25

    Procure também escrita de sub-net, ou mascara de subrede ou subnet mask... Melhor ainda, porcure por subnet mask tables.. vc vai entender rapidinho o que é essa escrita 172.20.64.0/22. É um range de IPs.

    RULE=172.20.64.0/22,:143 - idem acima, porém com destino a qualquer IP na porta 143
    RULE=172.20.64.0/22,:20 - idem acima, porém com destino a qualquer IP na porta 20
    RULE=172.20.64.0/22:8530 - idem acimam, porém com destino a qualquer IP na porta 8530
    RULE=172.20.64.23 - a regra será aplicada ao IP de origem 172.20.64.23, em qualquer porta de origem, E quando o ip de destino for qualquer um e qualquer porta de sestino que seja.

    BOUNDED=yes/no se setado para yes o usário estará limitado mesmo que o link esteja com folga.
    ISOLATED=yes/no se setado para yes indica que o cliente não poderá emprestar banda pra ninguem. Isso é util quando vc reserva uma banda grande para um determinado IP.

    Escrevi muito. Se te embaralhou muito as idéias, manda aí que tenho ser mais direto....

    Abraços,

  3. #3

    Padrão

    Fala DaniStation®, primeiramente obrigado pela resposta..

    a parte da nomenclatura tudo certo, tem o esquema de in e out no nome do arquivo que eh feito para identificar o tipo de regra que está dentro do arquivo, certo?? entao, se eu NAO colocar in e out no nome do arquivo nao vai deixar de funcionar..

    a parte do A = ip de origem
    B = porta de origem
    X = ip de destino
    Y = porta de destinoeu entendi.. = RULE=172.20.64.0/22,:8530 - isto seria uma regra de in, certo? pois estou entrando em qualquer IP na 8530 (digo, quando eu estabelecer conexao)e

    neste caso???

    RULE=:143,172.20.64.0/22 - seria qualquer ip na porta 143 da minha rede ???? 143 eh email, a 143 fica escutando no servidor, e nao na minha rede..

    eh isso ai acho..vamos conversando,

    obrigado pelas dicas por enquanto..

    abs

    diego

  4. #4

    Padrão

    Citação Postado originalmente por dimago Ver Post
    Fala DaniStation®, primeiramente obrigado pela resposta..

    ...a parte da nomenclatura tudo certo, tem o esquema de in e out no nome do arquivo que eh feito para identificar o tipo de regra que está dentro do arquivo, certo?? entao, se eu NAO colocar in e out no nome do arquivo nao vai deixar de funcionar..

    a parte do A = ip de origem
    B = porta de origem
    X = ip de destino
    Y = porta de destinoeu entendi.. =

    RULE=172.20.64.0/22,:8530 - isto seria uma regra de in, certo? pois estou entrando em qualquer IP na 8530 (digo, quando eu estabelecer conexao)e

    neste caso???

    RULE=:143,172.20.64.0/22 - seria qualquer ip na porta 143 da minha rede ???? 143 eh email, a 143 fica escutando no servidor, e nao na minha rede..
    eh isso ai acho..vamos conversando,

    obrigado pelas dicas por enquanto..

    abs

    diego


    Citação Postado originalmente por dimago Ver Post
    RULE=172.20.64.0/22,:8530 - isto seria uma regra de in, certo? pois estou entrando em qualquer IP na 8530 (digo, quando eu estabelecer conexao)
    Vai depender de quem é quem.

    Se o ip_origem:porta for realmente sua rede, essa regra passa a ser de OUT. Está saindo de sua rede com destino ao IP_DESTINO.

    É muito importante esclarecer:

    O CBQ limita o tráfego entre duas conexões. É isso o que ele faz. Portanto, depende de quem é o IP de origem e de quem é o IP de destino.

    Para montar a regra (RULE) você deve ler o tráfego que quer limitar da seguinte forma:

    LIMITAR_TRAFEGO_QUANDO=tráfego for originado pelo IP tal : pela porta tal , com destino ao IP tal na porta tal.

    ou seja:

    RULE=ip_origem:porta_origem,ip_destino:porta_destino

    Quando as opções não são informadas, o CBQ interpretará por padrão como QUALQUER_IP ou QUALQUER_PORTA
    .



    Citação Postado originalmente por dimago Ver Post
    e neste caso???

    RULE=:143,172.20.64.0/22 - seria qualquer ip na porta 143 da minha rede ???? 143 eh email, a 143 fica escutando no servidor, e nao na minha rede..
    Não. A leitura dessa regra acima é assim:

    LIMITAR_TRAFEGO_QUANDO=tráfego originado de qualquer IP pela porta 143, com destino a qualquer IP do range 172.20.64.0/22 em qualquer porta que seja.

    Neste caso a regra é sem sentido. A porta 143 e para o serviço de IMAP (webmails). A conexão é sempre estabelecida assim:

    origem: ip_clente:porta_aleatoria
    destrino: ip_servidor_imap:143

    O servidor de IMAP nunca vai usar a porta 143 para ORIGINAR uma conexão. A porta 143 no servidor fica escutando requisições. ela é o DESTINO da conexão por IMAP. Assim como a porta 25. Quando você envia um email pelo Outlook Express, MS Outlook ou qualquer outro cliente de email, você configura o SMTP como : smtp.seuprovedor.com.br e diz ainda que as mensagens serão enviadas pela porta 25. Na verdade os emails são enviados a partir de qualquer porta aleatória da máquina do cliente com a porta 25 do servidor. Nunca será porta 25 do cliente com a porta 25 do servidor. Isso acontece com TODOS os serviços: 80, 8080, 143, 20, 21, 22, 53, 110, etc etc etc..

    Na máquina do cliente será aberta qualquer porta alta aleatória. No servidor que se faz a conexão, a porta do serviço desejado.



    O CBQ analisa conexões entre máquinas. É como o Iptables. Não necessariamente a opção ip_origem será um ip da sua rede. Supondo que você tenha um servidor de SMTP autenticado. Qualquer usuário desse SMTP poderá enviar emails usando o cliente de emails de qualquer lugar do mundo pelo outlook express, ms-outlook, eudora, thunderbird, etc. Daí você quer limitar com o CBQ a velocidade de tráfego com que o cliente vai enviar um email (supondo que o desgraçado coloque um anexo de uns 30 MB. Como o cliente está em qualquer lugar do mundo e sempre pode estar em lugares diferentes, é impossível saber qual o IP dele. Quando ele envia um email pelo seu servidor SMTP, a máquina dele abre uma conexão (qualquer porta "alta"), com a porta 25 do seu servidor e envia o email para o seu servidor. A conexão ficaria assim:

    ip_cliente:porta_alta_aleatoria------->enviando email gigante------->ip_servidor_smtp:porta 25

    Com o CBQ, a regra ficaria assim:

    RULE=:,ip_servidor_smtp:25

    Agora, se você tem uma filial com IP fixo e você quer limitar o envio de emails originados pela filial:

    ip_filial:porta_alta_aleatória-----enviando email gigante----->ip_servidor_smtp:porta_25

    A Regra ficaria assim:

    RULE=ip_filial(origem):,ip_servidor_smtp:25

    observando o que está acontecendo no SERVIDOR, você está limitando tráfego de qualquer origem com destino ao seu servidor. Para o SERVIDOR, vc está limitando o DOWNLOAD de qualquer origem com destino a ele pela porta 25. Para o servidor, essa regra será uma regra de IN.

    Agora que a mensagem gigante está no seu servidor de emails, ele precisa despachar isso para o destino correto. Supondo que o email está sendo enviado para o gmail, nesse momento o tráfego passará a ser entre o seu servidor SMTP e o servidor de SMTP do GMAIL. para o seu servidor isso será agora um UPLOAD (out). ou seja, ip_origem = ip_seu_servidor_smtp. O tráfego passa a ser:

    ip_seu_servidor_smtp:porta_alta_aleatoria ---------- despachar email do usuario maldito ----- -------> ip_servidor_smtp_gmail:porta_25

    RULE=ip_seu_servidor_smtp:,ip_gmail:25

    De novo escrevi pra caramba... ajudou em alguma coisa?

    Se não ajudou muito, tenta postar a sua situação, o que você precisa... daí eu monto a regra e escrevo mais um monte tentando esclarecer o que acontece... Identifique qual o ip da sua rede e o que quer fazer com ela, etc...

    LEMBRE-SE:
    1 - O CBQ limita tráfego entre duas conexões (ORIGEM e DESTINO);
    2 - Para ele funcionar você deve informar qual tráfego quer limitar, utilizando os Ips de origem e destino.
    3 - Leia a regra assim: RULE=ip_origem:porta_origem,ip_destino:porta_destino
    4 - quando a opção ou opções não forem informadas, o CBQ irá interpretar como QUALQUER.

    O fluxo de tráfego para o CBQ será sempre este.

    Passe a ler a regra dessa forma. Ficará muito mais fácil no hora de implementar várias regras diferentes para ips diferentes e ler as que já estão prontas.
    Última edição por danistation; 09-03-2010 às 19:24. Razão: REMOVER OS SMILIES AUTOMATICOS...

  5. #5

    Padrão

    Bom dia DaniStation...

    Cara, nao tenho o que falar... perfeito...

    Show de bola, tudo esclarecido, e aposto que nao somente para mim, mas para muitos outros tambem..
    Se vc ainda nao montou um artigo sobre o cqb, acredito que devas montar, pq ficou muito bom e fácil de entender..

    obrigado e um forte abraço..

  6. #6

    Padrão

    Citação Postado originalmente por dimago Ver Post
    Bom dia DaniStation...

    Cara, nao tenho o que falar... perfeito...

    Show de bola, tudo esclarecido, e aposto que nao somente para mim, mas para muitos outros tambem..
    Se vc ainda nao montou um artigo sobre o cqb, acredito que devas montar, pq ficou muito bom e fácil de entender..

    obrigado e um forte abraço..
    Muito obrigado o elogio! É motivante para mim. Não tenho tanto tempo de Linux e tampouco a geniosa mente dos hackers que passam por aqui!

    Quanto ao artigo, vou publicar sim. Mas tem coisas além no CBQ que preciso entender. Ao publicar o artigo, quero que seja completo, simples de se entender e preciso.

    Grande abraço,