Перейти к содержимому
Калькуляторы
Блокировка веб ресурса  

565 пользователей проголосовало

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



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

@max1976 видимо и процессор роль играет. У меня был только райзен 7 на эксперимент.

 

может в конфиге что то подправить?

Скрытый текст

# cat extfilter.ini
; Переводить имя хоста в прописные буквы. Если url_normalization установлен в true, то не имеет значения.
;lower_host = false

domainlist = /usr/local/etc/extfilter/domains
urllist = /usr/local/etc/extfilter/urls
ssllist = /usr/local/etc/extfilter/ssl_host

; файл с ip:port для блокировки
hostlist = /usr/local/etc/extfilter/hosts

; Список ip адресов/сетей для блокировки ssl если нет server_name в ssl hello пакете. Загружается если block_undetected_ssl = true.
sslips = /usr/local/etc/extfilter/ssl_ips

; если false, то будет послан ответ от сервера 403 Forbidden вместо редиректа. Default: false
http_redirect = true

# если в конце url будет указан символ ? иди &, то после этого символа будет добавлен блокированный url: redirect_url[?|&]uri=http://...
redirect_url = http://block.site.ru?

; посылать tcp rst в сторону сервера от имени клиента. Default: false
rst_to_server = false

; Default: 0 - disable
statistic_interval = 300

; Блокировать ssl по ip из файла с ip адресами в случае отсутствия SNI. Default: false
block_ssl_no_sni = false

; Какие ядра использовать. Default: все ядра, кроме management.
 core_mask = 255

; файл статистики (для extfilter-cacti)
;statisticsfile = /var/run/extFilter_stat

; mtu на интерфейсе для отправки пакетов в сторону абонентов. Default: 1500
; out_mtu = 1500


; CLI для управления или сбора статистики extfilter
; cli_port = 9999
; cli_address = 127.0.0.1

; Количество каналов памяти (для DPDK)
 memory_channels = 2

; Количество повторных пакетов в сторону клиента (от 1 до 3)
; answer_duplication = 1

; Режим работы фильтра. Может быть зеркало (mirror) или мост (inline)
operation_mode = mirror

; Использовать jumbo frames
; jumbo_frames = false

; Максимальная длина ethernet фрейма при включенном jumbo_frames
; max_pkt_len = 9600

; здесь задаются порты, с которых необходимо снимать трафик
; формат:
; [port n]
; queues = a,b; a1,b1...
; n - номер порта dpdk
; a - номер очереди
; b - ядро, обрабатывающее очередь a
; Пример:
[port 1]
queues = 0,1; 1,2; 2,3

; Порт для отправки уведомлений через dpdk
[port 0]
type = sender
; На какой mac адрес отправлять пакеты
mac = 90:e2:ba:06:fe:55

[dpi]
; Масштабирование количества обрабатываемых потоков 1..10
 scale = 4

; Собирать и анализировать фрагментированные пакеты
; fragmentation_ipv6_state = true
; fragmentation_ipv4_state = true
; fragmentation_ipv4_table_size = 512
; fragmentation_ipv6_table_size = 512

; Собирать и анализировать tcp потоки с неправильными порядком
; tcp_reordering = true

[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

 

была запись файла статистики, сейчас закоментировал, но быстрее работать не стало (по логу), посмотрю по отчету ревизора

 

по дампу, запрос-ответ 
    [Time since request: 0.000096000 seconds]
 

бывает так, тоже ответ от фильтра
    [Time since request: 0.000246000 seconds]

 

Поделиться сообщением


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

В общем, фигня какая то пошла :(

все больше и больше пропусков появляется. уже за 200 перевалило.

при этом пропусков на порту 0, некоторые ответы по дампу приходят через 0.07с (пропуска) 

Поделиться сообщением


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

16 минут назад, Cramac сказал:

0.07с (пропуска) 

может у тебя проблемы с сетью ? оборудование косячит, порты. Было похожее с sip телефонией, обрывы какие-то голоса, прерывания, задержки. Решилось заменой свитча одного. Хотя других причин для замены объективных не было. Ну и минимизировать количество оборудования от агентов до сервака, проверить линки.

Поделиться сообщением


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

@Morphus да у нас сеть вся в три свитча, ошибок на портах нет. В тот же свитч рабочий сип, работает без проблем.

0.07с это конечно единичный случай нашел, в остальных меньше, как писал в предыдущем .

 

может памяти ему больше выделить? сейчас 8 из 16 установленных

Поделиться сообщением


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

В 16.11.2018 в 14:35, Cramac сказал:

может в конфиге что то подправить?

Поставьте в конфиге:
 

Цитата

 

[dpi]

fragmentation_ipv4_state = false

fragmentation_ipv6_state = false

tcp_reordering = false

 

И используйте более современный и производительный процессор.

Поделиться сообщением


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

поставил, завтра увидим. Тут скорее заточено под интел цпу

Поделиться сообщением


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

Доброго всем дня. Скачал extfilter заново. при попытке сделать make выдаёт:

Цитата

Makefile:376: ошибка выполнения рецепта для цели «main.o»
make[1]: *** [main.o] Ошибка 1
make[1]: выход из каталога «/rkn/extfilter/src»
Makefile:346: ошибка выполнения рецепта для цели «all-recursive»
make: *** [all-recursive] Ошибка 1

 

Система:

 

Цитата

Linux rkn 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux

 

 

.....

Прошу прощения - при конфигурировании упустил "--enable-native-code"

Изменено пользователем layNiko

Поделиться сообщением


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

Подскажите пожалуйста по новому ini экстфильтра:

 

предисловие:

Цитата

/dpdk/usertools/dpdk-devbind.py --status

Network devices using DPDK-compatible driver
============================================
0000:01:00.0 'I210 Gigabit Network Connection 1533' drv=igb_uio unused=

Network devices using kernel driver
===================================
0000:02:00.0 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller 8168' if=enp2s0 drv=r8169 unused=igb_uio *Active*

Other Network devices
=====================
<none>

Crypto devices using DPDK-compatible driver
===========================================
<none>

Crypto devices using kernel driver
==================================
<none>

Other Crypto devices
====================
0000:00:1a.0 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine 2298' unused=igb_uio

 

 

в сонфиге теперь есть такой параметр:

Цитата

; Порт для отправки уведомлений через dpdk
;[port 1]
;type = sender
; На какой mac адрес отправлять пакеты
;mac = 00:01:02:03:04:05

 

У меня экстфильтр стоит в режиме зеркала (на него зеркалируется трафик от пользователей). Без настройки Порт1 фильтр не стартует, но у меня порт в DPDK только один, при попытке настроить его нет отсылки на страницу блокировки.

 

Так же, для чего нужно:

Цитата

Масштабирование количества обрабатываемых потоков 1..10
scale = 10

При 10 у меня не стартует ругаясь на малое количество памяти...

Поделиться сообщением


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

@layNiko порт1 надо настроить, написать мак сетевой сервера доступа, для редиректа и в начале конфига есть настройки. scale надо подбирать, у меня максимум =4 идет

Поделиться сообщением


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

фильтр стартует, но как только я пытаюсь зайти на любую страницу из списка - вылетает фильтр и в логах пусто

 

включил дебаг:

Цитата

2018-11-19 17:18:28.821 [12208] Debug Application - Preparing thread 'WorkerThrd_0'
2018-11-19 17:18:28.821 [12208] Debug Application - Preparing thread 'WorkerThrd_1'
2018-11-19 17:18:28.821 [12208] Debug WorkerThrd_0 - Starting working thread on core 1
2018-11-19 17:18:28.821 [12208] Information WorkerThrd_0 - -- lcoreid=1 portid=0 rxqueueid=0
2018-11-19 17:18:28.821 [12208] Debug Application - Starting statistic task...
2018-11-19 17:18:28.821 [12208] Debug WorkerThrd_1 - Starting working thread on core 2
2018-11-19 17:18:28.821 [12208] Information WorkerThrd_1 - -- lcoreid=2 portid=0 rxqueueid=1
2018-11-19 17:18:28.822 [12208] Debug ReloadTask - Starting reload task...
2018-11-19 17:19:51.907 [12208] Debug ESender - Trying to send packet to 192.168.0.20 port 35268
2018-11-19 17:19:51.907 [12208] Debug ESender - Trying to send packet to 192.168.0.20 port 35268

 

после этого фильтр вылетает в кору...

Изменено пользователем layNiko

Поделиться сообщением


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

@max1976 , можно вернуть функционал отправки редиректов через тот же порт которым "слушается" трафик или это уже "дела давно минувших дней"? Если я правильно понял: в моём случае падение обусловлено попыткой отправить редирект через несуществующий порт....

Поделиться сообщением


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

3 минуты назад, layNiko сказал:

, можно вернуть функционал отправки редиректов через тот же порт которым "слушается" трафик или это уже "дела давно минувших дней"? Если я правильно понял: в моём случае падение обусловлено попыткой отправить редирект через несуществующий порт....

Такого функционала не было. Был функционал по отправке ответов через интерфейс под управлением ОС.

Поделиться сообщением


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

1 минуту назад, max1976 сказал:

Такого функционала не было. Был функционал по отправке ответов через интерфейс под управлением ОС.

И его не вернуть?

Поделиться сообщением


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

1 минуту назад, layNiko сказал:

И его не вернуть?

Нет.

Поделиться сообщением


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

1 минуту назад, max1976 сказал:

Нет.

Жаль... Будем менять железо

Поделиться сообщением


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

Все хотел спросить, что означает тип блокировки по умолчанию в дампе? На этот тип ссылаются в памятке оператору при отсутствии typeblock.

Например есть запись без тега типа блокировки. В ней есть теги url, domain и ip. Блокировать по всем трем типам?

Поделиться сообщением


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

В шпаргалке все написано.

По умолчанию url.

Поделиться сообщением


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

46 минут назад, alibek сказал:

В шпаргалке все написано.

По умолчанию url.

О какой шпаргалке идет речь?

 

В памятке https://vigruzki.rkn.gov.ru/docs/description_for_operators_actual.pdf по этому поводу лишь запись "Если данный атрибут отсутствует либо указано значение «default», то блокировка осуществляется по стандартным правилам."

Что это за стандартные правила не поясняется.

Поделиться сообщением


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

; Список ip адресов/сетей для блокировки ssl если нет server_name в ssl hello пакете. Загружается если block_undetected_ssl = true.
sslips = /usr/local/blokirator/extFilter/data/ssl_ips

 

параметр block_undetected_ssl

ещё жив ? в самом конфиге не нашёл его. 

или оно теперь block_ssl_no_sni ?

Изменено пользователем aalexanderr

Поделиться сообщением


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

Доброго времени суток, Коллеги, @max1976

 

Собрал новый блокировщик, поставил последнюю версию extfilter.

Все работает, но не больше 5-10 минут.

После чего extfilter падает, заполняя лог слудющеми сообщениями:

 

2018-11-21 13:23:19.295 [1748] Error WorkerThrd_3 - Unable to allocate memory for the ssl buffer
2018-11-21 13:23:19.296 [1748] Error WorkerThrd_5 - Unable to allocate memory for the ssl buffer
2018-11-21 13:23:19.296 [1748] Error WorkerThrd_2 - Unable to allocate memory for the ssl buffer
2018-11-21 13:23:19.296 [1748] Error WorkerThrd_7 - Unable to allocate memory for the ssl buffer
2018-11-21 13:23:19.298 [1748] Error WorkerThrd_3 - Unable to allocate memory for the ssl buffer
2018-11-21 13:23:19.298 [1748] Error WorkerThrd_3 - Unable to allocate memory for the ssl buffer
 

На момент теста, трафика в сторону extfilter: output rate 5.99 Gbps, 1.70 Mpps

 

 

Система:

Centos 7, 3.10.0-862.14.4.el7.x86_64

dpdk-stable-17.05.1 (c  18.08 не собирается)

 

Сервер:

Мать: ASUS PRIME X299-A

Процессор: Intel i9-7900X,

Память: 32гб DDR4 PC-24000

Сетевая карта для зеркала: Intel X520-DA2

Сетевая карта для отправки редиректов и ресетов: Intel I350-4T

 

Конфигурация:

 

; Какие ядра использовать. Default: все ядра, кроме management.
core_mask = 0x3FD

 

; Количество каналов памяти (для DPDK)
memory_channels = 4

; Количество повторных пакетов в сторону клиента (от 1 до 3)
; answer_duplication = 1

; Режим работы фильтра. Может быть зеркало (mirror) или мост (inline)
operation_mode = mirror

 

[port 1]
queues = 0,2; 1,3; 2,4; 3,5
[port 2]
queues = 0,6; 1,7; 2,8; 3,9
 

; Порт для отправки уведомлений через dpdk
[port 0]
type = sender
; На какой mac адрес отправлять пакеты
mac = тут_был_мак

 

[dpi]
; Масштабирование количества обрабатываемых потоков 1..10
scale = 6
<тут было поумолчанию, менял на 4 и на 8, ситуация без изменений.

 

Hugepages:

 

AnonHugePages:     10240 kB
HugePages_Total:      18
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:    1048576 kB
 

 

Куда копать ?

Спасибо. :)

 

 


 

Изменено пользователем Zarin

Поделиться сообщением


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

Считаю что нужно больше памяти для ssl buffer ( в конфиге в секции dpi добавиь ssl_entries = и значение) посмореть можно вот так сколько используется

 { echo "show worker stats all"; sleep 1; } | telnet 127.0.0.1 9999 2>/dev/null | grep -A 19 Worker

Варианта два, либо увеличиваешь scale либо отдельно buffer, но учти что должно быть достаточно HugePages

Изменено пользователем epollia

Поделиться сообщением


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

1 час назад, epollia сказал:

Считаю что нужно больше памяти для ssl buffer ( в конфиге в секции dpi добавиь ssl_entries = и значение) посмореть можно вот так сколько используется


 { echo "show worker stats all"; sleep 1; } | telnet 127.0.0.1 9999 2>/dev/null | grep -A 19 Worker

Варианта два, либо увеличиваешь scale либо отдельно buffer, но учти что должно быть достаточно HugePages

 

 

Поставил 2 млн ячеек для SSL. Похоже проблема решилась.

Думал, эти параметры @max1976 выпилил в пользу scale. Не успел посмотреть в код :)

 

DPI parsers:
    Allocs:
      HTTP: 63118
      SSL: 306576
    Memory pools usage:
      HTTP: 53025
      SSL: 490964
    Memory pools free:
      HTTP: 196975
      SSL: 1509036

Все стало впорядке. Спасибо за наводку.

 

Изменено пользователем Zarin

Поделиться сообщением


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

@max1976 помогло, не на долго. 19 упало пропусков до 40, вчера опять за 200 :(

 

Есть кто из Москвы или ближе к востоку М.О. поделится фильтром(в зеркало) на пару дней :)

Поделиться сообщением


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

1 час назад, Cramac сказал:

@max1976 помогло, не на долго. 19 упало пропусков до 40, вчера опять за 200 :(

 

Есть кто из Москвы или ближе к востоку М.О. поделится фильтром(в зеркало) на пару дней :)

пропуски не в чнн случаем? у вас свитч такой себе..

Поделиться сообщением


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

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.