oborot.bolta Posted May 12, 2017 Posted May 12, 2017 А для чего нужно: ********************************************* +; через какое время делать редирект (секунды) ;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
Antares Posted May 12, 2017 Posted May 12, 2017 А для чего нужно: ********************************************* +; через какое время делать редирект (секунды) ;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
RadioSintetica Posted May 12, 2017 Posted May 12, 2017 (edited) подтверждаю: последний фильтр просто не работает. ни при коре - = 7, ни при 29, никак. На все выдает "Fatal Application - No cores defined in the configuration file" А - сорри - сам идиот) Edited May 12, 2017 by RadioSintetica Вставить ник Quote
myth Posted May 14, 2017 Posted May 14, 2017 А никто к *filter минюст не прикручивал? Вставить ник Quote
alibek Posted May 14, 2017 Posted May 14, 2017 Проблема не прикрутить, а получить этот самый список в нормализованном виде. Это только вручную. Вставить ник Quote
myth Posted May 14, 2017 Posted May 14, 2017 Хотелось бы видеть это в виде отдельного файла (отличного от имеющегося блэклиста) Вставить ник Quote
oborot.bolta Posted May 16, 2017 Posted May 16, 2017 Коллеги, так и не понятно про ;notify_enabled = true Что это и для чего надо! Это для разных пулов src ip адресов разная страничка блокировки, или что? ;cli_port = 9999 ;cli_address = 127.0.0.1 Это управление чем? ;period = 1800 это переодичность чего? Вставить ник Quote
max1976 Posted May 16, 2017 Posted May 16, 2017 Коллеги, так и не понятно про ;notify_enabled = true Что это и для чего надо! Это для разных пулов src ip адресов разная страничка блокировки, или что? Это функционал информирования, например, можно выполнить какое-то оповещение абонентов или рекламировать дополнительные услуги. ;cli_port = 9999 ;cli_address = 127.0.0.1 Это управление чем? Управление и статистика extfilter. ;period = 1800 это переодичность чего? Относится к информированию абонентов. Вставить ник Quote
oborot.bolta Posted May 16, 2017 Posted May 16, 2017 ;cli_port = 9999 ;cli_address = 127.0.0.1 Это управление чем? Управление и статистика extfilter. а какие команды есть в CLI? и нет ли возможности сделать как у карбона, чтоб на момент перечитывания конфига, и других действий, он на запросы от МФИшной коробке слал RST. (соответственно при указаном в конфиге IP адресе коробки). Вставить ник Quote
myth Posted May 16, 2017 Posted May 16, 2017 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
oborot.bolta Posted May 17, 2017 Posted May 17, 2017 Проблема то, блин... 192.168.30.4 - адрес коробки для extfilter будет аналогично ExtFilter на зеркальном порту, что ему дропать то? Там в iptables ни чего не попадает. Вот сделать бы чтоб он на все TCP сессии от коробки на 80 и 443 порт, на время рестарта или там обслуживания слал RST Вставить ник Quote
max1976 Posted May 17, 2017 Posted May 17, 2017 и нет ли возможности сделать как у карбона, чтоб на момент перечитывания конфига, и других действий, он на запросы от МФИшной коробке слал RST. (соответственно при указаном в конфиге IP адресе коробки). В этом нет необходимости. Загрузка обновленных данных осуществляется без перерывов в работе. Вставить ник Quote
myth Posted May 17, 2017 Posted May 17, 2017 ExtFilter на зеркальном порту, что ему дропать то? Там в iptables ни чего не попадает. ну да, логично, я об этом не подумал Вставить ник Quote
oborot.bolta Posted May 17, 2017 Posted May 17, 2017 Раскоментировал строчки: ;cli_port = 9999 ;cli_address = 127.0.0.1 посмотрел, а extFilter не фига не слушает 9999 порт. :( Этот функционал еще не реализован? ExtFilter на зеркальном порту, что ему дропать то? Там в iptables ни чего не попадает. ну да, логично, я об этом не подумал А про коробку ревизора, для nfqfilter надо внести в конфиг и в код строки - полезная функция! Вставить ник Quote
max1976 Posted May 17, 2017 Posted May 17, 2017 ;cli_port = 9999 ;cli_address = 127.0.0.1 посмотрел, а extFilter не фига не слушает 9999 порт. :( Этот функционал еще не реализован? Реализован и работает. Вставить ник Quote
oborot.bolta Posted May 17, 2017 Posted May 17, 2017 (edited) Реализован и работает. просто я раскоментировал эти две строчки, перезапустил 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
max1976 Posted May 17, 2017 Posted May 17, 2017 Так и будет, т.к. вы внесли cli_port = 9999 cli_address = 127.0.0.1 в секцию [port 0]. Вставьте данные параметры выше [port 0], тогда будет работать как надо. Вставить ник Quote
oborot.bolta Posted May 17, 2017 Posted May 17, 2017 Так и будет, т.к. вы внесли cli_port = 9999 cli_address = 127.0.0.1 в секцию [port 0]. Вставьте данные параметры выше [port 0], тогда будет работать как надо. тогда наверное надо еще в https://github.com/max197616/extfilter/blob/master/etc/extfilter.ini внести это Вставить ник Quote
Rick Posted May 17, 2017 Posted May 17, 2017 (edited) Всем привет! Сегодня попробовал поставить версию 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
oborot.bolta Posted May 17, 2017 Posted May 17, 2017 Всем привет! Сегодня попробовал поставить версию 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
Rick Posted May 18, 2017 Posted May 18, 2017 этот адаптер поддерживает только одну очередь Спасибо, нечто подобное предполагал, вы подтвердили. Тогда вопрос а насколько хватит одной очереди по производительности (если конечно возможно как-то оценить)? Вставить ник Quote
max1976 Posted May 18, 2017 Posted May 18, 2017 этот адаптер поддерживает только одну очередь Спасибо, нечто подобное предполагал, вы подтвердили. Тогда вопрос а насколько хватит одной очереди по производительности (если конечно возможно как-то оценить)? Смотрите счетчик missed packets. Если он будет увеличиваться, тогда это означает что очередь пакетов переполняется из-за невозможности их быстрой обработки процессором. Вставить ник Quote
Rick Posted May 18, 2017 Posted May 18, 2017 Смотрите счетчик 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
max1976 Posted May 18, 2017 Posted May 18, 2017 hostlist = /usr/local/etc/extfilter/hosts -? (необходимо или нет) Без него могут быть пропуски. sslips = /usr/local/etc/extfilter/ssl_ips -? (необходимо или нет) Только если у вас включена блокировка ssl по ip при отсутствии SNI. Вставить ник Quote
Bl_cK Posted May 18, 2017 Posted May 18, 2017 http://www.ispovednik.com./prilozhenie-no-1 http://purposechem.com./ мучюсь с разными remove_dot, ни один способ не помогает =\ Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.