pipe
Как заставить rfw передергивать правила при переходе на новый расчетный период у клиента.
Имеем:
Клиент, Тариф-128
table 2
IP_клиента
table 3
IP_клиента
на след период клиент хочет 256
должны:
по наступлению расчетно периода,
удалить его из 2 и 3ей таблицы и добавить в 4, 5.
Но этого не происходит.
Это произойдет только если выключить инет в личном кабинете, а затем включить.
Передергивание всего rfw раз в сутки - не предлагать.
Имеем:
Клиент, Тариф-128
table 2
IP_клиента
table 3
IP_клиента
на след период клиент хочет 256
должны:
по наступлению расчетно периода,
удалить его из 2 и 3ей таблицы и добавить в 4, 5.
Но этого не происходит.
Это произойдет только если выключить инет в личном кабинете, а затем включить.
Передергивание всего rfw раз в сутки - не предлагать.
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23
вот сколько смотрел я на смену рсчетного периода - видел регулярно. что биллинг блокирует абонента на момент смены тарифа/РП. А потом разблокирует, если деньги есть.Соотв и инетом он дергает. Пришлось даже костыль писать, чтоб передергивать статус инета у всех, у кого плюс на счету и выключен инет. иначе постоянно звонили по поводу "подключились и не работает ничо"
При смене тарифного плана по окончанию расчетного периода, происходит передергивание интернета, НО:
Пример:
расчетный период 00:00 - 00:02
Действующий тарифный план "Анлим - 1Мбит"
Следующий тарифный план "Анлим - 2 Мбит"
в 00:02 происходит следующее:
выключение происходит по правилу "Анлим - 1"
включение инета также происходит по правилу "Анлим - 1 Мбит"
Как ей объяснить, что в связи со сменой расчетного периода, включать надо правилом от "Анлим - 2 Мбит"?
Пробовал в скрипте после выключения поставить sleep не помогло, похоже она изначально запоминает что раз выключила анлим-1, то им и должна включить. Как обойти без сторонних скриптов?
При смене тарифа с Анлим -1 на Анлим - 2 происходит следующее:
Пример:
расчетный период 00:00 - 00:02
Действующий тарифный план "Анлим - 1Мбит"
Следующий тарифный план "Анлим - 2 Мбит"
в 00:02 происходит следующее:
выключение происходит по правилу "Анлим - 1"
включение инета также происходит по правилу "Анлим - 1 Мбит"
Как ей объяснить, что в связи со сменой расчетного периода, включать надо правилом от "Анлим - 2 Мбит"?
Пробовал в скрипте после выключения поставить sleep не помогло, похоже она изначально запоминает что раз выключила анлим-1, то им и должна включить. Как обойти без сторонних скриптов?
Код: Выделить всё
id =22
Включение:
Название тарифа: "Безлимитный-1000"
Выполнять при:
включение/изменение состояния блокировки/изменение пользователя/изменение связи ип-траффик
и добавил правило: 11 UIP
где 11:
if ( $cmd == 11) {
`/sbin/ipfw table 10 add $ARGV[1] 10`;
`/sbin/ipfw table 11 add $ARGV[1] 11`;
exit 0; }
Код: Выделить всё
id =23
Включение:
Название тарифа: "Безлимитный-2000"
Вполнять при:
включение/изменение состояния блокировки/изменение пользователя/изменение связи ип-траффик
и добавил Правило: 12 UIP, где 12:
if ( $cmd == 12) {
`/sbin/ipfw table 12 add $ARGV[1] 12`;
`/sbin/ipfw table 13 add $ARGV[1] 13`;
exit 0; }
Код: Выделить всё
Выключение:
id = 24
Выполнять при: Выключение/Изменение связи IP-траффик
Правило firewall: 5 UIP
if ( $cmd == 5) {
`/sbin/ipfw table 1 delete $ARGV[1]`;
......... (по аналогии убиваются адреса во всех таблицах)
`/sbin/ipfw table 15 delete $ARGV[1]`;
exit 0; }
Код: Выделить всё
?Debug : Sep 22 13:21:35 FWCntl: Executing FW rule: 5 172.16.99.150 is done.
?Debug : Sep 22 13:21:35 StreamFirewall: Got 'exec' command...
?Debug : Sep 22 13:21:35 FWCntl: Waiting second child process ... second child pid <97408>
?Debug : Sep 22 13:21:35 FWCntl: Executing command </opt/svs/cmductl>
?Debug : Sep 22 13:21:35 FWCntl: Second child process <97408> exited with status <0>
?Debug : Sep 22 13:21:35 FWCntl: Executing FW rule: 11 172.16.99.150 is done.
- Lex
- NetUP Team
- Сообщения: 623
- Зарегистрирован: Ср мар 09, 2005 12:12
- Откуда: НетАП
- Контактная информация:
Выключение интернет при смене тарифного плана должно происходить по старому тарифу, а включение - уже по новому. Если это не так, напишите багрепорт - посмотрим.kirush писал(а): Пример:
расчетный период 00:00 - 00:02
Действующий тарифный план "Анлим - 1Мбит"
Следующий тарифный план "Анлим - 2 Мбит"
в 00:02 происходит следующее:
выключение происходит по правилу "Анлим - 1"
включение инета также происходит по правилу "Анлим - 1 Мбит"
Как ей объяснить, что в связи со сменой расчетного периода, включать надо правилом от "Анлим - 2 Мбит"?
- Lex
- NetUP Team
- Сообщения: 623
- Зарегистрирован: Ср мар 09, 2005 12:12
- Откуда: НетАП
- Контактная информация:
Суть 1334 ясна, дополнительной информации не требуется. Решение данной проблемы, скорее всего, войдет в 5.2.1-007-update4.kirush писал(а):Готовы провести диагностику бага за наш счет.
Если возможно оперативно, так, как ввели новые тарифы и он всплыл ;(
все контактная информация в баг-информации.
Баг принят: mantis id 1334.
Включение-выключение - это открытие-закрытие сессии?mazay писал(а): включение:выключение:Код: Выделить всё
table 2 add UIP/UBITS
и так для всех таблицКод: Выделить всё
table 2 delete UIP/UBITS
Если ставлю на сессию, то биллинг прописывает в таблицу 0.0.0.0/32
Правильно прописывает IP, если ставить на включение интернета. Но это не то совсем.

Сейчас разрешение на сессию даётся включение трубы для абонента - тоже не удобно, при перезагрузке сервака надо включать-выключать интернет, чтоб правила создались. По включению сессии в правилах тоже нули пишет вместо IP. Правильно только пайпы саздает.
