LINUX.ORG.RU

Сообщения dryukov

 

iptables модуль ядра.

Не получается передать много данных в модуль ядра iptables через расширение для iptables.

Модуль назвал iptable (таблица ip адресов) для фильтрации перебором. На входе имя файла списка IP c флагами SRC или DST

Ошибка при добавлении правила: dmesg: x_tables: ip_tables: iptable.1 match: invalid size 135176 (kernel) != (user) 4104

В модуле ядра объявлено:

struct xt_iptable_mtinfo {
        __u8 iptable0[0x10000]; 
        __u8 flags;
};

описано как:

static struct xt_match iptable_mt4_reg[] __read_mostly = {
        {
                .name      = "iptable",
                .revision  = 1,
                .family    = NFPROTO_IPV4,
                .match     = iptable_mt4,
                .matchsize = sizeof(struct xt_iptable_mtinfo),
                .me        = THIS_MODULE,
        },
};
Загружается соответственно так: return xt_register_matches(iptable_mt4_reg, ARRAY_SIZE(iptable_mt4_reg)); Что качается ядра всё понятно.

Дальше расширение для iptables

libxt_iptables.c Повторное описание структуры:

struct ipt_iptable_info {
        __u8 iptable0[0x10000];
        /* Flags from above */
        __u8 flags;
};
Опции расширений iptables описаны как строка содержащая имя файла таблицы либо для входящего либо для исходящего ip.
static const struct xt_option_entry iptable_mt_opts[] =
{
        {.name = "src-maskfile",  .id = O_SRC_MASK, .type = XTTYPE_STRING, .flags = XTOPT_INVERT},
        {.name = "dst-maskfile",  .id = O_DST_MASK, .type = XTTYPE_STRING, .flags = XTOPT_INVERT},
        XTOPT_TABLEEND,
};

Описано:

static struct xtables_match iptable_mt_reg[] = {
        {
                .next          = NULL,
                .version       = XTABLES_VERSION,
                .name          = "iptable",
                .revision      = 1,
                .family        = NFPROTO_UNSPEC,
                .size          = XT_ALIGN(sizeof(struct ipt_iptable_info)),
                .userspacesize = XT_ALIGN(sizeof(struct ipt_iptable_info)),
                .help          = iptable_help,    
                .print         = iptable_print,   
                .parse         = iptable_parse, 
                .save          = iptable_save,   
                .x6_options    = iptable_mt_opts, 
                .final_check   = iptable_mt_check, 
        },
};

Зарегано:

xtables_register_matches(iptable_mt_reg, ARRAY_SIZE(iptable_mt_reg));

Почему то ядро хочет больший размер конфигурации, а iptables выдает мало. Как будто обрезает структуру при работе с libiptc.

Возможно связано с ограничениями системных вызовов или чем то другим. Может кто сталкивался с написанием match - ей.

 

dryukov
()

SQUID - Компрессия трафика, объясните и помогите !!!

Вот такая мысля.

Есть такая вещь как сжатие HTTP трафика defate или bzip.
Почти на всех серверах есть, но софт практически ее не использует.
А точнее Accept-encoding: gzip, deflate
Что говорит что клиент просит инфу в сжатом формате.

Вопрос.
Как заставить squid 2.5 посточнно требовать от сервера такой режим работы, а не тот что установлен браузером.
После того как свкид примет ответ от сервера, он должен отдать клиенту в том формате в котором ом его просил HTTP1.0 или 1.1.

В сквиде можно только запретить и разрешить эти теги, но это совсем не то ...

Всё перерыл, нет ничего !!!
Хоть самому транзитный прокси пиши.... 

Помогите кто может !!!!


http://www.nestor.minsk.by/sr/2004/06/40612.html
dryukov
()

swap + nfs как обойти

Запустил NFS сервер, сделал загрузку из сети примонторовал корневую фс по nfs установил весь софт.

Все нормально, но как хочу запустить kde нехватает памяти.

swap фаил через NFS не работает, как сделать своп другими действиями ???

dryukov
()

DNS + MX записи

Подскажите как описать пчтовый сервер для домена записми в DNS для bind9.

dryukov
()

RSS подписка на новые темы