Cómo usar iptables clasificar

Cómo usar iptables clasificar
Iptable Classify permite a los administradores administrar el tráfico de red asignando la cantidad deseada de recursos de ancho de banda a un tipo específico de tráfico, definido arbitrariamente.
Al implementar la clasificación IPTables, puede asignar un ancho de banda de descarga/carga específico a un tipo específico de paquetes, fuentes/destinos, puertos, etc.

Por ejemplo, al implementar IpTables Classify, puede priorizar su ancho de banda para conferencias de zoom, juegos, etc., Mientras limita el ancho de banda para las redes sociales, torrent, etc.

Esta característica de iptables no está relacionada con la seguridad, sino con QoS (calidad de servicio), que es el rendimiento de ancho de banda que afecta la experiencia del usuario.

La clasificación de iptables solo se puede aplicar con la cadena posterior a. Si no sabe qué es el postrateo, probablemente desee leer este tutorial de iptables antes de continuar con este artículo.

Por qué usar iptables clasifica

Por defecto, el tráfico de Internet se organiza de acuerdo con la política general de FIFO (primero en, primero en salir). FIFO significa que el primer paquete que llegue será el primero en ser respondido, el segundo paquete que llega será el segundo en responder, y el paquete más antiguo que llegue será el último en ser respondido.

Por ejemplo, si recibe paquetes fragmentados que pertenecen a videoconferencias, juegos, correos electrónicos y redes sociales simultáneamente, su sistema responderá de acuerdo con el orden de llegada.
Este comportamiento es justo y permite que Internet funcione correctamente, pero FIFO puede ser un problema regular a un nivel interno, y puede regularlo usando iptables. Puede definir, por ejemplo, que la videoconferencia o el tráfico de juegos disfrutarán de prioridad sobre los correos o el tráfico P2P.

FIFO es un ejemplo de un básico QDISC (Disciplina de cola). Puede pensar en QDISC como un implementador de políticas adjunto a un dispositivo de red, definiendo el orden en que los paquetes pasarán al dispositivo de red. Nuestros comandos en este tutorial comenzarán modificando la disciplina de colas (QSIC).

QoS (calidad de servicio) se puede administrar desde el núcleo utilizando el TC (Control de tráfico o cola avanzada) Utilidad, pero esta característica es apátrida, mientras que los iptables pueden proporcionar características complejas con estado. En cualquier caso, IPTables Classify debe implementarse con TC y QDISC, la funcionalidad le permite distribuir o limitar el ancho de banda de acuerdo con sus propios criterios.

Cómo usar iptables clasificar

Antes de comenzar con IPTables Classify, necesitamos crear el nivel o tráfico tipos para clasificar para iptables.

Con el siguiente comando, modificaremos la disciplina de cola para el dispositivo de red nombrado ENP2S0. Esto se aplica para el tráfico saliente (raíz), pero dado que su tráfico priorizado responde primero, se las responderán y descargarán primero. Al retrasar cierto tráfico saliente, se descargará más lento porque llegará tarde al destino.

TC QDISC ADD DEV ENP2S0 Mango de raíz 1: HTB predeterminado 13

El comando anterior explicado:

  • TC QDISC: Ejecutamos TC para modificar la disciplina de colas (QDISC).
  • agrega dev : Aquí, conectamos el QDISC a un dispositivo de red específico; En este caso, mi tarjeta de red es ENP2S0.
  • Raíz: Tráfico saliente.
  • manejar 1: El formato de esta sección podría ser "manejar 1:13"Donde el menor (1) es la clase, y 13 es el mango. Esto crea la clase 1 y el nivel 13 para que dividamos el ancho de banda en el siguiente paso.
  • HTB: HTB (cubo de token jerárquico) se usa para controlar el próximo ancho de banda simulando diferentes enlaces más lentos en lugar de su enlace físico real y rápido. Con esta opción, le decimos al sistema que dividiremos nuestro enlace físico entre varios enlaces simulados. Entonces definiremos los parámetros de división con iptables.
  • predeterminado 13: Como se dijo anteriormente, el manejar podría definirse como "manejar 1:13", no lo hicimos porque lo establecimos al final del comando el nivel 13 como predeterminado.

Las siguientes líneas agregan la clase, niveles y definen la asignación de ancho de banda para cada.

Como puede ver, esos paquetes marcaremos como 1:10 con iptables disfrutarán de 50 más de 50 mbit de ancho de banda disponible.
Los paquetes clasificados como 1:11 tendrán hasta 30 mbits, pero si no hay tráfico en competencia y el ancho de banda es gratuito, pueden aumentar a hasta 50 mbits de velocidad.
1:12 Los paquetes pueden usar hasta 10 Mbit cuando se usa el tráfico, pero si no hay otro tráfico, su velocidad puede aumentar hasta 20 Mbits.
Finalmente, los paquetes clasificados como 1:13 siempre tendrán hasta 5Mbit, independientemente de si el tráfico adicional necesita el ancho de banda.

TC Clase Agregar dev enp2s0 parent 1: classid 1: 1 tasa htb 50 mbit techo 50mbit
TC Clase Agregar dev enp2s0 parent 1: classid 1:10 htb tasa 50mbit techo 50mbit Prio 0
TC Clase Agregar dev enp2s0 parent 1: classid 1:11 Htb tasa 30mbit techo 50mbit Prio 1
clase TC Agregar dev enp2s0 parent 1: classid 1:12 htb tasa 10mbit techo 20mbit Prio 2
clase TC Agregar dev enp2s0 parent 1: classid 1:13 htb tasa 5mbit tceil 5mbit Prio 3

Entonces definimos algunos niveles, y ahora necesitamos hacerlos cumplir usando iptables. Las líneas de arriba deben guardarse como script y ejecutarse antes de ejecutar sus reglas iptables.

En el primer ejemplo, usaré iptables para priorizar las conexiones SSH y las transferencias de archivos SCP clasificando el puerto 22 como 1:10. Esto significa que las conexiones SSH o SCP disfrutarán de la velocidad máxima como se definió anteriormente (50/50).

sudo iptables -t mangle -a postruting -o enp2s0 -p tcp --sport 22 -j clasificar --set -class 1:10

Ahora digamos que cuando está transfiriendo grandes archivos SCP, no desea que el tráfico web compita por el ancho de banda de 50 MB; Usted define, cuando hay tráfico SCP, el tráfico HTTP tiene menos prioridad, con un máximo de 30 MB. Puede alcanzar los 50 MB solo si no hay otro tráfico en competencia. La siguiente línea lo hace clasificando los paquetes HTTP como 1:11.

iptables -t mangle -A Postrouting -o enp2s0 -p tcp --sport 80 -j clasificar --set -class 1:11

Y ahora, para el siguiente ejemplo, supongamos por alguna razón que solo desea permitir hasta 5 MB para el tráfico FTP, de forma independiente si hay tráfico adicional, la regla iptable debe ser:

iptables -t mangle -A Postrouting -o enp2s0 -p tcp --sport 21 -j clasificar --set -class 1:13

Hay una extensión de NetFilter para Layer7, que puede descargar y agregar a su núcleo. L7 permite clasificar el tráfico de la capa 7, lo que significa que puede clasificar el tráfico mediante aplicaciones.

Puede descargar L7 de https: // sourceForge.net/proyectos/l7-filter/archivos/.

Por ejemplo, el comando para limitar el tráfico torrent usando L7 es el siguiente.

iptables -t mangle -A Postrouting -M Layer7 - -L7Proto bitTorrent -J Clasificar --set -Class 1:13

Como puede ver, la clasificación de iptables es una gran característica que puede mejorar su calidad de vida si tiene recursos limitados o demanda exclusiva de ancho de banda.

Conclusión:

Iptable Classify es un método excelente para aumentar el rendimiento de su red. Es excelente para empresas y uso en el hogar. Los usuarios nacionales pueden priorizar sus televisores inteligentes o consolas de juegos sobre computadoras o viceversa. Parece especialmente útil para las redes que permiten a los invitados o en la oficina prevenir el comportamiento no deseado. A nivel técnico, clasificar la sintaxis de iptables es bastante simple.

Espero que este tutorial que explique cómo usar la clasificación iptable sea útil. Sigue siguiéndonos para obtener tutoriales y consejos adicionales de Linux.