Paso 6: Priorización de paquetes
Priorización de paquetes con ALTQSi su conexión WAN está bastante saturado (con cosas como bittorrent), entonces estoy seguro de que usted ha tenido su parte justa de los tiempos de espera, retraso o carga la página lenta. Prioritzation paquete ofrece una solución a este problema. En lugar de gastar $100 + un router que tiene esta característica, en su lugar puede usar ALTQ con PF a lograr lo mismo.
ALTQ es muy fácil de configurar. La cosa más complicada que tienes que hacer es recompilar el kernel. No te preocupes, es mucho más fácil de lo que piensas. Sólo tienes que seguir mis instrucciones, y usted debe ser fino. Un nuevo kernel es necesario, porque soporte ALTQ es deshabilitado por defecto en FreeBSD.
Añadir soporte ALTQ a su núcleo
Para empezar, lea thorougly edificio e instalar un Kernel personalizado . Después de leer eso, leer Que ALTQ.
Que se va usando el método "nuevo". Después de duplicar el archivo de configuración del núcleo GENERIC, editarlo con su editor favorito (pico es genial para principiantes). Ahora, agregue las líneas siguientes al final del archivo:
Ahora guardar el archivo (llamé mío FIREWALLKERNEL), luego siga los siguientes pasos (del manual) para compilarlo:
1. Cambie al directorio/usr/src.
2. compilar el kernel.
3. Instale el nuevo kernel.
Si todo funciona, el nuevo kernel está listo para usar. FreeBSD es incluso bueno suficiente para colocar el nuevo kernel en tu camino de arranque. Todo lo que tienes que hacer es reiniciar el sistema ('shutdown - r now'). Ahora, debe tener soporte ALTQ compilado en el kernel. Nuestro siguiente paso es configurar realmente ALTQ
Configuración de ALTQ
ALTQ admite dos tipos de priorización de paquetes: basados en clases (CBQ) y basado en prioridades (PRIQ).
Colas basadas en clases divide trafic en "clases". Una parte específica de tu ancho de banda total se asigna entonces a cada una de estas clases.
Colas basada en prioridad, como lo tiene nombre lo indica, asignan prioridades a los paquetes. Los paquetes con la más alta prioridad se procesan primero.
También hay unas cuantas funcionalidades adicionales que usted tiene a su disposición: la detección temprana al azar y notificación de congestión explícita (ECN).
La detección temprana al azar, o rojo, calcula el tamaño medio de la cola, luego gotas o reenvía paquetes dependiendo del nivel de congestión. Si el tamaño de cola media está por encima de un umbral máximo, se quitarán todos los paquetes. Si el tamaño de la cola está por debajo de un umbral mínimo, no se quitarán paquetes. En cualquier lugar entre estos umbrales, y se quitarán los paquetes dependiendo de cuán cerca es el tamaño de la cola a los umbrales superiores e inferiores.
Notificación de congestión explícita o ECN, establece una marca en paquetes a hosts de avisar de la congestión de la red. Cuando un host compatible con ECN recibe un paquete marcado con esta bandera, responde por sofocar detrás de su actividad.
Elegí la prioridad-colas, porque mi red ve una gran variedad de diferentes tipos de tráfico. Utiliza cola de prioridad números del 1 al 15 para priorizar el tráfico, número 1, siendo más alta prioridad. En mi archivo de configuración de PF (pf.conf) he asignado una prioridad por defecto al número 10. Esto significa que cualquier tráfico que coincida con mis reglas de firewall y no se da una prioridad por defecto a nivel de prioridad 10. Entonces di bittorrent un nivel de prioridad de 15. Haciendo esto, soy capaz de tener funcionamiento de bittorrent sin parar en mi red, sin ningún aumento sensible en latencia o rendimiento. También me dio SSH una prioridad alta de 1, debido a su naturaleza de tiempo crítico. Aquí es lo que parecen mis configuraciones PRIQ ($int_if es mi interfaz interna, dispositivo rl0; y $ext_if es mi interfaz externa, dispositivo dc0):
Aviso mis opciones "ancho de banda" en la primera y segunda línea. Configuro el tamaño de la cola ALTQ en mi interfaz externa a 5Mb. Aunque mi interfaz externo puede ser conectado a 10 Mbps, sólo yo estoy asignado 5Mbps por mi ISP. Esto es importante, porque la priorización de paquetes se basa en el nivel de saturación en una interfaz para determinar cuándo iniciar la cola de paquetes. Usted notará que también asignan 100% del ancho de banda en mi interfaz interna para ALTQ. Esto significa que todo el tráfico que fluye a través de mi interfaz interna tendrá 100% de su ancho de banda de 100 Mbps.
Ahora que he resuelto mis niveles de prioridad, es tiempo realmente asignarlas a mis reglas de firewall. Esto es muy fácil. Simplemente añadir "cola de < queue_name >" al final de las reglas que le gustaría asignar al nivel de prioridad identificado por < queue_name >.
Y eso es todo. Priorización de paquetes es tan simple. Me dejan un comentario para avisarme si esto ayuda a alguien. Definitivamente me ha ayudado.
He conectado una versión revisada de mi pf.conf que incluye configuraciones de ALTQ.