Jump to content
Калькуляторы
Блокировка веб ресурса  

569 members have voted

  1. 1. Для блокировка используем



Блокировка сайтов провайдерами маневры с DNS

А для чего нужно:

*********************************************

+; через какое время делать редирект (секунды)

;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

****************************************************

Share this post


Link to post
Share on other sites

А для чего нужно:

*********************************************

+; через какое время делать редирект (секунды)

;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

****************************************************

 

Дополнительно присутствует функция оповещения, которая позволяет информировать пользователей путем периодической переадресации на нужную страницу.

Share this post


Link to post
Share on other sites

подтверждаю: последний фильтр просто не работает. ни при коре - = 7, ни при 29, никак. На все выдает "Fatal Application - No cores defined in the configuration file"

А - сорри - сам идиот)

Edited by RadioSintetica

Share this post


Link to post
Share on other sites

Коллеги, так и не понятно про

;notify_enabled = true

 

Что это и для чего надо!

 

Это для разных пулов src ip адресов разная страничка блокировки, или что?

 

 

;cli_port = 9999

;cli_address = 127.0.0.1

 

Это управление чем?

 

;period = 1800

это переодичность чего?

Share this post


Link to post
Share on other sites

Коллеги, так и не понятно про

;notify_enabled = true

 

Что это и для чего надо!

 

Это для разных пулов src ip адресов разная страничка блокировки, или что?

 

Это функционал информирования, например, можно выполнить какое-то оповещение абонентов или рекламировать дополнительные услуги.

 

 

;cli_port = 9999

;cli_address = 127.0.0.1

 

Это управление чем?

 

Управление и статистика extfilter.

 

;period = 1800

это переодичность чего?

 

Относится к информированию абонентов.

Share this post


Link to post
Share on other sites

;cli_port = 9999

;cli_address = 127.0.0.1

 

Это управление чем?

 

Управление и статистика extfilter.

 

 

а какие команды есть в CLI?

 

и нет ли возможности сделать как у карбона, чтоб на момент перечитывания конфига, и других действий, он на запросы от МФИшной коробке слал RST. (соответственно при указаном в конфиге IP адресе коробки).

Share this post


Link to post
Share on other sites

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 будет аналогично

Share this post


Link to post
Share on other sites

 

Проблема то, блин...

192.168.30.4 - адрес коробки

 

для extfilter будет аналогично

 

ExtFilter на зеркальном порту, что ему дропать то? Там в iptables ни чего не попадает.

Вот сделать бы чтоб он на все TCP сессии от коробки на 80 и 443 порт, на время рестарта или там обслуживания слал RST

Share this post


Link to post
Share on other sites

и нет ли возможности сделать как у карбона, чтоб на момент перечитывания конфига, и других действий, он на запросы от МФИшной коробке слал RST. (соответственно при указаном в конфиге IP адресе коробки).

В этом нет необходимости. Загрузка обновленных данных осуществляется без перерывов в работе.

Share this post


Link to post
Share on other sites

Раскоментировал строчки:

;cli_port = 9999

;cli_address = 127.0.0.1

 

посмотрел, а extFilter не фига не слушает 9999 порт. :(

 

Этот функционал еще не реализован?

 

 

ExtFilter на зеркальном порту, что ему дропать то? Там в iptables ни чего не попадает.

ну да, логично, я об этом не подумал

 

 

А про коробку ревизора, для nfqfilter надо внести в конфиг и в код строки - полезная функция!

Share this post


Link to post
Share on other sites

;cli_port = 9999

;cli_address = 127.0.0.1

 

посмотрел, а extFilter не фига не слушает 9999 порт. :(

 

Этот функционал еще не реализован?

 

Реализован и работает.

Share this post


Link to post
Share on other sites

 

Реализован и работает.

 

просто я раскоментировал эти две строчки, перезапустил 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 by oborot.bolta

Share this post


Link to post
Share on other sites

Так и будет, т.к. вы внесли

cli_port = 9999

cli_address = 127.0.0.1

в секцию [port 0]. Вставьте данные параметры выше [port 0], тогда будет работать как надо.

Share this post


Link to post
Share on other sites

Так и будет, т.к. вы внесли

cli_port = 9999

cli_address = 127.0.0.1

в секцию [port 0]. Вставьте данные параметры выше [port 0], тогда будет работать как надо.

 

тогда наверное надо еще в

https://github.com/max197616/extfilter/blob/master/etc/extfilter.ini

 

внести это

Share this post


Link to post
Share on other sites

Всем привет!

Сегодня попробовал поставить версию 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 by Rick

Share this post


Link to post
Share on other sites

Всем привет!

Сегодня попробовал поставить версию 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

 

 

Где я допустил ошибку ?

 

этот адаптер поддерживает только одну очередь

Share this post


Link to post
Share on other sites

этот адаптер поддерживает только одну очередь

Спасибо, нечто подобное предполагал, вы подтвердили.

Тогда вопрос а насколько хватит одной очереди по производительности (если конечно возможно как-то оценить)?

Share this post


Link to post
Share on other sites

этот адаптер поддерживает только одну очередь

Спасибо, нечто подобное предполагал, вы подтвердили.

Тогда вопрос а насколько хватит одной очереди по производительности (если конечно возможно как-то оценить)?

 

Смотрите счетчик missed packets. Если он будет увеличиваться, тогда это означает что очередь пакетов переполняется из-за невозможности их быстрой обработки процессором.

Share this post


Link to post
Share on other sites

Смотрите счетчик 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 -? (необходимо или нет)

Share this post


Link to post
Share on other sites

hostlist = /usr/local/etc/extfilter/hosts -? (необходимо или нет)

Без него могут быть пропуски.

 

sslips = /usr/local/etc/extfilter/ssl_ips -? (необходимо или нет)

Только если у вас включена блокировка ssl по ip при отсутствии SNI.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.