Документирование КоСиКУЛС БЕССТ. Компонента "сетевой фильтр"  
  История  


Эти материалы являются объектом авторского права и защищены законами РФ и международными соглашениями о защите авторских прав. Перед использованием материалов вы обязаны принять условия лицензионного договора на использование этих материалов, или же вы не имеете права использовать настоящие материалы

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



3.22 - cgi: ipstat:         - ipstat3 переименован в ipstat, в т.ч. внутри кода в ссылках на форму
                            - возвращаемый тип кодировки CGI страницы изменен с windows-1251 на utf-8
            ipstat_reports: - возвращаемый тип кодировки CGI страницы изменен с windows-1251 на utf-8
            ipruleslog:     - возвращаемый тип кодировки CGI страницы изменен с windows-1251 на utf-8
            
3.21 - cgi: ipstat_reports: исправлен баг, обусловленный тем, что для SNAT трафика при получении отчётов по локальной сети нужно 
                            считать входящий трафик как исходящий и наоборот
            ipruleslog:     добавлен вывод ТОЛЬКО последних 5000 строк журнала
       getUlogPgSQL:        добавлена подстановка нуля как маскимального значения "среза" таблицы коллектора - если таблица пуста
       iprules:             инициализация антиспуфинга проводится теперь в процессе обработки секции filter - чтобы
                            не блокировать правилами работу секций, отличных от секции все адресаты 0.0.0.0
			    ранее это решалось тем, что у секции все адресаты выставлялся тип интерфейса - динамический
			    нововведение не привело к потере какой-лобо функциональность, но оптимизировало последовательность правил

3.20 - cgi: ipstat:         добавлена коррекция максимального дня месяца в условиях диапазонов дат - PostgreSQL, в отличие от MySQL,
                            не понимает некорректные даты в SQL запросах
            ipstat_reports: добавлена коррекция максимального дня месяца в условиях диапазонов дат - PostgreSQL, в отличие от MySQL,
                            не понимает некорректные даты в SQL запросах
       ipstatOptimize:      создан новый оптимизатор базы статистики IP трафика для postgreeSQL
       
3.19 - cgi: ipstat: исправлена ошибка, добавляющая ненужную закрывающую скобку к условию выборки по конкретным IP адресам

3.18 - cgi: ipstat_reports: переписано с использованием оптимизированных вложенных запросов, что ускоряет обработку
                            и существенно упрощает код
            ipstat:         добавлен типовой фон заголовков для таблицы с результатами запросов
       getUlogPgSQL:        модуль переписан так, что агрегация данных коллектора статистики производится внутри 
                            транзакции без выгрузки промежуточных данных во временные файлы
       db:                  структура таблиц изменена 
                            - в последовательности коллектора статистики выставлено максимальное значение, не превышающее 
			    максимальной величины используемого в исходных кодах Ulogd типа поля integer
			    - последовательность коллектора статистики сделана цикличной, что предотвратит переполнение, но
			    при этом возможна разовая потеря статистики в момент перехода на начало (при обработке таблицы
			    коллектора) - она может быть значительной или нет - от ширины канала и скорости потока в момент обработки
			    - из таблицы ulog_summator поле id удалено за ненадобностью, как и его последовательность
			    seq_ulog_summator

3.17 - cgi: ipstat:            добавлена функция форматирования сумм в отчётах (отделение разрядов)
       cgi: extmnstat_persect: ipstat_reports: переименован в ipstat_persection и потом в ipstat_reports
                               добавлена функция форматирования сумм в отчётах (отделение разрядов)
			       добавлен выбор параметров перед отработкой собственно запроса

3.16 - глобальные изменения - перевод на использование PostgreeSQL
       extmnstat_persect: новый предустановленный отчёт для PostgreeSQL - выдает внешний трафик в разрезе 
                          по конфигурационным секциям
       ulog:              перенастроен для укладывания данных и в MySQL, и в PostgreeSQL
       cgi: ipstat:       переписан для использования с PostgreeSQL
       getUlogPg:         создан модуль обработки коллектора на основе PostgreeSQL 
                          (в модуле исправлена досадная неточность, $protocol=$ip_protoloc вместо ip_protocol. 
			  В модуле для MySQL она осталась, но это несущественно для данной сферы применения ... 
			  вот если бы был GRE ...)
       iprules:           добавлены опции, снимающие на ULOG неполную длину пакетов для протоколов tcp и udp, 
                          но вполне достаточную для получения нужной статистики - что разгружает камень

3.15 - cgi: ipstat: полностью переписан "с нуля"
       ulog:        перенастроен для обработки только начального отрезка пакетов (заголовков сетевого и транспортного
                    уровней), что достаточно для получения интересующей статистической информации. Требует перенастройки
		    на использование только в протоколах TCP и UDP. Существенно разгружает коллектор и позволяет
		    решить проблемму ограничения учитываемой ширины канала

3.14 - сайт: обновлен дизайн модулей WEB консоли

3.13 - сайт: добавлена секция технологического описания на www странице решения
             добавлено описание конфигурационного файла конфигуратора

3.12 - коллектор getUlogMySQLData :       опции цели ULOG изменены - ulog-qtreshold=50 (было 1) и ulog-cprange=0 (не было вообще)
       опции модуля ядра ipt_ULOG :       в modules.conf и modprobe.conf добавлена строка "options ipt_ULOG nlbufsiz=128000 flushtimeout=1000"    
       конфигурация ulogd :               изменены параметры буферов, теперь rmem=1024000 и bufsize=12048000 (было по умолчанию)
       cgi: extmnstat, intmnstat, : cgi : восстановлена выборка из конфига ушедшей куда то прерменной baseURL, потерявшаяся
            ipstat, ipruleslog            после версии 3.4
       
3.11 - конфигуратор ipRules:  добавлен обработчик правил state: ESTABLISHED,RELATED трассировщика 
                              состояний (conntrack), что, в частности, позволяет разрешить работу с FTP, 
			      не открывая все порты локальному пользователю 
       конфигурационный файл: добавлены опции isConntrackEnable и isConntrackFtp в секциях правил
       
3.10 - cgi: cgi-скрипты перенастроены на использование БД billing

3.9 - коллектор getUlogData: появилась первая версия коллектора для ULOG, выбирающая данные
               переименован  из формируемого ulogd !!!файла!!!, что может потребоваться для
	      в getUlogFile  корректного сбора статистики на малопроизводительных нагруженных файл-серверах,
			     т.к. используемый в КоСиКУЛС БЕССТ по умолчанию механизм сбора статистики
			     в MYSQL базу протормаживает такие системы и теряет часть статистики
			     
      коллектор getUlogData: появилась первая версия коллектора ipcad, умеющего собирать статистику 
			     с различных механизмов (в linux - ULOG и LIBPCAP), а также умеющего 
			     самостоятельно группировать данные по входящими исходящим адресам и портам
			     в памяти, что позволяет разгрузить систему ввода вывода по сравнению с ULOG
			     
      коллектор getAcctData: стандартный ULOG коллектор переименован в getUlogMySQL
      
                       база: введено имя единая MySQL базы для КоСиКУЛС БЕССТ - cosiculs, все таблицы 
		             статистики ip трафика перенесены в нее и переименованы так:
			     ulog -> ulog
			     cntRecords -> ulogstats
			     tmprecords -> ulogfromfile
			     ipcad -> ipcadstats

3.8 - конфигуратор ipRules:  внутрь модуля добавлена переменная, указывающая дополнительные параметры ULOG
                             также в идентификатор журналирования добавлен PID процесса
      коллектор getAcctData: причесано журналирование обработки коллектора текущей статистики
                             как в ipRules

3.7 - коллектор getAcctData: добавлен контроль запуска только одной копии

3.6 - service:               добавлена первая версия оптимизатора базы ip статистики

3.5 - конфигуратор ipRules:  - заменены идетнификаторы "черных" списков в конфиге - на "blacklist"
                             - пофиксена необработка секции типа при наличии только 1 секции любого типа в конфиге
      коллектор getAcctData: - добавлен корректный идентификатор журналирования - аналогично конфигуратору
      cgi:                   - изменены обработчики в соответствии с изменением идентификаторов "черных" списков в конфиге  

3.4 - конфигуратор ipRules:  - система перенесена в каталоги /usr/local/cosiculs, /var/log/cosiculs
      коллектор getAcctData: - система перенесена в каталоги /usr/local/cosiculs, /var/log/cosiculs
                             - настроен вывод в журнал, указанный в конфиге
      cgi:                   - система перенесена в каталоги /usr/local/cosiculs, /var/log/cosiculs
                             - добавлена форма просмотра журнала

3.3 - конфигуратор ipRules:  - добавлен вывод сообщений инициализации в файл журнала
                             - добавлено объявление численной сортировки в сортировку секций - может и неверно, 
		               ведь там строка, но по выводу отладочного print - все сортирует корректно ...
      
3.2 - конфигурационный файл: - добавлены опции common->confVersion и секции sanity
      конфигуратор ipRules:  - в обработчик конфига добавлена обработка новых полей и секций, 
                               теперь выводится версия
                             - написан инициализатор секций sanity, 
      cgi:                   - в построитель запросов добавлена обработка данных "черного списка"
                             - в предустановленном запросе внутреннего трафика убрана фильтрация 
			       по сети - есть фильтр по префиксу
	                     - в предустановленных запросах добавлен обсчет "черных" списков
                             - нужно дописать форму для редактирования черных списков

3.1 - cgi/extmnipstat: установлено выравнивание справа для отображения объема трафика
                       откорректированы заголовки web-форм, теперь они правильно говорят, что это версия 3.x

3.0 - mysql: добавлена таблица для демона ulogd
      коллектор getAcctData: модуль переписан полностью с нуля
      cgi: изменено имя базы, теперь это ulogd



(C) Белонин С.С., 2000-2024. Дата последней модификации страницы:2019-12-04 00:43:27