Stargazer
НАСТРОЙКА СЕРВЕРА ДЛЯ РАБОТЫ С LIBIPQ

Компиляция сервера

Для того, что бы сделать захват трафика c libipq нужно несколько по-иному собрать серврер.

  1. В файле make.linux меняем строки:

    # PF_PACKET capture
    defines=-Dlinux -DTARIFF$(t)

    #ilbipq capture
    #defines=-Dlinux -DTARIFF$(t) -DCAPIPQ

    на

    # PF_PACKET capture
    #defines=-Dlinux -DTARIFF$(t)

    #ilbipq capture
    defines=-Dlinux -DTARIFF$(t) -DCAPIPQ

  2. make clean
  3. make
Параметры ядра

Для работы серверу понадобится поддержка ядра. Нас интересует следующая опция:

CONFIG_IP_NF_QUEUE=y

Для того, что бы она была доступна из make menuconfig или make xconfig, нужно включить следующий пункт:

Те же опции из menuconfig:

Ядро можно скомпилировать и с модулем. В этом случае не забудьте подгрузить данный модуль перед началом работы

Скрипты

Идея настройки сервера для работы с libipq сводится к тому, что бы пропустить трафик подлежащий подсету через файрвольное правило QUEUE

Если у нас были скрипты, подобные тому, как описано в примере по настройке сервера под Linux, то скрипты изменятся заменой слова ACCEPT на QUEUE:

#!/bin/bash
# OnConnect

ip=$2

iptables -t filter -A INPUT -s $ip -j QUEUE
iptables -t filter -A FORWARD -s $ip -j QUEUE
iptables -t filter -A FORWARD -d $ip -j QUEUE
iptables -t filter -A OUTPUT -d $ip -j QUEUE

#!/bin/bash
# OnDisconnect

ip=$2

iptables -t filter -D INPUT -s $ip -j QUEUE
while [ $? -eq 0 ]
do
iptables -t filter -D INPUT -s $ip -j QUEUE
done

##################################

iptables -t filter -D FORWARD -s $ip -j QUEUE
while [ $? -eq 0 ]
do
iptables -t filter -D FORWARD -s $ip -j QUEUE
done

##################################

iptables -t filter -D FORWARD -d $ip -j QUEUE
while [ $? -eq 0 ]
do
iptables -t filter -D FORWARD -d $ip -j QUEUE
done

##################################

iptables -t filter -D OUTPUT -d $ip -j QUEUE
while [ $? -eq 0 ]
do
iptables -t filter -D OUTPUT -d $ip -j QUEUE
done

СОДЕРЖАНИЕ