Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1

    Padrão Script Queue - Controle de banda para toda a rede

    Boa noite pessoal...

    Estou tentando montar um script para criar uma queue de controle de banda para cada IP da minha rede.
    O script está assim:

    : for i from=2 to=254 do={ add name="Limite" dst-address=("192.168.1." . $i/32) interface=all parent=none prio
    rity=8 queue=default/default limit-at=150000/150000 max-limit=150000/150000 total-queue=default disabled=no}

    Quando tento rodar o script, recebo a seguinte mensagem de erro:

    [mk] already have such name

    O mk cria apenas uma queue, e o erro se deve a mais de uma regra com o mesmo nome. Gostaria de criar a regra com o IP no nome da queue.
    Tenho as seguintes redes p/ cadastrar: 192.168.0.0/24, 192.168.1.0/24 e 192.168.2.0/24

    Aguardo uma ajuda da galera...

  2. #2
    Moderador Avatar de xandemartini
    Ingresso
    Nov 2005
    Localização
    Espumoso, Brazil
    Posts
    2.405
    Posts de Blog
    1

    Padrão

    Citação Postado originalmente por antoni Ver Post
    Boa noite pessoal...

    Estou tentando montar um script para criar uma queue de controle de banda para cada IP da minha rede.
    O script está assim:

    : for i from=2 to=254 do={ add name="Limite" dst-address=("192.168.1." . $i/32) interface=all parent=none prio
    rity=8 queue=default/default limit-at=150000/150000 max-limit=150000/150000 total-queue=default disabled=no}

    Quando tento rodar o script, recebo a seguinte mensagem de erro:

    [mk] already have such name

    O mk cria apenas uma queue, e o erro se deve a mais de uma regra com o mesmo nome. Gostaria de criar a regra com o IP no nome da queue.
    Tenho as seguintes redes p/ cadastrar: 192.168.0.0/24, 192.168.1.0/24 e 192.168.2.0/24

    Aguardo uma ajuda da galera...
    experimenta deixar de fora o add name=Limite.. aqui qdo crio nao informo o nome, e ele automaticamente bota queue1m queue2, etc...

  3. #3
    Avatar de evil_inside
    Ingresso
    Aug 2004
    Localização
    Bagé, Rio Grande do Sul, Brazil, Brazil
    Posts
    275

    Padrão

    Citação Postado originalmente por antoni Ver Post
    Boa noite pessoal...

    Estou tentando montar um script para criar uma queue de controle de banda para cada IP da minha rede.
    O script está assim:

    : for i from=2 to=254 do={ add name="Limite" dst-address=("192.168.1." . $i/32) interface=all parent=none prio
    rity=8 queue=default/default limit-at=150000/150000 max-limit=150000/150000 total-queue=default disabled=no}

    Quando tento rodar o script, recebo a seguinte mensagem de erro:

    [mk] already have such name

    O mk cria apenas uma queue, e o erro se deve a mais de uma regra com o mesmo nome. Gostaria de criar a regra com o IP no nome da queue.
    Tenho as seguintes redes p/ cadastrar: 192.168.0.0/24, 192.168.1.0/24 e 192.168.2.0/24

    Aguardo uma ajuda da galera...
    acontece pq cria uma regra c/ nome "Limite" e na segunda iteracao já existe esse nome e da erro, se deixar sem nome como o xande falou funciona

  4. #4

    Padrão

    Citação Postado originalmente por antoni Ver Post
    Boa noite pessoal...

    Estou tentando montar um script para criar uma queue de controle de banda para cada IP da minha rede.
    O script está assim:

    : for i from=2 to=254 do={ add name="Limite" dst-address=("192.168.1." . $i "/32") interface=all parent=none prio
    rity=8 queue=default/default limit-at=150000/150000 max-limit=150000/150000 total-queue=default disabled=no}

    Quando tento rodar o script, recebo a seguinte mensagem de erro:

    [mk] already have such name

    O mk cria apenas uma queue, e o erro se deve a mais de uma regra com o mesmo nome. Gostaria de criar a regra com o IP no nome da queue.
    Tenho as seguintes redes p/ cadastrar: 192.168.0.0/24, 192.168.1.0/24 e 192.168.2.0/24

    Aguardo uma ajuda da galera...
    Fácil !
    1º - Seu script está errado! Para o controle de banda de cada IP não é dst-address e sim target-addresses!

    2º - Faz o seguinte...em name utilize tmb a variável $i, exemplo:

    / queue simple
    : for i from=2 to=254 do={ add name=("192.168.1." . $i) target-addresses=("192.168.1." . $i "/32") interface=all parent=none prio
    rity=8 queue=default/default limit-at=150000/150000 max-limit=150000/150000 total-queue=default disabled=no}

    3º - Testa aí e nos fala o resultado!

    Valew?!
    Abraço a todos!
    Última edição por kryseck; 05-06-2007 às 00:46.

  5. #5

    Padrão

    Ainda nao entendi o pq da criacao disso se é tao facil pela winbox / Queue / Simple criar o controle de banda para cada usuario separadamente:

    add name="Tecnico Notebook 2" dst-address=192.168.xxx.xxx/32 interface=all \
    parent=none direction=both priority=1 queue=default/default \
    limit-at=40000/80000 max-limit=75000/150000 burst-limit=150000/320000 \
    burst-threshold=75000/150000 burst-time=30s/30s total-queue=default-small \
    disabled=no
    Última edição por maxmelo; 27-05-2007 às 09:44.

  6. #6
    Moderador Avatar de xandemartini
    Ingresso
    Nov 2005
    Localização
    Espumoso, Brazil
    Posts
    2.405
    Posts de Blog
    1

    Padrão

    Citação Postado originalmente por maxmelo Ver Post
    Ainda nao entendi o pq da criacao disso se é tao facil pela winbox / Queue / Simple criar o controle de banda para cada usuario separadamente:
    Mas olha só o que o Antoni falou, ele tem q criar 250 regras para cada uma das redes deles, teria q criar manualmente cerca de 750 queues... isso não é simples não, por isso da necessidade do script.

  7. #7

    Padrão

    Citação Postado originalmente por xandemartini Ver Post
    Mas olha só o que o Antoni falou, ele tem q criar 250 regras para cada uma das redes deles, teria q criar manualmente cerca de 750 queues... isso não é simples não, por isso da necessidade do script.
    Ok, agora sim entendi, vlw, desculpe eu nao havia entendido a pergunta do amigo, isso é legal mas me fala uma coisa os ips esse script cria automaticamente?

  8. #8
    Moderador Avatar de xandemartini
    Ingresso
    Nov 2005
    Localização
    Espumoso, Brazil
    Posts
    2.405
    Posts de Blog
    1

    Padrão

    Citação Postado originalmente por maxmelo Ver Post
    Ok, agora sim entendi, vlw, desculpe eu nao havia entendido a pergunta do amigo, isso é legal mas me fala uma coisa os ips esse script cria automaticamente?
    Cria os ips automaticamente, do 2 ao do 254.

  9. #9

    Padrão

    Uso aqui da seguinte forma:

    Criar regras no queue

    : for i from=2 to=254 do={ add name=("10.10.10." . $i ) target-address=("10.10.10." . $i . "/32") dst-address=0.0.0.0/0 interface=all parent=none direction=both priority=8 queue=default-small/default-small limit-at=0/0 max-limit=128000/128000 total-queue=default-small }

    Seguinte mude 10.10.10. pela a rage de IP usadas ai, exemplo 192.168.0.

    max-limit=128000/128000 velocidade de 128kbps

    form=2 to=254 -> vai criar regras do IP 10.10.10.2 ate 10.10.10.254 no meu caso

    Criar regras no firewall tabela filter

    : for i from=2 to=254 do={ add chain=forward src-address=("10.0.0." . $i) protocol=tcp tcp-flags=syn connection-limit=30,32 action=drop comment="controle sessões TCP"}

    Falow

  10. #10

    Padrão

    Citação Postado originalmente por kryseck Ver Post
    Fácil !
    1º - Seu script está errado! Para o controle de banda de cada IP não é dst-address e sim target-addresses!

    2º - Faz o seguinte...em name utilize tmb a variável $i, exemplo:

    / queue simple
    : for i from=2 to=254 do={ add name=("192.168.1." . $i) target-addresses=("192.168.1." . $i/32) interface=all parent=none prio
    rity=8 queue=default/default limit-at=150000/150000 max-limit=150000/150000 total-queue=default disabled=no}

    3º - Testa aí e nos fala o resultado!

    Valew?!
    Abraço a todos!
    Ele cria a queue com o nome correto (número do IP), mas o ip dentro da regra está criando com erro (vários IPs repetidos).
    Mas já ajudou bastante, obrigado...
    Última edição por antoni; 27-05-2007 às 15:32.

  11. #11

    Padrão

    Citação Postado originalmente por xandemartini Ver Post
    Mas olha só o que o Antoni falou, ele tem q criar 250 regras para cada uma das redes deles, teria q criar manualmente cerca de 750 queues... isso não é simples não, por isso da necessidade do script.
    Infelizmente, ainda falta bastante para ter 750 usuários, mas embora amarre ip x mac x uuário x senha no servidor, não quero que nenhum usuário fique sobrecarregando meu ptp. Acho que o melhor é fazer o controle de banda já no AP e deixar o ptp trabalhar com um pouco de folga...

  12. #12

    Padrão

    Acredito que o problema esteja aqui

    target-addresses=("192.168.1." . $i/32)

    deixe assim

    target-address=("192.168.1." . $i . "/32")

    Uso aqui da seguinte forma:

    Criar regras no queue

    : for i from=2 to=254 do={ add name=("10.10.10." . $i ) target-address=("10.10.10." . $i . "/32") dst-address=0.0.0.0/0 interface=all parent=none direction=both priority=8 queue=default-small/default-small limit-at=0/0 max-limit=128000/128000 total-queue=default-small }

    Seguinte mude 10.10.10. pela a rage de IP usadas ai, exemplo 192.168.0.

    max-limit=128000/128000 velocidade de 128kbps

    form=2 to=254 -> vai criar regras do IP 10.10.10.2 ate 10.10.10.254 no meu caso

    Criar regras no firewall tabela filter

    : for i from=2 to=254 do={ add chain=forward src-address=("10.0.0." . $i) protocol=tcp tcp-flags=syn connection-limit=30,32 action=drop comment="controle sessões TCP"}

    Citação Postado originalmente por antoni Ver Post
    Ele cria a queue com o nome correto (número do IP), mas o ip dentro da regra está criando com erro (vários IPs repetidos).
    Mas já ajudou bastante, obrigado...

  13. #13

    Padrão

    Isso mesmo colega cleciorodrigo!

    É q esqueci das aspas fechando o /32 .

    Falow

  14. #14

    Padrão

    Citação Postado originalmente por cleciorodrigo Ver Post
    Acredito que o problema esteja aqui

    target-addresses=("192.168.1." . $i/32)

    deixe assim

    target-address=("192.168.1." . $i . "/32")

    Uso aqui da seguinte forma:

    Criar regras no queue

    : for i from=2 to=254 do={ add name=("10.10.10." . $i ) target-address=("10.10.10." . $i . "/32") dst-address=0.0.0.0/0 interface=all parent=none direction=both priority=8 queue=default-small/default-small limit-at=0/0 max-limit=128000/128000 total-queue=default-small }

    Seguinte mude 10.10.10. pela a rage de IP usadas ai, exemplo 192.168.0.

    max-limit=128000/128000 velocidade de 128kbps

    form=2 to=254 -> vai criar regras do IP 10.10.10.2 ate 10.10.10.254 no meu caso

    Criar regras no firewall tabela filter

    : for i from=2 to=254 do={ add chain=forward src-address=("10.0.0." . $i) protocol=tcp tcp-flags=syn connection-limit=30,32 action=drop comment="controle sessões TCP"}
    Funciona 100%, mas tive que remover o "direction=both "

  15. #15

    Padrão

    o meu ficou assim:

    Criar regras no queue


    / queue simple
    : for i from=2 to=254 do={ add name=("cliente" . $i ) dst-address=("10.0.12." . $i . "/32") interface=all parent=none direction=both priority=1 queue=default/default limit-at=40000/80000 max-limit=75000/150000 burst-limit=150000/320000 burst-threshold=75000/150000 burst-time=30s/30s total-queue=default-small }

    Criar regras no firewall tabela filter

    / ip firewall filter
    : for i from=2 to=254 do={ add chain=forward src-address=("10.0.12." . $i) protocol=tcp tcp-flags=syn connection-limit=30,32 action=drop comment="controle sessões TCP"}


    e funcionou tudo 100%
    Última edição por maxmelo; 29-05-2007 às 01:17.

  16. #16

  17. #17

    Padrão

    Tentei fazer assim:

    / ip arp
    : for i from=2 to=254 do={ add address=("10.0.12." . $i . "/32") mac-address=00:00:00:00:00:00 interface=Local comment=""}

    mas nao funcionou

  18. #18

    Padrão

    Testa o seguinte:

    / ip arp
    : for i from=2 to=254 do={ add address=("10.0.12." . $i ) mac-address=00:00:00:00:00:00 interface=local comment="" disabled=no }

    Valew?!

  19. #19

    Padrão

    Citação Postado originalmente por kryseck Ver Post
    Testa o seguinte:

    / ip arp
    : for i from=2 to=254 do={ add address=("10.0.12." . $i ) mac-address=00:00:00:00:00:00 interface=local comment="" disabled=no }

    Valew?!
    Nao funcionou

  20. #20

    Padrão

    aqui funcionou! :0

    Lembre q depois q colar a regra no terminal console, dê enter !