oborot.bolta Posted May 12, 2017 · Report post А для чего нужно: ********************************************* +; через какое время делать редирект (секунды) ;period = 1800 +; количество редиректов, если 0 - не ограничено +;repeat = 0 ********************************************* И также что дает вот это: ********************************************* ;notify_enabled = true ; Формат файла ip/mask @group_id, где group_id группа оповещения. Например: ; 192.168.0.0/24 @0 ; 10.0.0.0/24 @0 ; 10.20.0.0/24 @1 ;notify_acl_file = /usr/local/etc/extfilter/notify_acl ;cli_port = 9999 ;cli_address = 127.0.0.1 ; Группа оповещения 0 ;[notify 0] ;http_code = 302 Found ;redirect_url = http://announce.example.com/? ;rst_to_server = false ;period = 1800 **************************************************** Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Antares Posted May 12, 2017 · Report post А для чего нужно: ********************************************* +; через какое время делать редирект (секунды) ;period = 1800 +; количество редиректов, если 0 - не ограничено +;repeat = 0 ********************************************* И также что дает вот это: ********************************************* ;notify_enabled = true ; Формат файла ip/mask @group_id, где group_id группа оповещения. Например: ; 192.168.0.0/24 @0 ; 10.0.0.0/24 @0 ; 10.20.0.0/24 @1 ;notify_acl_file = /usr/local/etc/extfilter/notify_acl ;cli_port = 9999 ;cli_address = 127.0.0.1 ; Группа оповещения 0 ;[notify 0] ;http_code = 302 Found ;redirect_url = http://announce.example.com/? ;rst_to_server = false ;period = 1800 **************************************************** Дополнительно присутствует функция оповещения, которая позволяет информировать пользователей путем периодической переадресации на нужную страницу. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
RadioSintetica Posted May 12, 2017 (edited) · Report post подтверждаю: последний фильтр просто не работает. ни при коре - = 7, ни при 29, никак. На все выдает "Fatal Application - No cores defined in the configuration file" А - сорри - сам идиот) Edited May 12, 2017 by RadioSintetica Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
myth Posted May 14, 2017 · Report post А никто к *filter минюст не прикручивал? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted May 14, 2017 · Report post Проблема не прикрутить, а получить этот самый список в нормализованном виде. Это только вручную. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
myth Posted May 14, 2017 · Report post Хотелось бы видеть это в виде отдельного файла (отличного от имеющегося блэклиста) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
oborot.bolta Posted May 16, 2017 · Report post Коллеги, так и не понятно про ;notify_enabled = true Что это и для чего надо! Это для разных пулов src ip адресов разная страничка блокировки, или что? ;cli_port = 9999 ;cli_address = 127.0.0.1 Это управление чем? ;period = 1800 это переодичность чего? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
max1976 Posted May 16, 2017 · Report post Коллеги, так и не понятно про ;notify_enabled = true Что это и для чего надо! Это для разных пулов src ip адресов разная страничка блокировки, или что? Это функционал информирования, например, можно выполнить какое-то оповещение абонентов или рекламировать дополнительные услуги. ;cli_port = 9999 ;cli_address = 127.0.0.1 Это управление чем? Управление и статистика extfilter. ;period = 1800 это переодичность чего? Относится к информированию абонентов. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
oborot.bolta Posted May 16, 2017 · Report post ;cli_port = 9999 ;cli_address = 127.0.0.1 Это управление чем? Управление и статистика extfilter. а какие команды есть в CLI? и нет ли возможности сделать как у карбона, чтоб на момент перечитывания конфига, и других действий, он на запросы от МФИшной коробке слал RST. (соответственно при указаном в конфиге IP адресе коробки). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
myth Posted May 16, 2017 · Report post if($domains_file_hash ne $domains_file_hash_old || $urls_file_hash ne $urls_file_hash_old || $ssl_host_file_hash ne $ssl_host_file_hash_old) { $logger->debug("Restarting nfqfilter..."); system("/sbin/iptables -A FORWARD -s 192.168.30.4 -j DROP"); sleep 3; system("/bin/systemctl", "restart","nfqfilter"); sleep 10; system("/sbin/iptables -D FORWARD -s 192.168.30.4 -j DROP"); if ( $? == -1 ) { $logger->error("Nfqfilter restart failed: $!"); } else { $logger->info("Nfqfilter successfully restarted!"); } } Проблема то, блин... 192.168.30.4 - адрес коробки для extfilter будет аналогично Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
oborot.bolta Posted May 17, 2017 · Report post Проблема то, блин... 192.168.30.4 - адрес коробки для extfilter будет аналогично ExtFilter на зеркальном порту, что ему дропать то? Там в iptables ни чего не попадает. Вот сделать бы чтоб он на все TCP сессии от коробки на 80 и 443 порт, на время рестарта или там обслуживания слал RST Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
max1976 Posted May 17, 2017 · Report post и нет ли возможности сделать как у карбона, чтоб на момент перечитывания конфига, и других действий, он на запросы от МФИшной коробке слал RST. (соответственно при указаном в конфиге IP адресе коробки). В этом нет необходимости. Загрузка обновленных данных осуществляется без перерывов в работе. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
myth Posted May 17, 2017 · Report post ExtFilter на зеркальном порту, что ему дропать то? Там в iptables ни чего не попадает. ну да, логично, я об этом не подумал Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
oborot.bolta Posted May 17, 2017 · Report post Раскоментировал строчки: ;cli_port = 9999 ;cli_address = 127.0.0.1 посмотрел, а extFilter не фига не слушает 9999 порт. :( Этот функционал еще не реализован? ExtFilter на зеркальном порту, что ему дропать то? Там в iptables ни чего не попадает. ну да, логично, я об этом не подумал А про коробку ревизора, для nfqfilter надо внести в конфиг и в код строки - полезная функция! Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
max1976 Posted May 17, 2017 · Report post ;cli_port = 9999 ;cli_address = 127.0.0.1 посмотрел, а extFilter не фига не слушает 9999 порт. :( Этот функционал еще не реализован? Реализован и работает. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
oborot.bolta Posted May 17, 2017 (edited) · Report post Реализован и работает. просто я раскоментировал эти две строчки, перезапустил extFilter, попробовал: telnet 127.0.0.1 9999 не вышел аленький цветочек! netstat -ntpl не увидел сокета на 9999 порту. Пересобрад extfilter (взял текущий) - и снова тишина. текущий конфиг: lower_host = true domainlist = /usr/local/etc/extfilter/domains urllist = /usr/local/etc/extfilter/urls ssllist = /usr/local/etc/extfilter/ssl_host sslips = /usr/local/etc/extfilter/ssl_ips http_redirect = true redirect_url = http://109.236.240.246/ http_code = 302 Found url_additional_info=none rst_to_server = true statistic_interval = 300 match_url_exactly = false block_undetected_ssl = false core_mask = 7 statisticsfile = /var/run/extFilter_stat [port 0] queues = 0,1; 1,2 cli_port = 9999 cli_address = 127.0.0.1 [logging] loggers.root.level = information loggers.root.channel = fileChannel channels.fileChannel.class = FileChannel channels.fileChannel.path = /var/log/extFilter.log channels.fileChannel.rotation = 1 M channels.fileChannel.purgeCount = 4 channels.fileChannel.archive = timestamp channels.fileChannel.formatter.class = PatternFormatter channels.fileChannel.formatter.pattern = %Y-%m-%d %H:%M:%S.%i [%P] %p %s - %t channels.fileChannel.formatter.times = local Edited May 17, 2017 by oborot.bolta Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
max1976 Posted May 17, 2017 · Report post Так и будет, т.к. вы внесли cli_port = 9999 cli_address = 127.0.0.1 в секцию [port 0]. Вставьте данные параметры выше [port 0], тогда будет работать как надо. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
oborot.bolta Posted May 17, 2017 · Report post Так и будет, т.к. вы внесли cli_port = 9999 cli_address = 127.0.0.1 в секцию [port 0]. Вставьте данные параметры выше [port 0], тогда будет работать как надо. тогда наверное надо еще в https://github.com/max197616/extfilter/blob/master/etc/extfilter.ini внести это Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Rick Posted May 17, 2017 (edited) · Report post Всем привет! Сегодня попробовал поставить версию 0.62. Запустилось только с одной очередью на порту: [port 0] queues = 0,1 При queues = 0,1; 1,2 вылетает с ошибкой: EAL: Detected 4 lcore(s) EAL: Probing VFIO support... EAL: PCI device 0000:06:00.0 on NUMA socket -1 EAL: probe driver: 8086:10d3 net_e1000_em Exception: Configuration error В логах ошибка : Error Application - Ivalid queue number: 1 Конфиг: ; Переводить имя хоста в прописные буквы. Если url_normalization установлен в true, то не имеет значения. lower_host = true domainlist = /usr/local/etc/extfilter/domains urllist = /usr/local/etc/extfilter/urls ssllist = /usr/local/etc/extfilter/ssl_host hostlist = /usr/local/etc/extfilter/hosts ; Файл с портами для nDPI. ;protocols = /usr/local/etc/extfilter/protos ; Список ip адресов/сетей для блокировки ssl если нет server_name в ssl hello пакете. Загружается если block_undetected_ssl = true. sslips = /usr/local/etc/extfilter/ssl_ips ; если false, то будет послан rst пакет вместо редиректа. Default: false http_redirect = true redirect_url = http://notify.example.com? ; HTTP код ответа. default: 302 Moved Temporarily http_code = 302 Found ; Что добавлять в redirect_url, line - строка из файла url, url - запрещенный url, none - ничего ;url_additional_info=line url_additional_info=none ; посылать tcp rst в сторону сервера от имени клиента. Default: false ;rst_to_server = false rst_to_server = true ; Default: 0 - disable statistic_interval = 300 ; Default: false match_url_exactly = false ; Default: false block_undetected_ssl = false ; Какие ядра использовать. Default: все ядра, кроме management. core_mask = 7 ; файл статистики (для extfilter-cacti) ;statisticsfile = /var/run/extFilter_stat ; mtu на интерфейсе для отправки пакетов в сторону абонентов. Default: 1500 ; out_mtu = 1500 ; Количество flow, обрабатываемых программой. Должно быть кратно 2. flowhash_size = 262144 ; количество тредов для отсылки уведомлений о блокировке ; num_of_senders = 1 ; делать ли нормализацию url ; url_normalization = true ; удалять ли точку в конце имени хоста ; remove_dot = true ; здесь задаются порты, с которых необходимо снимать трафик ; формат: ; [port n] ; queues = a,b; a1,b1... ; n - номер порта dpdk ; a - номер очереди ; b - ядро, обрабатывающее очередь a ; Пример: ;[port 0] ;queues = 0,1; 1,2 [port 0] queues = 0,1; 1,2 ;notify_enabled = true ; Формат файла ip/mask @group_id, где group_id группа оповещения. Например: ; 192.168.0.0/24 @0 ; 10.0.0.0/24 @0 ; 10.20.0.0/24 @1 ;notify_acl_file = /usr/local/etc/extfilter/notify_acl ;cli_port = 9999 ;cli_address = 127.0.0.1 ; Группа оповещения 0 ;[notify 0] ;http_code = 302 Found ;redirect_url = http://announce.example.com/? ;rst_to_server = false ; через какое время делать редирект (секунды) ;period = 1800 ; количество редиректов, если 0 - не ограничено ;repeat = 0 [logging] loggers.root.level = information ;loggers.root.level = debug loggers.root.channel = fileChannel channels.fileChannel.class = FileChannel channels.fileChannel.path = /var/log/extFilter.log channels.fileChannel.rotation = 1 M channels.fileChannel.purgeCount = 4 channels.fileChannel.archive = timestamp channels.fileChannel.formatter.class = PatternFormatter channels.fileChannel.formatter.pattern = %Y-%m-%d %H:%M:%S.%i [%P] %p %s - %t channels.fileChannel.formatter.times = local dpdk статус dpdk-devbind.py --status Network devices using DPDK-compatible driver ============================================ 0000:06:00.0 '82574L Gigabit Network Connection' drv=igb_uio unused=e1000e Network devices using kernel driver =================================== 0000:03:00.0 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller' if=enp3s0 drv=r8169 unused=igb_uio Other network devices ===================== <none> CPU: Intel® Core i7-4770 (hyper threading отключен) tuned.conf [main] include=latency-performance [bootloader] cmdline=isolcpus=1,2,3 default_hugepagesz=1G hugepagesz=1G hugepages=4 clocksource=hpet hpet_mmap Где я допустил ошибку ? Edited May 17, 2017 by Rick Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
oborot.bolta Posted May 17, 2017 · Report post Всем привет! Сегодня попробовал поставить версию 0.62. Запустилось только с одной очередью на порту: [port 0] queues = 0,1 При queues = 0,1; 1,2 вылетает с ошибкой: EAL: Detected 4 lcore(s) EAL: Probing VFIO support... EAL: PCI device 0000:06:00.0 on NUMA socket -1 EAL: probe driver: 8086:10d3 net_e1000_em Exception: Configuration error В логах ошибка : Error Application - Ivalid queue number: 1 Конфиг: ; Переводить имя хоста в прописные буквы. Если url_normalization установлен в true, то не имеет значения. lower_host = true domainlist = /usr/local/etc/extfilter/domains urllist = /usr/local/etc/extfilter/urls ssllist = /usr/local/etc/extfilter/ssl_host hostlist = /usr/local/etc/extfilter/hosts ; Файл с портами для nDPI. ;protocols = /usr/local/etc/extfilter/protos ; Список ip адресов/сетей для блокировки ssl если нет server_name в ssl hello пакете. Загружается если block_undetected_ssl = true. sslips = /usr/local/etc/extfilter/ssl_ips ; если false, то будет послан rst пакет вместо редиректа. Default: false http_redirect = true redirect_url = http://notify.example.com? ; HTTP код ответа. default: 302 Moved Temporarily http_code = 302 Found ; Что добавлять в redirect_url, line - строка из файла url, url - запрещенный url, none - ничего ;url_additional_info=line url_additional_info=none ; посылать tcp rst в сторону сервера от имени клиента. Default: false ;rst_to_server = false rst_to_server = true ; Default: 0 - disable statistic_interval = 300 ; Default: false match_url_exactly = false ; Default: false block_undetected_ssl = false ; Какие ядра использовать. Default: все ядра, кроме management. core_mask = 7 ; файл статистики (для extfilter-cacti) ;statisticsfile = /var/run/extFilter_stat ; mtu на интерфейсе для отправки пакетов в сторону абонентов. Default: 1500 ; out_mtu = 1500 ; Количество flow, обрабатываемых программой. Должно быть кратно 2. flowhash_size = 262144 ; количество тредов для отсылки уведомлений о блокировке ; num_of_senders = 1 ; делать ли нормализацию url ; url_normalization = true ; удалять ли точку в конце имени хоста ; remove_dot = true ; здесь задаются порты, с которых необходимо снимать трафик ; формат: ; [port n] ; queues = a,b; a1,b1... ; n - номер порта dpdk ; a - номер очереди ; b - ядро, обрабатывающее очередь a ; Пример: ;[port 0] ;queues = 0,1; 1,2 [port 0] queues = 0,1; 1,2 ;notify_enabled = true ; Формат файла ip/mask @group_id, где group_id группа оповещения. Например: ; 192.168.0.0/24 @0 ; 10.0.0.0/24 @0 ; 10.20.0.0/24 @1 ;notify_acl_file = /usr/local/etc/extfilter/notify_acl ;cli_port = 9999 ;cli_address = 127.0.0.1 ; Группа оповещения 0 ;[notify 0] ;http_code = 302 Found ;redirect_url = http://announce.example.com/? ;rst_to_server = false ; через какое время делать редирект (секунды) ;period = 1800 ; количество редиректов, если 0 - не ограничено ;repeat = 0 [logging] loggers.root.level = information ;loggers.root.level = debug loggers.root.channel = fileChannel channels.fileChannel.class = FileChannel channels.fileChannel.path = /var/log/extFilter.log channels.fileChannel.rotation = 1 M channels.fileChannel.purgeCount = 4 channels.fileChannel.archive = timestamp channels.fileChannel.formatter.class = PatternFormatter channels.fileChannel.formatter.pattern = %Y-%m-%d %H:%M:%S.%i [%P] %p %s - %t channels.fileChannel.formatter.times = local dpdk статус dpdk-devbind.py --status Network devices using DPDK-compatible driver ============================================ 0000:06:00.0 '82574L Gigabit Network Connection' drv=igb_uio unused=e1000e Network devices using kernel driver =================================== 0000:03:00.0 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller' if=enp3s0 drv=r8169 unused=igb_uio Other network devices ===================== <none> CPU: Intel® Core i7-4770 (hyper threading отключен) tuned.conf [main] include=latency-performance [bootloader] cmdline=isolcpus=1,2,3 default_hugepagesz=1G hugepagesz=1G hugepages=4 clocksource=hpet hpet_mmap Где я допустил ошибку ? этот адаптер поддерживает только одну очередь Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Rick Posted May 18, 2017 · Report post этот адаптер поддерживает только одну очередь Спасибо, нечто подобное предполагал, вы подтвердили. Тогда вопрос а насколько хватит одной очереди по производительности (если конечно возможно как-то оценить)? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
max1976 Posted May 18, 2017 · Report post этот адаптер поддерживает только одну очередь Спасибо, нечто подобное предполагал, вы подтвердили. Тогда вопрос а насколько хватит одной очереди по производительности (если конечно возможно как-то оценить)? Смотрите счетчик missed packets. Если он будет увеличиваться, тогда это означает что очередь пакетов переполняется из-за невозможности их быстрой обработки процессором. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Rick Posted May 18, 2017 · Report post Смотрите счетчик missed packets. Если он будет увеличиваться, тогда это означает что очередь пакетов переполняется из-за невозможности их быстрой обработки процессором. Спасибо, буду наблюдать. Насколько я понимаю при задействование cacti я это увижу на графике? И ещё вопрос: max1976 подскажите всё-таки какие в этой версии файлы необходимо подключать к extFilter-у: domainlist = /usr/local/etc/extfilter/domains urllist = /usr/local/etc/extfilter/urls ssllist = /usr/local/etc/extfilter/ssl_host hostlist = /usr/local/etc/extfilter/hosts -? (необходимо или нет) sslips = /usr/local/etc/extfilter/ssl_ips -? (необходимо или нет) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
max1976 Posted May 18, 2017 · Report post hostlist = /usr/local/etc/extfilter/hosts -? (необходимо или нет) Без него могут быть пропуски. sslips = /usr/local/etc/extfilter/ssl_ips -? (необходимо или нет) Только если у вас включена блокировка ssl по ip при отсутствии SNI. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Bl_cK Posted May 18, 2017 · Report post http://www.ispovednik.com./prilozhenie-no-1 http://purposechem.com./ мучюсь с разными remove_dot, ни один способ не помогает =\ Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...