Duplicar ancho de banda en horario nocturno con Mikrotik

Todos los que estamos trabajando como WISP sabemos que si hay algo que es sumamente valioso «es nuestro ancho de banda». El Mb para empresas pequeñas termina siendo muy caro y se pone dificil remar contra las telco.

La idea de este post: crear un script para aprovechar al maximo todo nuestro ancho de banda; ya que durante la noche queda casi sin uso, y nosotros lo estamos pagando!!!.

Escenario: PPPoE con Queues Dinamicas asignando a los clientes 128k y 256k respectivamente (de acuerdo al plan que tenga contratado) los cuales pasan a ser 256k y 512k entre las 00:45 y las 7:00 am.

El Script recorre las queue simples y cambia el max-limit. Se acpetan sugerencias y comentarios.


#subo128a256
:foreach i in=[/queue simple find] do={
:if ([:find [/queue simple get $i max-limit] "128000/128000"] = 0) do={
/queue simple set $i max-limit= "257000/257000";
}
}


#bajo256a128
:foreach i in=[/queue simple find] do={
:if ([:find [/queue simple get $i max-limit] "257000/257000"] = 0) do={
/queue simple set $i max-limit= "128000/128000";
}
}

Finalmente se cargan en el Scheduler y lo pueden configurar para que corra luego de la medianoche cada 1 hora hasta las 7 de la mañana. Digo cada 1 hora porque el script recorre los queues simple de los usuarios que estan conectados en ese momento (en que corrio el script), entonces si algun cliente conecta despues de que paso nuestro script, ese queda sin «doble velocidad», por eso es recomendable ejecutarlo cada 1 hora.

Este es nuestro resultado. (En este caso el Script duplica en un plan de 256k).

Algo muy facil de hacer; y los clientes no solo quedan conformes, si no que aumentan las ventas. 😉

36 Comentarios

  1. Hola, esta muy bueno el post, yo estoy utilizando hotspot, se puede hacer lo mismo? y una de yapa, como se puede hacer para pasar el listado de clientes de un reoter a otro (solo necesito pasar los usuarios del hotspot, los router tienen distintas configuraciones y uno es version 3.07 y el nuevo 3.13). gracias

  2. Hola!, me alegra que te sirva el post;

    Pregunta 1) SI, Tanto en Hotspot como en PPPoE te va a funcionar muy bien el Script, ya que modifica dinamicamente las Queues que te genera el hotspot o el PPPoE sin importarle quien sea el que las crea ni que nombre tenga el queue.

    Pregunta 2) en el winbox vas a la opcion «New terminal»:

    Para PPPOE seria asi:
    /ppp secret exp file=misusuarios

    en hotspot seria algo asi como
    /ip hotspot secrets exp file=usuarios

    Eso te genera un archivo llamado «misusuarios.rsc» en el menu «file», entonces vas a dicho menu y seleccionas el archivo con un click. Luego presionas en el boton «copy», minimizas el winbox, y haces «paste» para que te baje el archivo a tu PC.
    Por ultimo; renombras el archivo; le remplazas la extencion rsc por txt; lo abris y bueno.. ahi tenes todos los users para copiar y pegas en el otro router. 🙂

    Slds. Nico.

  3. Nico, necesito ayuda, tengo el mikroik de server configurado el QoS, y aparte otro con balanceo de carga con 2 ADSL de 5 MB c/uno y 1 HDSL (Digital simetrica de 2 MB)IP publica por esta, ahora necesito que una RADIO FM salga al aire por INTERNET, como tengo que hacer? (la radio es un cliente con IP de mi red). Gracias

  4. Walter, simplemente deberias darle una ip publica al User, e investigar sobre el Winamp ShoutCast.com; con eso resuelves todo.
    Si no puedes otorgar una Publica, deberias hacer dstnat Ip:puerto a Ip:puerto. Desde IP > Firewall > Nat

    Nico

  5. OK, pero si le doy IP Publica, le estoy habilitando todo el ancho de bando, o sea no tengo control. el servidor streaming ya lo tiene. solamente falta salir a internet. IP>FIREWAL>NAT eso ya lo hice y no funciona. la vedad me trabé y nose como hacer, aparte no te olvides del Balanceo de cargas que tengo. saludos y gracias

  6. Walter: para transmitir radios por internet hay bastante software. Entonces lo que tenes que fijarte (si lo haces con Ip Privada) es: Hacia QUE PUERTO y Hacia QUE IP apunta ese software que hace el streaming entonces luego en el nateo haces que el dst-nat de Esa Ip y ese puerto vayan hacia la ip privada de la pc que hace streaming. (esa es la forma correcta de hacer el nat)

    La segunda solucion seria darle una ip publica por PPTP. Ya es mas complicada.
    Busca info sobre dst-nat en el foro oficial tenes muchos ejemplos.
    Nico.

  7. Buenas a todos, es la primera vez que escribire en este blog y espero que no sea la ultima.
    Lo que yo haria para solucionar ese problema del dst-nat que no funciona es lo siguiente… Configuraria un PPPoE Server con un usuario, a su vez una pool de una IP Publica asignada a ese ppp…
    Luego el usuario se conectaria por pppoe a tu server y de esa forma podes tener control del ancho de banda que usa y podes probar si con lo que le das le alcanza para la cantidad de escuchas que tenga o si tenes que ampliarle… de esa forma le podes cobrar ademas del ancho de banda… la ip pubica que gastas en el…

    Bueno, espero que sirva de algo…

    Saludos
    Sebastian

  8. Nico, podes agregarme a tu MSN (el mio es el mail que te paso por aca), asi charlamos sobre mikrotik, tengo un par de dudas y creo que vos podes ayudarme. saludos. gracias

  9. Hola, espero que no les moleste, lo que voy a comentar. Mi empresa se dedica a desarrollar software para ISP. Nosotros tenemos un desarrollo que te permite hacer esto que están haciendo y mucho más, pero solo, con un par de clicks. Si quieren pueden entrar y ver la demo del servidor de acceso.
    aca esta la descripcion: http://www.815tech.com/sitio/node/8
    aca la demo: http://www.815tech.com/gateway/admin
    el usuario y la pass son «demo».
    Si este post les es molesto, por favor borrenlo.
    Saludos!

  10. muy bueno el post, pero yo ando necesitando un scrips que genere automaticamente las queue con un bit de ancho de banda por ej que arme la queue ente la ip 10.2.2.1 y 10.2.2.254, se te ocurre algo como armarlo?

  11. Hola, Nico, de nuevo… lei la nota que le hiciste a Adrian, esta bueno el proyecto, vos que sugeris?, aparte como siempre consultas sobre mikrotik, viste que antes te habia consultado sobre el streming de la radio de un cliente, seguimos con eso.. pero ahora y siguiendo tus consejos (en cierta forma), pusimos el server de streaming a la par del hotspot, o sea que le asigne una IP publica en una lan y en la otra un IP privada, la radio (cliente) apunta al server por dentro de la red local hacia una IP local, pero el HS no me deja.. o sea no conecta, pero si la radio apunta a la IP Publica no tengo drama, anda bien… ahora como hay que hacer para que ande por la red local? El rango de IP local es 192.168.2.x, le cree un binding a la IP del streaming y nada… lo puse en otro rango y cree un address en el HS y nada, el HS le hace ping al streaming sin problema pero no mepuedo comunicar desde mi red.. solucion??? gracias, saludos y de nuevo te vuelvo a felicitar por el blog..

  12. Hola! muy buen post de como duplicar el ancho de banda!!

    Llegue a tu blog por medio de una busqueda en Google, y mi duda es: tengo un Mikrotik RouterBoard 750G, y tengo solo 20 clientes que se conectan por diversas maneras a este aparato (LAN, WL, etc..) en todos los clientes tengo IP’s fijas o estaticas, y quiero hacer lo siguiente:

    – filtrar por MAC Address (es decir que solo las mac address que yo de, de alta en el router, son los que tengan acceso a mi red e internet)

    – limitar el ancho de banda de cada uno de los clientes, pues tengo un enlace de 5 MB y a veces unos clientes se ponen a bajar mas cosas que otros y se consumen todo el ancho de banda, y podria ser un ejemplo: de esos 20, 6 se conecten a 250 kbps de bajada, y los restantes 14 a 200 kbps.

    Ojala me pudieras ayudar!!! gracias y saludos…

    – V

  13. Victor: es facil lo que necesitas.

    1) Mira.. filtrar por mac es asi:
    Vas a IP ARP.. y ahi creas cada IP con su mac address.
    Luego vas a interfaces y en la interfaz LOCAL pones reply-only.

    2) para dar ancho de banda por IP vas a QUEUES SIMPLES
    Creas 1 regla por cada cliente con su correspondiente IP y le asignas el ancho de banda. que desees.
    Le pones el nombre que quieras;
    Luego le pones la IP en Dest-address. y mas abajo el ancho de banda: 256k en max-limit y limit-at.

    Un abrazo. Nicolas tech-nico.com.-

  14. no se hacerlo funcionar hermano, esto es lo que necesito que me cambie la velocidad a los clientes en vez de estar cambiandola uno por uno es decir que a cierta hora o a lo que lo decida subirle la velocidad a los clientes sin tener que cambiarlo uno por uno, saludos.

  15. hola nico..
    antes q nada muy buen post..
    mira estaba buscando algo similar a lo q pusiste..
    y queria q me des una mano..
    en mi m ikrotik tengo 2 tarjetas de red de salida, una para mi pc y la otra para mis clientes q estoy en un shoping.,
    y queria hacer algo al revez, q de 10am a 9pm baje mi conexion a 20k

    mi conexion como te dije es por una tarjeta de red y no esta en el hotspot.
    esto necesito porq en horario q no hay tiendas abiertas quisiera usar todo el ancho de banda q tengo de mi proveedor de internet.

    gracias amigo.

  16. otra pregunta..
    quiero dar internet a un usuario q tiene un snak, y el quiere repartir a sus clientes.
    mi pregunta es como le configuro para q sus clientes usen su ancho de banda q le doy maximo a el.
    y q equipo necesitaria este mi cliente, 2 ap? uno para recivir y otro para reenviar?

  17. Antes que nada agradezco el aporte pero citando:

    »
    #subo128a256
    :foreach i in=[/queue simple find] do={
    :if ([:find [/queue simple get $i max-limit] «128000/128000»] = 0) do={
    /queue simple set $i max-limit= «257000/257000″;
    }
    }
    »

    Tengo una pequeña duda al respecto, yo uso este post sobre ingenieria de tráfico ( http://microsistemas.venezuela-foro.com/t161-aporte-ingenieria-de-trafico-experto-mikrotik?highlight=ingenieria+de+trafico ) y por ejemplo tengo un plan de 128k/320k y mis velocidades son 110k/164k 165k/336k 164k/260k 60/256 7. La pregunta es:

    ¿¿debo colocar «:foreach i in=[/queue simple find] do={
    :if ([:find [/queue simple get $i max-limit] «110k/164k 165k/336k 164k/260k 60/256»] = 0) do={
    /queue simple set $i max-limit= «220k/328k 320k/672k 328k/520k»;
    }
    } ??

  18. hola quetal bueno recien estoy leyendo este post por q hacepokito me decidi empesar com wisp tengo 20 clientes recien usando hotspot. esta bueno lo del scrip. ahora yo tengo una consulta. YO TENGO TRES PLANES DE VELOCIDAD QUE BUENO COMO SABRAN SE LOS CREA EN USER PROFILES. UNO ES DE 256K/512K OTRO ES 512K/768K Y OTRO DE 512K/1024K – HAY USUARIOS Q USAN UN PERFIL Y OTROS QUE USAN OTROS MI PREGUNTA ES ¿ DEBO HACER TRES SCRIP UNO PARA CADA PERFIL DE USUARIO O EN UNO SOLO PONGO LAS TRES VELOCIDADES DE SUBIDA Y BAJADA? NO SE SI ME EXPLICO . BUENO HOJALA ME PUEDAN DAR UNA MANO YA QUE A MI ME SUBEN LA VELOCIDAD A 15 MEGAS DURANTE LA NOCHE Y NO SE COMO REPRTIRLAS A LOS USUARIOS. MUCHAS GRACIAS

  19. El script no trabaja sobre Hotspot, lo hace sobre las Queues Simples dinamicas que crea Hotspot. Asegurate que hotspot este creando 1 queue por cada IP que accede a tu red. Saludos.

  20. hola saludos amigos quisiera un poco de ayuda tengo un microtik y quisiera que el ancho de banda se abriera de noche por orario a todos los clientes y que en la mañana vuelva a su control normal si alguien puede ayudarme se lo voy a gradecer mucho
    saludos a todos.

  21. Hola Pither, lo tenes casi servido. .. Hace lo siguiente: Usa esos 2 scripts como base, modificalos a tu antojo y testealos.. juga.. con las velocidades para ver como las modifica (El valor esta puesto en bytes pero podes probar ponerlo en Kb o Mb que tambien deberia funcionar). En un script subis.. y en el otro bajas. Una vez que tengas andando lo que queres. Lo cargas en el «Scheduler» para ejecutarlo por horarios como vos deseas. Saludos.

  22. Hola, he probado el script y solo me modifica colas estáticas. las dinámicas, generadas por pppoe o hotspot no las modifica. Quién me puede ayudar? Gracias

  23. Estimado Juan Camilo, en versiones mas viejas de RouterOS, Mikrotik permitia que se modifiquen queues dinamicas mediante scripts, pero ahora eso no es posible. Ya lo he intentado y creeme que no es posible!.. Lo unico que podes hacer es modificar el profile. Y acostumbrar al usuario a que reinicie su router para que le asigne la duplicacion dentro del horario que deseas. Observa que la fecha del script es del 2008: Desde ese año hasta ahora RouterOS ha sido casi reescrito. Espero que te sirva. Saludos.

  24. Ok, será posible crear un script que modifique automáticamente los valores de subida y bajada de los profiles?

  25. Amigo, algo así?
    /ip hotspot user profile
    set rate-limit=»4M/4M» [find rate-limit=»2100k/2100k»]

    Dame alguna sugerencia, para que los usuarios que ya están navegando, se les aplique la nueva velocidad. (Cómo desautenticarlos y volverlos a autenticar…) Gracias

  26. Juan camilo: Si.. muy sencillo.. crea un script con tantas lineas como planes tengas:
    La siguiente linea busca un profile llamado «10mega» y le asigna 12 Mb.
    Podes probarlo por consola.
    /ppp profile set [/ppp profile find name="10mega"] rate-limit=12m/12m

  27. Cómo puedo deshabilitar y habilitar automáticamente el servidor pppoe para que los usuarios se reautentiquen de nuevo? me gustaría agregar esas líneas al script. Gracias por tu ayuda

  28. @ivan Cuando la Queue se genera dinamicamente, ya sea por Hotspot, pppooe o DHCP no se puede duplicar por script, porque Mikrotik modifico algo para que las queues dinamicas sean de solo lectura. (En las versiones viejas si se puede). En las nuevas lo unico que te queda por hacer es generar queues estaticas. Vas a tener el beneficio de duplicar por script pero no quedan vinculadas al usuario para cuando le hagas un cambio de velocidad. Slds.

1 Trackback / Pingback

  1. Duplicar ancho de banda en horario nocturno con Mikrotik | Buanzolandia

Deja un comentario