El objetivo es controlar el tráfico mediante colas y prioridades en un servidor Ubuntu Server



Descargar 13.34 Kb.
Fecha de conversión04.03.2017
Tamaño13.34 Kb.

Objetivos


El objetivo es controlar el tráfico mediante colas y prioridades en un servidor Ubuntu Server.
Habría que parchear el kernel y recompilarlo para que iptables soporte filtrado con l7. Y diréis……. ¿qué es filtrado con l7 ?
L7 es filtrado a nivel 7 (capa OSI = Aplicación), lo cual nos permitiría filtrar paquetes a alto nivel, en este caso a nivel de aplicación: tráfico P2P (Azureus, amule), etc…. cosa que no podríamos hacer con la versión estándar de iptables.
No es un requisito imprescindible para hacer un QoS pero sí recomendable. No es imprescindible porque sin L7 podemos filtrar el "resto" de tráfico a un nivel de protocolo más bajo: ssh, ftp, www, smtp, etc……

Con todo esta parrafada, quiero decir que si no quereis usar L7, podéis pasar directamente al punto de configuración.

Vamos a trabajar con las siguientes versiones:


  1. Ubuntu Server Intrepid (8.10, kernel 2.6.27-7-server)

  2. iproute: contiene las herramientas tc necesarias para el árbol de preferencias (qdisc, classes,….).

  3. iptables: versión 1.4.2

  4. Layer7: nos servirá para filtrar paquetes a nivel 7 (aplicación) como protocolos P2P.

Descarga de paquetes necesarios

Layer7

L7-filter kernel


wget http://downloads.sourceforge.net/l7-filter/netfilter-layer7-v2.20.tar.gz

L7-filter userpace


wget http://downloads.sourceforge.net/l7-filter/l7-filter-userspace-0.10.tar.gz

L7 descarga de definiciones de protocolos


wget http://downloads.sourceforge.net/l7-filter/l7-protocols-2008-12-18.tar.gz

Iptables

Descarga de Iptables (versión 1.4.2)


wget http://www.netfilter.org/projects/iptables/files/iptables-1.4.2.tar.bz2

Kernel 2.6.27.7

Descarga del kernel


sudo apt-get install linux-source

Parcheo y recompilación del kernel

Instalar l7-filter y los fuentes del kernel


tar -xvf /usr/src/linux-source-2.6.27.tar.bz2

ln -s /usr/src/linux-source-2.6.27 /usr/src/linux


tar -xvf netfilter-layer7-v2.20.tar.gz

Aplicar el parche a las fuentes del kernel


cd /usr/src/linux

patch -p1 < ../netfilter-layer7-v2.20/kernel-2.6.25-layer7-2.20.patch


Aplicar el parche e instalar Iptables 1.4.2


tar -xvf iptables-1.4.2.tar.bz2

cd iptables-1.4.2

patch -p1 < ../netfilter-layer7-v2.20/iptables-1.4-for-kernel-2.6.20forward-layer7-2.20.patch

chmod +x extensions/.layer7-test

make KERNEL_DIR=/usr/src/linux

make install KERNEL_DIR=/usr/src/linux



Si no funcionara la compilación, copiar los ficheros libxt_layer7.c y libxt_layer7.man del directorio:

/usr/src/netfilter-layer7-v2.20/iptables-1.4.1.1-for-kernel-2.6.20forward/

en el directorio:

/usr/src/iptables-1.4.2/extensions

y volver a compilar.

Instalar las definiciones de protocolos


tar -xvf l7-protocols-2008-12-18.tar.gz

cd l7-protocols-2008-12-18.tar.gz

make install

Configuración, compilación e instalación del nuevo kernel

Dependencias


Para poder compilar el kernel necesitaremos tener los siguientes paquetes instalados:

apt-get install fakeroot kernel-package libncurses5-dev


Fichero .config


Para no partir de cero en la configuración del kernel, partimos del fichero .config original y lo copiamos al directorio /usr/src/linux.

cp /boot/config-2.6.27-7-server /usr/src/linux/.config


Habilitar opciones del kernel para netfilter-L7


A continuación accedemos a los menús de configuración del kernel:

cd /usr/src/linux

make menuconfig

Y debemos asegurarnos que están seleccionadas:

* Networking support

* Networking options

* Network packet filtering framework (Netfilter)

* Core Netfilter Configuration

* Connection tracking flow accounting

* Connection mark tracking support



* Layer 7 match support

* Layer7 debugging support


La base de datos está protegida por derechos de autor ©bazica.org 2016
enviar mensaje

    Página principal