Ajuda: Script para adicionar controle de banda no DHCP Server
Bom dia, alguém tem um script que faça o controle de banda do DHCP server?
ex: assim que o dhcp entregar o ip automaticamente criar um simple queue, controlando sua banda
achei alguns mas não funcionou no MK 6x, para ser mais exato uso o 6.30
agradeço a atenção de todos.
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Se for IP estatico, configurado no DHCP Lease, lá mesmo você configura a banda que o cliente vai receber.
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Citação:
Postado originalmente por
AndrioPJ
Se for IP estatico, configurado no DHCP Lease, lá mesmo você configura a banda que o cliente vai receber.
vc poderia dar um exemplo obrigado
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Na realidade não precisa nem ter IP estático.
Basta criar leases estáticos colocando SOMENTE O MAC do cliente, e configurando o rate limite daquele cliente.
O IP ele vai pegar do DHCP mesmo, e vai aplicar o rate da regra do lease numa queue dinamica para o IP que o cliente pegar.
O Rate limite segue o seguinte formato:
rx-rate[/tx-rate] [rx-burst-rate[/tx-burst-rate] [rx-burst-threshold[/tx-burst-threshold] [rx-burst-time[/tx-burst-time]]]]
rx-rate é o upload
tx-rate é o download
o resto dos parametros pra frente é tudo opcional, se você não usa burst, não precisa nem se preocupar com eles.
Você pode colocar assim por exemplo: 512k/1M
Isso quer dizer que o cliente para aquele MAC vai ter 512kbps de upload e 1mbps de download.
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Isaque, boa tarde.
Já tive um cenário parecido onde eu trabalho, onde precisei abrir uma celula 2.4 sem Hotspot nem PPOE, ou seja, distribuindo IP somente pelo DHCP server.
A maneira no qual eu consegui limitar a manda dos clientes, a mesma para todos, foi rodando o Script abaixo:
/queue simple
for i from=1 to=250 do={ add name=("192.168.1." . $i . "/32") target=("192.168.1." . $i . "/32") dst=0.0.0.0/0 parent=none priority="8" queue=default-small/default-small limit-at=0/0 max-lim
it=100K/100K total-queue=default-small }
Sendo que o de negrito seria o range do seu bloco, o de vermelho a sua rede e o de verde a sua banda.
Este script consiste em gerar todas as queues para os ip's do seu range, ou seja, quando o cliente se conectar já haverá um limitador de trafêgo aplicado ao IP dele.
Fora esta maneira desconheço uma forma de " gerar " um limitador de trafego automático ao cliente via DHCP.
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Bom, se se não são clientes fixos, e sim um ponto de acesso onde dispositivos desconhecidos vão conectar, você pode usar o próprio campo "Lease Script" do DHCP Server para fazer seu script. O script digitado ali, quando é executado, tem acesso a algumas variáveis locais interessantes que vão te ajudar na tarefa, conforme está no wiki da mikrotik.
Citação:
- leaseBound - set to "1" if bound, otherwise set to "0"
- leaseServerName - dhcp server name
- leaseActMAC - active mac address
- leaseActIP - active IP address
Tipo assim:
Código :
if ($leaseBound=1) do={
/queue simple add max-limit=UP/DOWN target=$leaseActIP comment=$leaseActMAC
} else={
/queue simple remove [find comment=$leaseActMAC]
}
Assim, quando o script for chamado ENTREGANDO UM IP a um cliente, a variavel $leaseBound vai ser 1, e então uma regra de queue será adicionada, e quando o script for chamado LIBERANDO UM IP (liberando significa removendo da tabela por não estar mais em uso), a variável $leaseBound vai ser 0, e a regra de queue será removida. Utilizei o comment das regras de queue para adicionar o MAC para o qual o IP foi oferecido, e assim deletando os itens pelo MAC tb. Poderia ser pelo IP, daria na mesma.
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Citação:
Postado originalmente por
jordao
Isaque, boa tarde.
Já tive um cenário parecido onde eu trabalho, onde precisei abrir uma celula 2.4 sem Hotspot nem PPOE, ou seja, distribuindo IP somente pelo DHCP server.
A maneira no qual eu consegui limitar a manda dos clientes, a mesma para todos, foi rodando o Script abaixo:
/queue simple
for i from=1 to=250 do={ add name=("192.168.1." . $i . "/32") target=("192.168.1." . $i . "/32") dst=0.0.0.0/0 parent=none priority="8" queue=default-small/default-small limit-at=0/0 max-lim
it=100K/100K total-queue=default-small }
Sendo que o de negrito seria o range do seu bloco, o de vermelho a sua rede e o de verde a sua banda.
Este script consiste em gerar todas as queues para os ip's do seu range, ou seja, quando o cliente se conectar já haverá um limitador de trafêgo aplicado ao IP dele.
Fora esta maneira desconheço uma forma de " gerar " um limitador de trafego automático ao cliente via DHCP.
vou fazer o teste aqui e posto os resultados obrigado
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Citação:
Postado originalmente por
inquiery
Na realidade não precisa nem ter IP estático.
Basta criar leases estáticos colocando SOMENTE O MAC do cliente, e configurando o rate limite daquele cliente.
O IP ele vai pegar do DHCP mesmo, e vai aplicar o rate da regra do lease numa queue dinamica para o IP que o cliente pegar.
O Rate limite segue o seguinte formato:
rx-rate[/tx-rate] [rx-burst-rate[/tx-burst-rate] [rx-burst-threshold[/tx-burst-threshold] [rx-burst-time[/tx-burst-time]]]]
rx-rate é o upload
tx-rate é o download
o resto dos parametros pra frente é tudo opcional, se você não usa burst, não precisa nem se preocupar com eles.
Você pode colocar assim por exemplo: 512k/1M
Isso quer dizer que o cliente para aquele MAC vai ter 512kbps de upload e 1mbps de download.
obrigado tambem vou testar sua teoria
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Citação:
Postado originalmente por
inquiery
Bom, se se não são clientes fixos, e sim um ponto de acesso onde dispositivos desconhecidos vão conectar, você pode usar o próprio campo "Lease Script" do DHCP Server para fazer seu script. O script digitado ali, quando é executado, tem acesso a algumas variáveis locais interessantes que vão te ajudar na tarefa, conforme está no wiki da mikrotik.
Tipo assim:
Código :
if ($leaseBound=1) do={
/queue simple add max-limit=UP/DOWN target=$leaseActIP comment=$leaseActMAC
} else={
/queue simple remove [find comment=$leaseActMAC]
}
Assim, quando o script for chamado ENTREGANDO UM IP a um cliente, a variavel $leaseBound vai ser 1, e então uma regra de queue será adicionada, e quando o script for chamado LIBERANDO UM IP (liberando significa removendo da tabela por não estar mais em uso), a variável $leaseBound vai ser 0, e a regra de queue será removida. Utilizei o comment das regras de queue para adicionar o MAC para o qual o IP foi oferecido, e assim deletando os itens pelo MAC tb. Poderia ser pelo IP, daria na mesma.
vou colocar em pratica sua teoria e posteriormente posto os resultados obrigado
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Qual a versão de seu router OS?!
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Citação:
Postado originalmente por
isaquebrumel
6.30
O que preciso para fazer controle de banda nos clientes sem usar o modem do cliente e sim controlando da estação. Qual equipamento vcs recomenda, tenho 3 Aps na torre .grato
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Rodei o mesmo script na versão 6.30 e rodou normalmente.
Você tem permissão total no equipamento?
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
@jordao, da uma olhada mais calmamente na resposta @isaquebrumel
Ele copiou e colou exatamente do jeito que ficou aqui no fórum:
Código :
/queue simple
for i from=1 to=250 do={ add name=("192.168.1." . $i . "/32") target=("192.168.1." . $i . "/32") dst=0.0.0.0/0 parent=none priority="8" queue=default-small/default-small limit-at=0/0 max-lim
it=100K/100K total-queue=default-small }
Tem que dar uma ajeitadinha, tipo assim:
Código :
/queue simple
:for i from=1 to=250 do={ add name=("192.168.1." . $i . "/32") target=("192.168.1." . $i . "/32") dst=0.0.0.0/0 parent=none priority="8" queue=default-small/default-small limit-at=0/0 max-limit=100K/100K total-queue=default-small }
@isaquebrumel, tem que se ligar nos paranauê das quebra de linha. Da uma lidinha no script antes de rodar, que você ja descobriria o erro. Nem sempre quando a gente cola um script aqui, ele fica certo, o fórum cria umas quebra de linha que não existe, ou o terminal de onde a gente copia ja vem com quebra, dai tem que ajeitar antes de sair executando.
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Caso ajude, ja teve versao do mk 6 que ele nao aceito, ai dei uma enxugada e rodou, veja como fiz:
primeiro abre new terminal, ai entra em
queue simple
da enter
e depois cola :
: for i from=10 to=254 do={ add target=("192.168.88." . $i ) parent=none max-limit=150k/700k total-queue=default disabled=no}
Abraços.
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Citação:
Postado originalmente por
inquiery
@
jordao, da uma olhada mais calmamente na resposta @
isaquebrumel
Ele copiou e colou exatamente do jeito que ficou aqui no fórum:
Código :
/queue simple
for i from=1 to=250 do={ add name=("192.168.1." . $i . "/32") target=("192.168.1." . $i . "/32") dst=0.0.0.0/0 parent=none priority="8" queue=default-small/default-small limit-at=0/0 max-lim
it=100K/100K total-queue=default-small }
Tem que dar uma ajeitadinha, tipo assim:
Código :
/queue simple
:for i from=1 to=250 do={ add name=("192.168.1." . $i . "/32") target=("192.168.1." . $i . "/32") dst=0.0.0.0/0 parent=none priority="8" queue=default-small/default-small limit-at=0/0 max-limit=100K/100K total-queue=default-small }
@
isaquebrumel, tem que se ligar nos paranauê das quebra de linha. Da uma lidinha no script antes de rodar, que você ja descobriria o erro. Nem sempre quando a gente cola um script aqui, ele fica certo, o fórum cria umas quebra de linha que não existe, ou o terminal de onde a gente copia ja vem com quebra, dai tem que ajeitar antes de sair executando.
Acabou que respondi e acompanhei pelo celular e não me atentei a isto.
Mas muito bem observado.
Como faço para postar o codigo igual a você ?
Obrigado.
Re: Ajuda: Script para adicionar controle de banda no DHCP Server
Consegui resolver.
agradeço a atenção de todos
solucionei utilizando o (lease script) como nosso amigo postou, deu tudo certo graças a Deus, vou postar aqui novamente o script, podendo ajudar mais alguém.
if ($leaseBound=1) do={
/queue simple add max-limit=100k/512k target=$leaseActIP comment=$leaseActMAC
} else={
/queue simple remove [find comment=$leaseActMAC]
}