Banda Ancha EU

Comunidad de usuarios
de fibra, móvil y ADSL

ADSL/VDSL

Guia para usar QoS

alarido

#############################################################################################
# 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

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
alarido

La he creado y probado con el firmware 4.2.10, por ejemplo tengo puestos el emule y el azureus chupando todo el ancho de banda de subida, me he conectado a un servidor de counterstrike y el ping era aceptable, algo que probe antes de ponerlo y obtenia casi 1000 ms de lag.

angel69

Hola alarido, en que version del firmware lo as probado?

🗨️ 1
alarido

La 4.2.10, creo que lo puse en un post :)

angel69

Hola alarido, a tu post deberian ponerle una chincheta algun moderador, ya que encontrar una guia con ejemplos como la tuya, tan currada es imposible, la he probado y va de pm de momento.

Ya que te veo puesto en este router, haber si sabes lo siguiente.

si tengo una red de ordenadores que esta por ejemplo en el rango 192.168.2.x, ¿Puedo aunque sea por telnet hacer, que por ejemplo las ips 192.168.2.1, 192.168.2.5, 192.168.2.7 no tengan acceso a internet, pero si a la red y que las ips 192.168.2.4, 192.168.2.6 si tengan acceso a internet?, es decir puedo decirle que ips tienen acceso a internet y que ips no, he puesto estas ips de ejemplo para que se entienda mejor

🗨️ 2
alarido

En principio el router tiene un firewall bastante potente, pero es un poco complicado de usar, hay una guia en:

(link roto)

BocaDePez
BocaDePez

Hola, quitando la puerta de enlace de cada pc que no quieras que vaya a internet.
otra:
firewall rule create chain=forward index=0 src=192.168.2.1 dstintfgrp=wan action=deny con esto supongo no irá a internet.

saludos.

angel69

Gracias alarido.

Haber si algun MODERADOR le pone una chincheta a tu post, por que seria una pena que se perdiera la guia que te as currado.

Si por algun motivo haces alguna actualizacion importante espero que la pongas.

Un saludo

BocaDePez
BocaDePez

Hola,

muchas gracias por tu artículo, me ha sido de gran ayuda.

Sólo una cosa... con esto das prioridad al tráfico de ida, pero no al de vuelta, o no?

Para que me funcione bien del todo le he dado también prioridad al tráfico de vuelta. Por ejemplo:

#MAXIMA: SSH
:label rule create chain=user_labels srcintfgrp=wan prot=tcp dstport=22 label=maxima
:label rule create chain=user_labels srcintfgrp=lan prot=tcp srcport=22 label=maxima

#MUY ALTA: DNS
:label rule create chain=user_labels srcintfgrp=lan src=10.0.0.0/8 prot=tcp dstport=dns label=muyalta
:label rule create chain=user_labels srcintfgrp=wan src=0.0.0.0/0 prot=tcp srcport=dns label=muyalta
:label rule create chain=user_labels srcintfgrp=lan src=10.0.0.0/8 prot=udp dstport=dns label=muyalta
:label rule create chain=user_labels srcintfgrp=wan src=0.0.0.0/0 prot=udp srcport=dns label=muyalta

#ALTA: Navegacion web
:label rule create chain=user_labels srcintfgrp=wan src=0.0.0.0 prot=tcp srcport=www-http label=alta
:label rule create chain=user_labels srcintfgrp=lan src=10.0.0.0/8 prot=tcp dstport=www-http label=alta
:label rule create chain=user_labels srcintfgrp=wan src=0.0.0.0 prot=tcp srcport=443 label=alta
:label rule create chain=user_labels srcintfgrp=lan src=10.0.0.0/8 prot=tcp dstport=443 label=alta

#MEDIA: Acceso a web
:label rule create chain=user_labels srcintfgrp=wan src=0.0.0.0 prot=tcp dstport=www-http label=media
:label rule create chain=user_labels srcintfgrp=lan src=10.0.0.0/8 prot=tcp srcport=www-http label=media
:label rule create chain=user_labels srcintfgrp=wan src=0.0.0.0 prot=tcp dstport=443 label=media
:label rule create chain=user_labels srcintfgrp=lan src=10.0.0.0/8 prot=tcp srcport=443 label=media

#BAJA: RESTO
:label rule create chain=user_labels index=50 srcintfgrp=lan src=10.0.0.0/8 label=baja
:label rule create chain=user_labels index=51 srcintfgrp=wan src=0.0.0.0/0 label=baja

¿Que opinas?

🗨️ 4
alarido

Eso no es correcto, el QoS solo funciona con el tráfico de salida, además cuando por ejemplo te conectas por SSH a una máquina el puerto destino si es el 22, pero el puerto origen es aleatorio.

🗨️ 3
BocaDePez
BocaDePez

Mmhhh... tienes razón, el QoS sólo tiene sentido para el tráfico de salida... no me habia parado a pensarlo.

Pero lo del ssh... la regla no es para conectar a servidores ssh externos, si no para conectarme por ssh a mi PC de casa desde el trabajo por ejemplo.

🗨️ 2
alarido

Incluso en ese caso, el trafico que priorizaria entonces es el del tramo del router a tu PC, es decir una línea de 100 Mbits, evidentemente eso es mucho más que tu ADSL y por lo tanto no tiene sentido priorizar ese trafico.

🗨️ 1
BocaDePez
BocaDePez
tMn

Hola!
Me gustaría que ayudaseis a actualizar la plantilla QOS.
Con los nuevos firms 4.3.x hay algunos comandos q han cambiado.
De momento no se como crear una 'rule' con los nuevos comandos, y al cambiar el dtsport en la sintaxis por el dtsip no sé como hacer para seguir la misma filosofía.

Gracias.

🗨️ 4
alarido

No puedo ayudarte ya que esa nueva generacion de firmwares no soporta ip fija por IPOA y por lo tanto no he podido instalarla, de todos modos no creo que hayan cambiado mucho :)

🗨️ 3
tMn

Gracias por tu pronta respuesta alarido.

Surfeando por la web he encontrao esto (link roto)
no se yo q tal irá. De momento ya lo he aplicado. Ya os comentaré

🗨️ 2
alarido

Esta muy bien, esa guia te ayudara a entender como va el QoS en la nueva version aunque esta pensada para ponerle VoIP a una empresa pequeña por ejemplo, Asterix es un PBX gratuito

🗨️ 1
tMn
BocaDePez
BocaDePez

Para que sirve exactamente el Qos?toy un poco pez en esto....
Saludos

🗨️ 2
alarido

Básicamente sirve para dar prioridad a un tipo de trafico sobre otro, por ejemplo si usas un programa para hablar por telefono con el ordenador como Skype que ese tráfico sea más importante que el del emule y que así no se te corten las conversaciones.

🗨️ 1
BocaDePez
BocaDePez

QoS es calidad de servicio (Quality of Service)

Para el 4.3.2.6.0 hay algo parecido? porque la sintaxis es distinta y los puertos ya no los deja poner (o no sé ponerlo xdd)

BocaDePez
BocaDePez

el valor "172.168.0.0/24" el que es?si mi puerta de enlace es 192.168.1.1 y mi ip local acaba en cuatro, sera 192.168.1.1/4?
Saludos

NeoSat

Bueno, en mi version de Firmware 4.3.1.5, y la configuracion por telnet para el qos no me funciona,

hay alguien que lo haya usado con versiones nuevas?