Перейти до

Перегружать или нет?


Рекомендованные сообщения

Стоит ubilling, и вот заметил такую штуку, если сервер перегрузится (перепад питания, не всегда хватает бесперебойки или просто нужно перегрузить), то все клиенты которые отключены начинают получать интернет. Я понимаю, что не первый кто задаётся вопросов, но расскажите, как лечить это, если возможно конечно.

И ещё хотелось бы узнать, как редактировать шаблон распечатываемой квитанции, иногда надо чуть править, a мозгов не хватило найти где....

Відредаговано L1ght
Ссылка на сообщение
Поделиться на других сайтах

 

Что в качестве НАСов используется?

FreeBSD

так сложилась горькая судьба, что биллинг и нас в одной коробке

 

Значит у вас проблема в файрволе. Скорее всего при старте сервера не создаются начальные правила, блокирующие доступ всем.
Ссылка на сообщение
Поделиться на других сайтах

 

так сложилась горькая судьба, что биллинг и нас в одной коробке

/etc/firewall.conf покажите

 

 

И ещё хотелось бы узнать, как редактировать шаблон распечатываемой квитанции, иногда надо чуть править, a мозгов не хватило найти где....

Если о квитанциях на платежи, то можете посмотреть в config/printcheck.tpl

 

Поддерживаемые макросы описаны здесь.

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

 

 

так сложилась горькая судьба, что биллинг и нас в одной коробке

/etc/firewall.conf покажите

 

 

И ещё хотелось бы узнать, как редактировать шаблон распечатываемой квитанции, иногда надо чуть править, a мозгов не хватило найти где....

Если о квитанциях на платежи, то можете посмотреть в config/printcheck.tpl

 

Поддерживаемые макросы описаны здесь.

 

#!/bin/sh
 
# firewall command
FwCMD="/sbin/ipfw -q"
 
# Networks define
${FwCMD} table 2 add 10.10.10.0/21
${FwCMD} table 9 add xxx.xxx.xxx.xxx
 
${FwCMD} -f flush     
${FwCMD} nat 1 config log if re0 reset same_ports
${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) via re0
${FwCMD} add 6001 nat 1 ip from any to xxx.xxx.xxx.xxx via re0
 
#Shaper - table 4 download speed, table 3 - upload speed
${FwCMD} add 12000 pipe tablearg ip from any to table\(4\)
${FwCMD} add 12001 pipe tablearg ip from table\(3\) to any
#Banned
${FwCMD} add 12002 allow ip from me to table\(47\) 
 
# default block policy
${FwCMD} add 5 fwd 127.0.0.1,80 ip from table\(47\) to not me dst-port 80
${FwCMD} add 65530 allow all from any to any via lo0
${FwCMD} add 65531 allow all from any to any via em0
${FwCMD} add 65532 deny udp from table\(47\) to not any dst-port 80,53
${FwCMD} add 65533 deny tcp from table\(47\) to not any dst-port 80 

 

 

 

Да но всё дело в том, что 47 таблица после перезагруза пустая...

Убрать может "-f flush"?

 

Да и ещё возникла одна "неприятность". Когда через поиск ищешь есть пару человек которые отображаются по два раза. Но в мускуле они проходят один раз и больше не повторяются.

Відредаговано L1ght
Ссылка на сообщение
Поделиться на других сайтах

 

 

так сложилась горькая судьба, что биллинг и нас в одной коробке

/etc/firewall.conf покажите

 

И ещё хотелось бы узнать, как редактировать шаблон распечатываемой квитанции, иногда надо чуть править, a мозгов не хватило найти где....

Если о квитанциях на платежи, то можете посмотреть в config/printcheck.tpl

 

Поддерживаемые макросы описаны здесь.

 

#!/bin/sh

 

# firewall command

FwCMD="/sbin/ipfw -q"

 

 

# Networks define

${FwCMD} table 2 add 10.10.10.0/21

${FwCMD} table 9 add xxx.xxx.xxx.xxx

 

 

${FwCMD} -f flush     

 

${FwCMD} nat 1 config log if re0 reset same_ports

${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) via re0

${FwCMD} add 6001 nat 1 ip from any to xxx.xxx.xxx.xxx via re0

 

#Shaper - table 4 download speed, table 3 - upload speed

${FwCMD} add 12000 pipe tablearg ip from any to table\(4\)

${FwCMD} add 12001 pipe tablearg ip from table\(3\) to any

#Banned

${FwCMD} add 12002 allow ip from me to table\(47\) 

 

 

# default block policy

${FwCMD} add 5 fwd 127.0.0.1,80 ip from table\(47\) to not me dst-port 80

${FwCMD} add 65530 allow all from any to any via lo0

${FwCMD} add 65531 allow all from any to any via em0

${FwCMD} add 65532 deny udp from table\(47\) to not any dst-port 80,53

${FwCMD} add 65533 deny tcp from table\(47\) to not any dst-port 80 

 

 

 

 

 

Да но всё дело в том, что 47 таблица после перезагруза пустая...

Убрать может "-f flush"?

 

Да и ещё возникла одна "неприятность". Когда через поиск ищешь есть пару человек которые отображаются по два раза. Но в мускуле они проходят один раз и больше не повторяются.

 

У вас файрвол типа "разрешить всем кроме тех кому запрещено" (которые в таблице 47). А надо наоборот: "запретить всем кроме тех кому разрешено".
Ссылка на сообщение
Поделиться на других сайтах

 

Да но всё дело в том, что 47 таблица после перезагруза пустая...

Дело в том, что посмотрите как выглядит оригинальный firewall.conf из поставки UBinstaller и попытайтесь понять, чего вы пытались добиться натыкав повсюду где только можно allow all from any to any и убрав дефолтную политику блокирования пользователей.

Не закрадывается подозрений, что

# default block policy
${FwCMD} add 65533 deny all from table\(2\) to any via INT_IF
${FwCMD} add 65534 deny all from any to table\(2\) via INT_IF

сделан не просто так?

 

 

Когда через поиск ищешь есть пару человек которые отображаются по два раза. Но в мускуле они проходят один раз и больше не повторяются.

И где  how to reproduce bug?

ЗЫ еще и политику шейпинга двустрочную умудрились сговнить :facepalm:

Ссылка на сообщение
Поделиться на других сайтах

 

 

Да но всё дело в том, что 47 таблица после перезагруза пустая...

Дело в том, что посмотрите как выглядит оригинальный firewall.conf из поставки UBinstaller и попытайтесь понять, чего вы пытались добиться натыкав повсюду где только можно allow all from any to any и убрав дефолтную политику блокирования пользователей.

Не закрадывается подозрений, что

# default block policy
${FwCMD} add 65533 deny all from table\(2\) to any via INT_IF
${FwCMD} add 65534 deny all from any to table\(2\) via INT_IF

сделан не просто так?

 

 

Когда через поиск ищешь есть пару человек которые отображаются по два раза. Но в мускуле они проходят один раз и больше не повторяются.

И где  how to reproduce bug?

ЗЫ еще и политику шейпинга двустрочную умудрились сговнить :facepalm:

 

Може кому буде інтересно....

Я в себе зробив так щоб майже завжди таблиця 47 була актуальною. Кожні 30 хв в мене запускається php скрипт через cron, який зчитує ІР з таблиці 47 і отримавши дані переписує sh скрипт по шляху /usr/local/etc/rc.d/black_listt.sh, бо з цієї директорії виконуються всі скрипти при старті системи. Знаю що це рішення не супер, але ймовірність того що щось поміняється (якогось юзера скине в таблицю 47 і при цьому буде якийсь збій в електриці чи ше по чомусь - дуже мала ). Я в себе використовую табл 47 тільки для того щоб слати юзерів на сторінку дай бабла. 

Ссылка на сообщение
Поделиться на других сайтах

 

 

Да но всё дело в том, что 47 таблица после перезагруза пустая...

Дело в том, что посмотрите как выглядит оригинальный firewall.conf из поставки UBinstaller и попытайтесь понять, чего вы пытались добиться натыкав повсюду где только можно allow all from any to any и убрав дефолтную политику блокирования пользователей.

Не закрадывается подозрений, что

# default block policy
${FwCMD} add 65533 deny all from table\(2\) to any via INT_IF
${FwCMD} add 65534 deny all from any to table\(2\) via INT_IF

сделан не просто так?

 

 

Когда через поиск ищешь есть пару человек которые отображаются по два раза. Но в мускуле они проходят один раз и больше не повторяются.

И где  how to reproduce bug?

ЗЫ еще и политику шейпинга двустрочную умудрились сговнить :facepalm:

 

Я всё понимаю. Вопрос в другом. После ребута таблица №47 пустая. Как с этим быть?

Что я сговнил или не сговнил, как бы мои проблемы уже.

Ответьте сможете помочь или нет, а лечить мой маразм врачи будут.

Ссылка на сообщение
Поделиться на других сайтах

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

 

В медицине я не силен.

Ссылка на сообщение
Поделиться на других сайтах

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

 

В медицине я не силен.

Я и расчитываю, что в медицине вы не сильны. Я просто спросил, есть ли какой способ лечить это. Вот и всё. Спасибо за внимание.

Ссылка на сообщение
Поделиться на других сайтах

 

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

 

В медицине я не силен.

Я и расчитываю, что в медицине вы не сильны. Я просто спросил, есть ли какой способ лечить это. Вот и всё. Спасибо за внимание.

 

Очевидно есть. Вернуть файрвол в первозданный вид. Или написать свой. Какие проблемы с тем что есть у вас сейчас — я вам отвечал выше.
Ссылка на сообщение
Поделиться на других сайтах

L1ght,

у меня тогда вопрос: каким образом у вас реализован запрет на доступ в Инет для тех кто по мнению биллинга туда попадать не должны, если по дефолту они таки туда попадают? Или скрипт биллинга делает нечто вроде "deny all from <user> to any" для каждого должника?

Відредаговано Kucher2
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Очевидно есть. Вернуть файрвол в первозданный вид. Или написать свой. Какие проблемы с тем что есть у вас сейчас — я вам отвечал выше.

 

Да тех, кого нет в таблице с доступом в инет ничего не получают. Просто у меня редирект стоит по 47 табличке, что у пользователя нет денег на счету и тому подобное, после перегруза 47 таблица пустая. Вот в этом вся и дилемма. Да и в первозданный вид полностью не канает.

Меня уже упрекли в том, что сговнил шейпер двухстрочный, а дело в том, что прикручено туда mpd5 с пппое и правило вида via internal_if не режет им скорость.

L1ght,

у меня тогда вопрос: каким образом у вас реализован запрет на доступ в Инет для тех кто по мнению биллинга туда попадать не должны, если по дефолту они таки туда попадают? Или скрипт биллинга делает нечто вроде "deny all from <user> to any" для каждого должника?

Стоит редирект от должников на страничку с текстом нет бабок, всё остальное для должников закрыто.

Відредаговано L1ght
Ссылка на сообщение
Поделиться на других сайтах

 

Очевидно есть. Вернуть файрвол в первозданный вид. Или написать свой. Какие проблемы с тем что есть у вас сейчас — я вам отвечал выше.

Да тех, кого нет в таблице с доступом в инет ничего не получают. Просто у меня редирект стоит по 47 табличке, что у пользователя нет денег на счету и тому подобное, после перегруза 47 таблица пустая. Вот в этом вся и дилемма.

...

 

Да какая дилемма? Дилемма это когда сложно выбрать из двух вариантов. А у вас выбора даже нет.

Сделайте редирект не по 47-й табличке, делов-то...

Ссылка на сообщение
Поделиться на других сайтах

Когда-то делал эти редиректы на парковую... Но сейчас смысл? в ЮБ и так есть способ выкинуть пользователя на обочину (алиасами + dhcpd) или скриптовая сторона  (где-то уже обсуждалось на форуме ).

Ссылка на сообщение
Поделиться на других сайтах

Когда-то делал эти редиректы на парковую... Но сейчас смысл? в ЮБ и так есть способ выкинуть пользователя на обочину (алиасами + dhcpd) или скриптовая сторона  (где-то уже обсуждалось на форуме ).

Без файрвола оперативно выкинуть не получится.
Ссылка на сообщение
Поделиться на других сайтах

 

Когда-то делал эти редиректы на парковую... Но сейчас смысл? в ЮБ и так есть способ выкинуть пользователя на обочину (алиасами + dhcpd) или скриптовая сторона  (где-то уже обсуждалось на форуме ).

Без файрвола оперативно выкинуть не получится.

 

Само собой. Mожно подгружать скрипты проверки БД и выбрасывать пользователя с pf (fw) на алиас dhcp. Думаю способов это есть много, зависит только от глубины знаний настройки pf (fw), нагрузки и общих нужд.  

Ссылка на сообщение
Поделиться на других сайтах

 

 

Очевидно есть. Вернуть файрвол в первозданный вид. Или написать свой. Какие проблемы с тем что есть у вас сейчас — я вам отвечал выше.

Да тех, кого нет в таблице с доступом в инет ничего не получают. Просто у меня редирект стоит по 47 табличке, что у пользователя нет денег на счету и тому подобное, после перегруза 47 таблица пустая. Вот в этом вся и дилемма.

...

 

Да какая дилемма? Дилемма это когда сложно выбрать из двух вариантов. А у вас выбора даже нет.

Сделайте редирект не по 47-й табличке, делов-то...

 

Ладно, будем считать это решением.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від sanyadnepr
      Приветствую всех.
      Подскажите пожалуйста где копнуть и нет ли проблемы со стороны протокола взаимодействия сити24 или возможно не учтена необходимая проверка в модуле сити24 в Ubilling, пока писал понял что похоже в проверке payID, но это не точно.  
      Недавно обнаружилось с сити24 начали прилетать дубликаты платежей, в целом платежей мало, два одинаковых запроса Pay с одинаковым transactionID и payID в одну секунду одному платежному ID при этом биллинг "думает" примерно чуть больше минуты и отвечает одним ответом <result>0</result>, сити24 утверждает что ответ они не получили и по протоколу дальше повторяет запросы дублем, биллинг ответ и так по кругу, сити24 спрашивает каким образом с одинаковым payID от сити24 билл продолжает обрабатывать запросы и пополнять абоненту счет раз в 5 минут примерно, на одну и туже сумму, ведь этот payID уже был обработан предполагают сити24 согласно протоколу.
      Конечно есть вопрос к сити24 зачем они дублем присылают два запроса, но они отвечают что эта ситуация учтена в протоколе и проблема на стороне биллинга, потому что он пополняет счет по уже обработанному одинаковому payID.
      При этом transactionID в дублях одинаковый, но с каждым новым дублем разный.
      Если зафаерволить запросы от сити24, но оставить возможность отвечать то после блокировки билл отправляет 2-3 минуты 6 ответов <account>0001</account>  <result>0</result>.
      После снятия блокировки, дубли и платежи нескольких проблемных абонентов прилетают так же по кругу, при этом и с некоторыми новыми пополнениями происходит аналогичная ситуация.
      В openpayz в платежах transactionID и не видно payID.
    • Від nightfly
      Ubilling 1.4.3 rev 9058 The Bladewood Grove
       
      Зміни в структурі БД. alter.ini: нові опції OPHANIMFLOW_ENABLED та OPHANIMFLOW_URLS котрі вмикають та керують інтеграцією з OphanimFlow. alter:ini: нова опція PHOTOSTORAGE_POSTPROCESSING, що вмикає післяобробку зображень при завантаженні в Сховище зображень. alter:ini: нова опція PHOTOSTORAGE_WATERMARK, що вмикає розміщення вотермарки на всіх зображеннях, що завантажуються. alter:ini: нова опція PHOTOSTORAGE_RECOMPRESS, що вмикає зміну компрессії завантажених зображень. alter:ini: нова опція PHOTOSTORAGE_AUTORESIZE, що вмикає автоматичне та лагідне масштабування зображень конячих розмірів. alter:ini: нова опція PHOTOSTORAGE_DRAWIMGINFO, що вмикає вдруковування в зображення відлагоджувальної інформації. alter.ini: нова опція ONDEMAND_CHARTS, що вмикає відкладене завантаження графіків завантаження користувацької смуги. userstats.ini: нова опція OPHANIM_ENABLED, що вмикає інтеграцію OphanimFlow в кабінеті користувача. Модуль Заздрість: тепер авторизаційні дані пристроїв, не відображаються в списку пристроїв. Модуль “Заздрість”: при створенні та редагуванні пристроїв, для полів “пароль” та “enable пароль” тепер використовуються інпути паролів. Модуль “Заздрість”: заздрісним пристроям додано нове поле “Порт”. Тепер в скриптах можна використовувати, відповідний макрос {PORT}. Модуль “Статистика трафіку користувача”: проведено радикальний рефакторинг. Модуль “Статистика трафіку користувача”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Статистика трафіку користувача”: виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Модуль “Статистика трафіку користувача”: додано можливість відображення графіків за останню годину з OphanimFlow. Модуль “Користувачі”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Сховище зображень”: тепер додатково перевіряє завантажувані зображення на тему їх валідності. Модуль “Фінансові операції”: виправлено відображення суми платежів користувача. Remote API: новий виклик ophanimtraff, який просто бере і синхронізує локальну БД з віддаленими джерелами OphanimFlow. Remote API: виклик userbynum тепер також опційно містить поле з “Платіжним ID” користувача. Глобально: у всіх полях вводу паролів, окрім форми входу, тепер відображається елемент керування “показати/приховати” пароль. Кабінет користувача: в модулі “Трафік” додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Кабінет користувача: в модулі “Трафік” виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Кабінет користувача: в модулі “Відеоспостереження” для NVR WolfRecorder замінено розділювач попередньо заповнених даних авторизації. OpenPayz: додано frontend portmonemulti, для отримання платежів від різних контрагентів. Інформацію по контрагентам бере з біллінгу, також використовую розширену інформацію контрагента. Платіжна система в контрагенті мусить бути створена, як PORTMONE 1984tech: додано функціонал генерації RPZ для isc-bind, спасибі @misterromanbush  
      Повний чейнджлог
      Оновлена демка
       

    • Від mac
      Здається, після оновлення PHP 7.4 до PHP 8.2 feesharvester припинив працювати:
       
      /usr/local/bin/curl "http://127.0.0.1/billing/?module=remoteapi&key={SERIAL}&action=feesharvester" <br /> <b>Fatal error</b>: Uncaught TypeError: Unsupported operand types: string - string in {UBPATH}/billing/api/libs/api.fundsflow.php:570 Stack trace: #0 {UBPATH}/billing/modules/remoteapi/feesharvester.php(22): FundsFlow-&gt;harvestFees('2024-01') ...  
      Невеличке розслідування врешті з'ясувало, що це через наявність пробілу у деяких логінах абонентів. Як так сталося? Тому що інколи був неуважно додан трейлінг пробіл до номеру будинка і цей пробіл потрапив до логіну абоненту. Логін абоненту неможливо змінити ніяким чином штатними засобами. Я не розглядаю створення нового абонента для усунення помілки.

      Був обран такий шлях вирішення проблеми. Заміну функції php explode() знайшов у мережі. Мабуть це станеться в нагоді:

       
      diff api.fundsflow.php.bak api.fundsflow.php.new 559c559 < $eachfee = explode(' ', $eachline); --- > $eachfee = preg_split("~(?<!\\\\)(?:\\\\{2})*'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(*SKIP)(*F)|\s+~s" , $eachline);  
    • Від Dilan
      Собственно ищу кто сделает такую связку с нуля под ключ. Тз высылаю в личку. Заранее спасибо.
    • Від ukrtelekom
      Доброго часу!
      Шукається адміністратор віддалений для разової роботи по коригуванню працюючого Ubilling з мікротами. Якщо стосунки зклєяться- то до постійної додаткової копійки. 
      Всім заздалегідь дякую. Хейти, бажано не писати. Контакти в приватні повідомлення або O73283344O
×
×
  • Створити нове...