LINUX.ORG.RU
ФорумAdmin

conntrack в linux всё подряд мониторит??


0

0

Судя по показаниям iptstate в conntrack даже udp-"соединения" попадают. Можно ли это безобразие отключить?

У меня много udp-трафика, установка net.netfilter.nf_conntrack_udp_timeout = 1 уменьшила кол-во правил в несколько раз, но всё равно conntrack -L | wc -l выдаёт 5254. И это при том что в iptables вообще ни одного правила нет и сервер абсолютно незагружен. Вот во фряхе состояния создают только те фаервольные правила которым это нужно(во всяком случае в ipfw). Можно ли в линухе такое сделать? Неправильно это следить за всем трафиком который тока можно.

PS conntrackd ещё не ковырял, но, вроде, он может отключать отслеживания состояния некоторых видов трафика.

anonymous

Ответ на: комментарий от no-dashi

Я думал это для совсем уж стрёмных случаев нужно а оказывается raw: This table is used mainly for configuring exemptions from connection tracking in combination with the NOTRACK target.

Просто гениальное решение. А главное как работает:

/* Attach fake conntrack entry. If there is a real ct entry correspondig to this packet, it'll hang aroun till timing out. We don't deal with it for performance reasons. JK */

Оно не убирает из коннтрака, оно просто добавляет туда фейковые записи. Посмотрел по исходникам, target NOTRACK делает skb->nfct = &nf_conntrack_untracked.ct_general и conntrack думает что запись в таблицу уже добавлена. Имхо неправильно это.

anonymous
()

Неудобно с NOTRACK. nat с ним перестаёт работать. я хочу чтобы мониторились тока соединения за nat и те для которых есть state-правила автоматом. Видимо, это не решаемая задача. Придётся делать net.netfilter.nf_conntrack_max=1000000 или плодить кучу правил. Никто не знает скока памяти ядра требуется под это дело? У меня i386, боюсь, не выдержит...

anonymous
()

conntrack для того и задумывался, чтоб мониторить ВСЕ пакеты. Если он вам не нужен, просто выгрузьте модуль и всё (для tcp пакетов после этого можно будет отслеживать состояние с помощью флага SYN).

spirit ★★★★★
()
Ответ на: комментарий от anonymous

Прамяти под conntrack требуется не много, но ваши высказывания как-то не вяжутся вместе "И это при том что в iptables вообще ни одного правила нет" и "nat с ним перестаёт работать" дак вам нужен nat или нет? В Линуксе NAT базируется на conntrack и по другому не получится.

>У меня i386, боюсь, не выдержит...

Что, даже Pentium'а не нашлось? А сколько памяти то всего? И какие задачи должна решать эта машинка?

mky ★★★★★
()
Ответ на: комментарий от mky

> но ваши высказывания как-то не вяжутся вместе да, ошибся, nat на сервере есть.

> Что, даже Pentium'а не нашлось? Я про архитектуру i386, там больше 2-3гигов под память ядра не отдашь.

Да ничего тачка особого не делает. Но посмотрел на другую а там 141 тыща контраковских стейтов в момент минимальной нагрузки.

Моя основная мысль то что нерационально это мониторить всё подряд. Вот с моего сервера люди время синкают. И 10000 стейтов при этом создают. Какой смысл в них? Мне не жалко памяти/проца, мне просто кажется что это нерационально. Во фре такого нет :). Хотя и тут можно при помощи NOTRACK что-то порулить, но тогда это nat поломает.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.