Такая проблема действительно есть в некоторых системах (знаю только две и обе линукс с iptables). В обоих случаях решилось дополнительным скриптом наподобие описанного в ФАК. Если не помогает просьба обратиться в хотлайн - видимо нужен индивидуальный подход.Mr.Black писал(а):ну на самом деле решите вопрос. сколько можно тепеть это. важноть данной фишки 30% от необходимости биллинга и её ни как не решите.
utm5_rfw+linux. Плодятся правила. Не отлючается интернет.
-
- Сообщения: 48
- Зарегистрирован: Пт янв 21, 2005 10:39
- Откуда: Санкт-Петербург
- Контактная информация:
Мало знаете. Это любая _нагруженная_ линукс-система. Просто вы никак не можете принять что существует определенная культура программирования, определяемая системой или используемым инструментарием. И сами сознательно создаете грабли, которые приходится обходить.aospan писал(а):Такая проблема действительно есть в некоторых системах (знаю только две и обе линукс с iptables). В обоих случаях решилось дополнительным скриптом наподобие описанного в ФАК. Если не помогает просьба обратиться в хотлайн - видимо нужен индивидуальный подход.Mr.Black писал(а):ну на самом деле решите вопрос. сколько можно тепеть это. важноть данной фишки 30% от необходимости биллинга и её ни как не решите.
Могу на спор повторить ситуацию с дублированием/недобавлением правил на любом линукс-дистрибутиве. И единственное чем придется поиграться - это (число пользователей в системе)*(число правил фаервола для каждого из них).
Если уж ведете подсчет - добавляйте в свой список Slackware и SuSE. Причем не одной конкретной версии, а как минимум по 2 последних.
UTM 5.1.10-008, SlackWare Linux, ipcad, FreeRadius, Apache 1.3.33, MySQL 4.0.21
На данный момент мой тикет висит в "хотлайне" 19 сут. 22 ч.
Сдвигов - нет. ЧТО ДЕЛАТЬ?
Шлюз на Slackware 10; Количество пользователей более 1300.
PS: Что бы хоть как то вырулить из ситуации в однолм направлении форвард разрешил всегда, закрывается только противоположное направление. Правила плодяться как кролики, скрипт спасает не всегда. Как было сказано выше правила плодятся там, где выполняется много правил - например пользователи с несколькими адресами.
PPS: Позвонил. Поговорил. Ждем очередной билд
Сдвигов - нет. ЧТО ДЕЛАТЬ?
Шлюз на Slackware 10; Количество пользователей более 1300.
PS: Что бы хоть как то вырулить из ситуации в однолм направлении форвард разрешил всегда, закрывается только противоположное направление. Правила плодяться как кролики, скрипт спасает не всегда. Как было сказано выше правила плодятся там, где выполняется много правил - например пользователи с несколькими адресами.
PPS: Позвонил. Поговорил. Ждем очередной билд

- kaN5300
- Сообщения: 480
- Зарегистрирован: Пт янв 21, 2005 17:27
- Откуда: Ыукзгрщм
- Контактная информация:
Аналогично:
Slackware Linux 10.1
Ситуация:
Переход на резервного провайдора при запущенной UTM-системе. Есть скрипт rc.firewall, содержащий такие строки:
Ну а дальше скажем для маскарадинга меняем ип, далее выходим из редактора и даем команду
Ну вот... А тем временем - модуль utm5_rfw у нас запущен. Iptables ставял по умолчанию DROP для цепочки FORWARD и всё - те юзеры, у которых стоит "Интернет включен" уже не имеют того самого интернета и приходится вывешивать в FAQ первым пунктом нечто вроде:
Slackware Linux 10.1
Ситуация:
Переход на резервного провайдора при запущенной UTM-системе. Есть скрипт rc.firewall, содержащий такие строки:
Код: Выделить всё
---cut---
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -F
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -F -t nat
---cut---
Код: Выделить всё
#/etc/rc.d/rc.firewall
Да, действительно - юзер идёт, включает, выключает и интернет у него работает - rfw дописывает нужные правила. А если таких юзеров 10k? А если они не кернел-хакеры, а васи пупкины то надо зайти в интерфейс админа и затем на каждого юзера нажать интернет включен и выключен - ну или наоборот. Почему бы не научить utm5_rfw отслеживать изменения в цепочках фильтра и если жизненно-важные правила для rfw вдруг пропали - он скажем перезагружается и сам вводит их заного?---cut---
A: Попробуйте зайти в статистику, а затем выключить интернет и заного включить
---cut---
Код: Выделить всё
#!/bin/bash
if [ "$2" == "on" ] || [ "$2" == "ON" ]; then
iptables -I FORWARD -s $1 -j ACCEPT > /dev/null 2>/dev/null;
exit 0;
fi
if [ "$2" == "off" ] || [ "$2" == "OFF" ]; then
iptables -D FORWARD -s $1 -j ACCEPT > /dev/null 2>/dev/null;
while [ "$?" == "0" ]; do
iptables -D FORWARD -s $1 -j ACCEPT > /dev/null 2>/dev/null;
done
fi
echo -n "";
-
- Сообщения: 3
- Зарегистрирован: Вт мар 22, 2005 18:04
Я решил проблему сл. образом:
написал 2 скрипта, которые одной строкой поставил в правила firewall со сл. параметрами: /netup/inet_open.sh UID UIP и соответственно /netup/inet_close.sh UID UIP
inet_open.sh
#!/bin/sh
iptables -N 'U'$1'_FWD'
iptables -F 'U'$1'_FWD'
iptables -A FORWARD -j 'U'$1'_FWD'
iptables -A 'U'$1'_FWD' -s $2 -d 0.0.0.0/0 -j ACCEPT
iptables -A 'U'$1'_FWD' -s 0.0.0.0/0 -d $2 -j ACCEPT
inet_close.sh
#!/bin/sh
iptables -F 'U'$1'_FWD'
iptables -D FORWARD -j 'U'$1'_FWD'
iptables -X 'U'$1'_FWD'
и соотв. rfw5.cfg
rfw_name=10.9.8.5
#sudo_path=
#shell_path=
firewall_path=/usr/bin/sudo
firewall_flush_cmd=/usr/sbin/iptables -F
core_host=10.9.8.3
core_port=11758
rfw_login=fire
rfw_password=pass
после этого дублирующихся цепочек не стало
написал 2 скрипта, которые одной строкой поставил в правила firewall со сл. параметрами: /netup/inet_open.sh UID UIP и соответственно /netup/inet_close.sh UID UIP
inet_open.sh
#!/bin/sh
iptables -N 'U'$1'_FWD'
iptables -F 'U'$1'_FWD'
iptables -A FORWARD -j 'U'$1'_FWD'
iptables -A 'U'$1'_FWD' -s $2 -d 0.0.0.0/0 -j ACCEPT
iptables -A 'U'$1'_FWD' -s 0.0.0.0/0 -d $2 -j ACCEPT
inet_close.sh
#!/bin/sh
iptables -F 'U'$1'_FWD'
iptables -D FORWARD -j 'U'$1'_FWD'
iptables -X 'U'$1'_FWD'
и соотв. rfw5.cfg
rfw_name=10.9.8.5
#sudo_path=
#shell_path=
firewall_path=/usr/bin/sudo
firewall_flush_cmd=/usr/sbin/iptables -F
core_host=10.9.8.3
core_port=11758
rfw_login=fire
rfw_password=pass
после этого дублирующихся цепочек не стало

Тоже вариант
Но как то плодить на каждый IP свою цепочку - это звиздец какой то... Адресов в базе, наверное, тысячи две. 
Наверное все таки авторы сертифицированный биллинговой системы должны все таки исправить ошибки и недоработки модуля? У меня нет никакого желания изучать freebsd, как мне посоветовали для решения это проблемы, только для того, что бы поставить на нем файрвол


Наверное все таки авторы сертифицированный биллинговой системы должны все таки исправить ошибки и недоработки модуля? У меня нет никакого желания изучать freebsd, как мне посоветовали для решения это проблемы, только для того, что бы поставить на нем файрвол
-
- Сообщения: 3
- Зарегистрирован: Вт мар 22, 2005 18:04
юзаю сейчас такой скрипт
(правила на включение сложные есть и -A -I)
Удаляет дубли и позволяет вернуться к команде включения если она не выполнилась успешно.
(у кого правила на включение только -A третью часть можно убрать)
#!/bin/sh
if [ "$1" == "-D" ]; then
while [ 1 ]
do
/sbin/iptables $* 2>/dev/null|| exit
done
elif [ "$1" == "-A" ]; then
while [ 1 ]
do
/sbin/iptables $* 2>/dev/null && exit
sleep 1
done
elif [ "$1" == "-I" ]; then
while [ 1 ]
do
/sbin/iptables $* 2>/dev/null && exit
sleep 1
done
fi
(правила на включение сложные есть и -A -I)
Удаляет дубли и позволяет вернуться к команде включения если она не выполнилась успешно.
(у кого правила на включение только -A третью часть можно убрать)
#!/bin/sh
if [ "$1" == "-D" ]; then
while [ 1 ]
do
/sbin/iptables $* 2>/dev/null|| exit
done
elif [ "$1" == "-A" ]; then
while [ 1 ]
do
/sbin/iptables $* 2>/dev/null && exit
sleep 1
done
elif [ "$1" == "-I" ]; then
while [ 1 ]
do
/sbin/iptables $* 2>/dev/null && exit
sleep 1
done
fi
Хотелось бы поднять эту тему что бы на нее все таки обратило руководство компании. Решение этой проблемы было обещано в релизе 008. До сих пор воз и ныне там. При чем в устном разговоре с сотрудником технической поддержки им было сказано что изменений в управлении файрволом не было с 006 билда.
Для техподдержки: Просьба не предлагать установку шлюзов на freebsd, прикручивания скриптов которые удаляют правила при их добавлении (т.к. это не решает проблему того, что правила были когда их быть не должно) и т.п. шаманских действий. Просьба не ссылаться на кривой и глючный линукс (это тоже слова сотрудников техподдержки).
Господа, решите, пожалуйста проблему вашего софта.
Для техподдержки: Просьба не предлагать установку шлюзов на freebsd, прикручивания скриптов которые удаляют правила при их добавлении (т.к. это не решает проблему того, что правила были когда их быть не должно) и т.п. шаманских действий. Просьба не ссылаться на кривой и глючный линукс (это тоже слова сотрудников техподдержки).
Господа, решите, пожалуйста проблему вашего софта.