Linux настройка · 2 min read · Nov 12, 2025

Как настроить классификатор пакетов уровня 7 Linux на CentOS 5.1

Как настроить классификатор пакетов уровня 7 Linux на CentOS 5.1

Введение

Этот учебник проведет вас через настройку классификатора пакетов уровня 7 Linux на CentOS 5.1, который можно легко адаптировать к любой другой дистрибуции Linux.

L7-filter — это классификатор для Linux Netfilter, который идентифицирует пакеты на основе шаблонов в данных прикладного уровня. Это позволяет правильно классифицировать P2P-трафик. Он может классифицировать пакеты, такие как Kazaa, HTTP, Jabber, Citrix, Bittorrent, FTP, Gnucleus, eDonkey2000 и т. д., которые используют непредсказуемые порты, а также стандартные протоколы, работающие на нестандартных портах. Он дополняет существующие классификаторы, которые соответствуют IP-адресам, номерам портов и так далее. http://l7-filter.sourceforge.net/

1) Скачайте необходимые пакеты

1.1) Скачайте ядро L7-filter

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

1.2) Скачайте пространство пользователей L7-filter

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

1.3) Скачайте определения протоколов L7-filter

wget http://downloads.sourceforge.net/l7-filter/l7-protocols-2008-04-23.tar.gz

Важно: Всегда скачивайте последнюю версию L7-filter с http://sourceforge.net/project/showfiles.php?group_id=80085

1.4) Скачайте Linux Iptables 1.4.0

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

1.5) Скачайте ядро Linux 2.6.26

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2

2) Установите L7-filter

Откройте терминал и выполните

tar -xvf linux-2.6.26.tar.bz2

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

2.1) Примените патч к исходному коду ядра Linux

cd linux-2.6.26
patch -p1 < ../netfilter-layer7-v2.19/kernel-2.6.25-layer7-2.19.patch

2.2) Примените патч и установите iptables 1.4.0

tar -xvf iptables-1.4.0.tar.bz2
cd iptables-1.4.0
patch -p1 < ../netfilter-layer7-v2.19/iptables-1.4-for-kernel-2.6.20forward-layer7-2.19.patch
chmod +x extensions/.layer7-test
make KERNEL_DIR=~/linux-2.6.26
make install KERNEL_DIR=~/linux-2.6.26

3) Установка определений протоколов

tar -xvf l7-protocols-2008-04-23.tar.gz
cd l7-protocols-2008-04-23
mkdir /etc/l7-protocols
cp protocols/* /etc/l7-protocols

4) Компиляция и установка нового ядра Linux

cd linux-2.6.26
make menuconfig
make all
make modules_install
make install

Важно: Вы должны включить следующие параметры (они правильные для Linux 2.6.26, но могут перемещаться, поэтому вам, возможно, придется поискать, если у вас другая версия ядра):

  • “Система фильтрации сетевых пакетов (Netfilter)” (Сетевые ? Опция сетевого подключения)
  • “Поддержка отслеживания соединений Netfilter” (… ? Система фильтрации сетевых пакетов (Netfilter) ? Основные параметры конфигурации Netfilter)
  • “Учет потоков отслеживания соединений” (на том же экране)
  • Наконец, “Поддержка соответствия уровня 7”
  • Опционально, но настоятельно рекомендуется: множество других параметров Netfilter, в частности “Поддержка FTP” и другие соответствия. Если вы не знаете, что делаете, просто включите все из них.

5) Проверьте настройки GRUB

vim /etc/grub.conf

Он должен выглядеть так:

default=0
timeout=3
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.26)
        root (hd0,0)
        kernel /vmlinuz-2.6.26 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.26.img
title CentOS (2.6.18-53.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.18-53.el5.img

6) Наконец

Ну, мы закончили, перезагрузите систему и наслаждайтесь.

restart

7) Тестирование l7-filter

iptables -m layer7 –help

Веселитесь!

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.