#############################################################################################
# 1) Primero activamos el QoS en el phonebook configurado en el router, se ve con: #
# =>:phonebook list #
# Name Type Use Address #
# terra ipoa 1 8.32 #
# => #
# Se muestran los valores por defecto, que son reservar un 80% del tráfico para QoS y el #
# resto repartirlo de la forma común, etc. #
#############################################################################################
:ipqos config dest=terra state=enabled discard=early realtimerate=80 burstsize=2 maxpackets=0 maxbytes=0
#############################################################################################
# 2) Se definen las etiquetas y que prioridades reales se van a usar para cada una de ellas #
# en mi caso he definido 8 etiquetas y me sobran varias seguro. #
#############################################################################################
# Se eliminan todas las etiquetas
:label flush
# Se crean las etiquetas que vamos a usar
:label add name=ninguna
:label add name=minima
:label add name=muybaja
:label add name=baja
:label add name=media
:label add name=alta
:label add name=muyalta
:label add name=maxima
# Definimos la prioridad real de cada etiqueta
:label config name=ninguna classification=overwrite defclass=1 ackclass=1 tosmarking=disabled
:label config name=minima classification=overwrite defclass=2 ackclass=2 tosmarking=disabled
:label config name=muybaja classification=overwrite defclass=4 ackclass=4 tosmarking=disabled
:label config name=baja classification=overwrite defclass=6 ackclass=6 tosmarking=disabled
:label config name=media classification=overwrite defclass=8 ackclass=8 tosmarking=disabled
:label config name=alta classification=overwrite defclass=10 ackclass=10 tosmarking=disabled
:label config name=muyalta classification=overwrite defclass=12 ackclass=12 tosmarking=disabled
:label config name=maxima classification=overwrite defclass=14 ackclass=14 tosmarking=disabled
# Vemos si esta todas han quedado bien
:label list
#############################################################################################
# 3) Se crean las reglas que asignaran etiquetas a cada tipo de trafico, es importante el #
# orden de las mismas, las primeras se mieran mas rapido y eso en principio mejora la #
# latencia. #
# Basicamente hay que indicar la cadena a la que se añade cada regla (chain), el #
# interfaz origen (lan), la ip o ips (172.168.0.0/24) el protocolo, el puerto o puertos #
# destino, y la etiqueta a asignar, también se pueden usar puertos de origen y alguna #
# cosa más, pero para conocer todas las posibilidades lo mejor es mirar la guia de CLI, #
# lo más importante son los siguiente valores: #
# #
# Para el protocolo se pueden usar: #
# icmp, igmp, ipinip, tcp, udp, ah, esp, ipcom #
# #
# Para los puertos se pueden usar nombres (mirar guia CLI), numeros de puertos y rangos #
# de numeros de puertos, para puertos origen y destino la configuración es identica #
# sin embargo puesto que lo normal es usar solo puertos de destino son los que explicare #
# los podemos configurar de 3 maneras: #
# 1) Nombre: dstport=smtp #
# 2) Puerto: dstport=25 #
# 3) Rango de puertos: dstport=100 dstportend=200 #
# Donde dstport indica el primer puerto y dstportend el ultimo puerto del rango #
# Por ultimo poner delante del igual una exclamación niega las cosas, por ejemplo #
# todos menos el 80 sería dstport!=80 #
# #
# Por ultimo las IPs se pueden configurar de tres maneras: #
# 1) IP: src=192.168.1.10 #
# 2) Red: src=192.168.1.0/255.255.255.0 o lo que es lo mismo 192.168.1.0/24 #
# 3) Rango: src=192.168.[1-20].[10-200] #
# #
#############################################################################################
# Se eliminan todas las reglas existentes
:label rule flush
#
# Definimos las reglas para asignar etiquetas al tráfico
#
# Prioridad maxima a juegos y VoIP
:label rule create chain=user_labels srcintfgrp=lan src=172.168.0.0/24 prot=udp dstport=27000 dstportend=27050 label=maxima
:label rule create chain=user_labels srcintfgrp=lan src=172.168.0.0/24 prot=udp dstport=5060 dstportend=5061 label=maxima
:label rule create chain=user_labels srcintfgrp=lan src=172.168.0.0/24 prot=tcp dstport=5060 dstportend=5061 label=maxima
:label rule create chain=user_labels srcintfgrp=lan src=172.168.0.0/24 prot=udp dstport=10000 dstportend=10010 dstportend=27035 label=maxima
# Prioridad muyalta al DNS
:label rule create chain=user_labels srcintfgrp=lan src=172.168.0.0/24 prot=tcp dstport=53 label=muyalta
:label rule create chain=user_labels srcintfgrp=lan src=172.168.0.0/24 prot=udp dstport=53 label=muyalta
# Prioridad alta a navegación y correo
:label rule create chain=user_labels srcintfgrp=lan src=172.168.0.0/24 prot=tcp dstport=80 label=alta
:label rule create chain=user_labels srcintfgrp=lan src=172.168.0.0/24 prot=tcp dstport=443 label=alta
:label rule create chain=user_labels srcintfgrp=lan src=172.168.0.0/24 prot=tcp dstport=25 label=alta
:label rule create chain=user_labels srcintfgrp=lan src=172.168.0.0/24 prot=tcp dstport=110 label=alta
:label rule create chain=user_labels srcintfgrp=lan src=172.168.0.0/24 prot=tcp dstport=20 dstport=21 label=alta
# Prioridad baja a todo lo que no encaje con una regla anterior, por ejemplo el emule
:label rule create chain=user_labels srcintfgrp=lan src=172.168.0.0/24 label=baja
:label rule create chain=user_labels srcintfgrp=lan src=172.168.0.0/24 label=baja
#############################################################################################
# 4) Se guarda la configuracion para que los cambios no se pierdan si apagamos el router #
#############################################################################################
:config save