LINUX.ORG.RU
ФорумAdmin

уничтожить запись в ip_conntrack чем?


0

0

Возможно ли уничтожить запись в /proc/net/ip_conntrack о каком либо запомненном там соединении?

Надо, что бы биллинг (на счетчиках iptables) отключал клиента сразу по истечении средств на счету. Он то отключает (удаляет все -j ACCEPT на клиента, а так как POLICY = DROP, то новые соединения более не инициируются), но так как в файрволе присутствует запись разрешать все соединения established,releated, то все существующие соединения от клиента продолжают работать.

ПРиходится принудительно писать временное правило -s client -j REJECT

Но на мой взгляд более правильным вариантом было бы удалить все запомненные conntrack соединения клиента из net/ip_conntrack

Это возможно сделать?

anonymous

Попробовать написать скрипт который пропарсит твой файл (я думаю). Неужели нет другого способа?

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

Перезапускай iptables, но лучше поменять, чтоб когда деньги кончились даже не было правила для него estableshed, related. Иначе эту фигню можно обойти имея тачку в нете с внешним ip :-)) Удачи.

anonymous
()

А если поставить правило разрешающее established,related после правила для клиента?

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

Ну я имею ввиду, что надо написать скрипт, который будет запускаться послетого, как в принято решение об отрубе клиента, он-то и будет парсить файл, выискивать блокированные айпишники и удалять эти строки...

Мне только интересно, неужели нету более элегантного решения?

Benjamin
()

Невнимательно прочитал. Сделай цепочку для пользователей, в которой
последнее правило всегда ДРОП для всех пользователей и вставляй/удаляй
в ней ACCEPT, а правило для established,related сделай после этой цепочки.
Например:

$fw -N users-out
$fw -A users-out -j DROP

$fw -A INPUT -m tcp -p tcp --dport 8080 -j users-out
$fw -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

а потом, если надо:

$fw -I users-out 1 -s 192.168.1.234 -j ACCEPT

или

$fw -D users-out -s 192.168.1.234 -j ACCEPT

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

1. А разрешение работы пользователям разве должно находится в цепочке INPUT? Или это локальные пользователи?
2. Насколько я знаю, большинство файлов в /proc имеют смысл только при чтении и я сильно подозреваю, что удалять строки из /proc/net/ip_conntrack совершенно бессмысленно.
3. А так ли уж нужен этот ESTABLISHED,RELATED? Если уж очень хочется оптимизировать firewall - сделайте iptables -A FORWARD -i $INET_IFACE -o $LAN_IFACE -j ACCEPT первым правилом.

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

> А разрешение работы пользователям разве должно находится в цепочке INPUT?

Это для примера, можно и в любой другой.

slain
()
Ответ на: комментарий от Gelin

Я так вообще уже склоняюсь к мысли о том, чтобы перефигачить исходник IPTABLES, по крайней мере изначально меня неустраивало то, что прога сама форматирует кол-во скачанных кб (Kb, Mb, Gb, etc), пусть сама прога напрямую работает с БД, и все такое...

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

> кол-во скачанных кб (Kb, Mb, Gb, etc)

Это ты погорячился, man iptables на предмет --exact Ж)

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

Спасибо, slain.

Все заработало после поднятия цепочки авторизации пользователей выше правил established, как ты и говорил.

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