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

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

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



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

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

Поставьте в конфиге скрипта в секции [BGP]:

 

 

Ух ты, действительно есть такое в скрипте, в конфиге этого параметра не было, спасибо. После включения надо почистить конфиги кваги или скрипт автоматически всё уберет?

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


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

Только что, evgen.v сказал:

Ух ты, действительно есть такое в скрипте, в конфиге этого параметра не было, спасибо. После включения надо почистить конфиги кваги или скрипт автоматически всё уберет?

Скрипт сам не уберёт. Лучше удалить руками.

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


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

Добрый день!

 

Попробовал использовать extfilter для такой задачи: нужно в режиме бриджа тупо фильтровать весь транзитный трафик (тэгированный и нет) по IP. Что-то не выходит каменный цветок с такими настройками:

 

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

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
http_redirect = false
redirect_url = http://notify.example.com
rst_to_server = false
statistic_interval = 30
block_ssl_no_sni = false
core_mask = 127
statisticsfile = /var/run/extFilter_stat
cli_port = 9999
cli_address = 127.0.0.1
memory_channels = 2
operation_mode = inline

[port 0]
queues = 0,1
type = subscriber
mapto = 1

[port 1]
queues = 0,2
type = network
mapto = 0

[dpi]
scale = 1
max_active_flows_ipv4 = 100000
max_active_flows_ipv6 = 100000
fragmentation_ipv6_state = false
fragmentation_ipv4_state = false

[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

 

в файле /usr/local/etc/extfilter/hosts есть только одна запись: 172.31.0.5:4022 все остальные файлы пусты. Трафик все равно проходит. Лог запуска:

 

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

2019-05-31 18:36:06.786 [2385] Debug Application - DPDK command line: extFilter
2019-05-31 18:36:06.786 [2385] Debug Application - DPDK command line: -n
2019-05-31 18:36:06.786 [2385] Debug Application - DPDK command line: 2
2019-05-31 18:36:06.786 [2385] Debug Application - DPDK command line: -c
2019-05-31 18:36:06.786 [2385] Debug Application - DPDK command line: 0x7f
2019-05-31 18:36:06.786 [2385] Debug Application - DPDK command line: --master-lcore
2019-05-31 18:36:06.786 [2385] Debug Application - DPDK command line: 0
2019-05-31 18:36:08.022 [2385] Debug ACL - Building ACL from file /usr/local/etc/extfilter/hosts
2019-05-31 18:36:08.023 [2385] Debug ACL - IP is 172.31.0.5 port 4022
2019-05-31 18:36:08.023 [2385] Information ACL - Preparing 1 rules for IPv4 ACL
2019-05-31 18:36:08.023 [2385] Information TriesControl - Loaded 0 lines from the domains file '/usr/local/etc/extfilter/domains'
2019-05-31 18:36:08.023 [2385] Information TriesControl - Loaded 0 lines from the urls file '/usr/local/etc/extfilter/urls'
2019-05-31 18:36:08.023 [2385] Information TriesControl - Loaded 0 lines from the domains file '/usr/local/etc/extfilter/ssl_host'
2019-05-31 18:36:08.023 [2385] Information Application - Setting mbuf size to 16384
2019-05-31 18:36:08.042 [2385] Information Application - Allocated mbuf pool (16384 entries) on socket 0
2019-05-31 18:36:08.042 [2385] Information Application - Set number of entries of the sender buffer to 8192
2019-05-31 18:36:08.051 [2385] Information Application - Port 0 creating queues: rx queue=1, tx queue=7
2019-05-31 18:36:08.051 [2385] Information Application - port=0 tx_queueid=0 nb_txd=512 core=0
2019-05-31 18:36:08.052 [2385] Information Application - port=0 rx_queueid=0 nb_rxd=256 core=1
2019-05-31 18:36:08.052 [2385] Information Application - port=0 tx_queueid=1 nb_txd=512 core=1
2019-05-31 18:36:08.052 [2385] Information Application - port=0 tx_queueid=2 nb_txd=512 core=2
2019-05-31 18:36:08.052 [2385] Information Application - port=0 tx_queueid=3 nb_txd=512 core=3
2019-05-31 18:36:08.052 [2385] Information Application - port=0 tx_queueid=4 nb_txd=512 core=4
2019-05-31 18:36:08.052 [2385] Information Application - port=0 tx_queueid=5 nb_txd=512 core=5
2019-05-31 18:36:08.052 [2385] Information Application - port=0 tx_queueid=6 nb_txd=512 core=6
2019-05-31 18:36:08.399 [2385] Information Application - Port 0 MAC: 00:1b:21:bc:fb:74
2019-05-31 18:36:08.399 [2385] Information Application - Port 1 creating queues: rx queue=1, tx queue=7
2019-05-31 18:36:08.399 [2385] Information Application - port=1 tx_queueid=0 nb_txd=512 core=0
2019-05-31 18:36:08.399 [2385] Information Application - port=1 tx_queueid=1 nb_txd=512 core=1
2019-05-31 18:36:08.399 [2385] Information Application - port=1 rx_queueid=0 nb_rxd=256 core=2
2019-05-31 18:36:08.399 [2385] Information Application - port=1 tx_queueid=2 nb_txd=512 core=2
2019-05-31 18:36:08.399 [2385] Information Application - port=1 tx_queueid=3 nb_txd=512 core=3
2019-05-31 18:36:08.399 [2385] Information Application - port=1 tx_queueid=4 nb_txd=512 core=4
2019-05-31 18:36:08.399 [2385] Information Application - port=1 tx_queueid=5 nb_txd=512 core=5
2019-05-31 18:36:08.399 [2385] Information Application - port=1 tx_queueid=6 nb_txd=512 core=6
2019-05-31 18:36:08.746 [2385] Information Application - Port 1 MAC: 00:1b:21:bc:fb:76
2019-05-31 18:36:08.746 [2385] Information Application - Create pool 'DPIHTTPPool' for the http dissector with number of entries: 70000, element size 960 size: 67200000 bytes
2019-05-31 18:36:08.755 [2385] Information Application - Create pool 'DPISSLPool' for the ssl dissector with number of entries: 150000, element size 320 size: 48000000 bytes
2019-05-31 18:36:08.776 [2385] Information Application - Allocating 44800000 bytes (100000 entries) for ipv4 flow pool
2019-05-31 18:36:08.790 [2385] Information Application - Allocating 44800000 bytes (100000 entries) for ipv6 flow pool
2019-05-31 18:36:08.804 [2385] Information FlowStorageIPV4 - Allocate 300000 bytes (18750 entries, element size 16) for flow hash ipv4
2019-05-31 18:36:08.804 [2385] Information FlowStorageIPV4 - Allocating 150000 bytes (18750 entries) for ipv4_flows
2019-05-31 18:36:08.805 [2385] Information FlowStorageIPV4 - Allocate 300000 bytes (18750 entries, element size 16) for flow hash ipv4
2019-05-31 18:36:08.805 [2385] Information FlowStorageIPV4 - Allocating 150000 bytes (18750 entries) for ipv4_flows
2019-05-31 18:36:08.806 [2385] Information FlowStorageIPV4 - Allocate 300000 bytes (18750 entries, element size 16) for flow hash ipv4
2019-05-31 18:36:08.806 [2385] Information FlowStorageIPV4 - Allocating 150000 bytes (18750 entries) for ipv4_flows
2019-05-31 18:36:08.807 [2385] Information FlowStorageIPV4 - Allocate 300000 bytes (18750 entries, element size 16) for flow hash ipv4
2019-05-31 18:36:08.807 [2385] Information FlowStorageIPV4 - Allocating 150000 bytes (18750 entries) for ipv4_flows
2019-05-31 18:36:08.808 [2385] Information FlowStorageIPV6 - Allocate 1800000 bytes (37500 entries, element size 48) for flow hash ipv6
2019-05-31 18:36:08.808 [2385] Information FlowStorageIPV6 - Allocating 300000 bytes (37500 entries) for ipv6_flows
2019-05-31 18:36:08.810 [2385] Information FlowStorageIPV6 - Allocate 1800000 bytes (37500 entries, element size 48) for flow hash ipv6
2019-05-31 18:36:08.810 [2385] Information FlowStorageIPV6 - Allocating 300000 bytes (37500 entries) for ipv6_flows
2019-05-31 18:36:08.812 [2385] Information FlowStorageIPV4 - Allocate 300000 bytes (18750 entries, element size 16) for flow hash ipv4
2019-05-31 18:36:08.812 [2385] Information FlowStorageIPV4 - Allocating 150000 bytes (18750 entries) for ipv4_flows
2019-05-31 18:36:08.813 [2385] Information FlowStorageIPV4 - Allocate 300000 bytes (18750 entries, element size 16) for flow hash ipv4
2019-05-31 18:36:08.813 [2385] Information FlowStorageIPV4 - Allocating 150000 bytes (18750 entries) for ipv4_flows
2019-05-31 18:36:08.814 [2385] Information FlowStorageIPV4 - Allocate 300000 bytes (18750 entries, element size 16) for flow hash ipv4
2019-05-31 18:36:08.814 [2385] Information FlowStorageIPV4 - Allocating 150000 bytes (18750 entries) for ipv4_flows
2019-05-31 18:36:08.815 [2385] Information FlowStorageIPV4 - Allocate 300000 bytes (18750 entries, element size 16) for flow hash ipv4
2019-05-31 18:36:08.815 [2385] Information FlowStorageIPV4 - Allocating 150000 bytes (18750 entries) for ipv4_flows
2019-05-31 18:36:08.816 [2385] Information FlowStorageIPV6 - Allocate 1800000 bytes (37500 entries, element size 48) for flow hash ipv6
2019-05-31 18:36:08.816 [2385] Information FlowStorageIPV6 - Allocating 300000 bytes (37500 entries) for ipv6_flows
2019-05-31 18:36:08.818 [2385] Information FlowStorageIPV6 - Allocate 1800000 bytes (37500 entries, element size 48) for flow hash ipv6
2019-05-31 18:36:08.818 [2385] Information FlowStorageIPV6 - Allocating 300000 bytes (37500 entries) for ipv6_flows
2019-05-31 18:36:08.820 [2385] Debug Application - Preparing thread 'WorkerThrd_0'
2019-05-31 18:36:08.820 [2385] Debug Application - Preparing thread 'WorkerThrd_1'
2019-05-31 18:36:08.820 [2385] Information WorkerThrd_0 - Output port for the worker 0 is 1 (tx_queue_id 1) n_tx_port 2
2019-05-31 18:36:08.820 [2385] Debug WorkerThrd_0 - Starting bridge working thread on core 1
2019-05-31 18:36:08.820 [2385] Information WorkerThrd_0 - -- lcoreid=1 portid=0 rxqueueid=0
2019-05-31 18:36:08.820 [2385] Information WorkerThrd_1 - Output port for the worker 1 is 0 (tx_queue_id 2) n_tx_port 2
2019-05-31 18:36:08.820 [2385] Debug WorkerThrd_1 - Starting bridge working thread on core 2
2019-05-31 18:36:08.820 [2385] Information WorkerThrd_1 - -- lcoreid=2 portid=1 rxqueueid=0
2019-05-31 18:36:08.820 [2385] Debug Application - Starting statistic task...
2019-05-31 18:36:08.820 [2385] Debug ReloadTask - Starting reload task...
2019-05-31 18:36:08.821 [2385] Debug CmdLineTask - Running CmdLineTask...

 

Даже как-то уже мыслей нет где может быть косяк. В сообщении

написано про block_ssl_no_sni = false, но опция высталвена так же, и никакого результата.

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


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

Смотрите конфиг, версию ПО.

 

Коллеги подскажите у кого сколько сетей сейчас на Quagga?

sh ip route summary 
Route Source         Routes               FIB  (vrf 0)
kernel               2                    2                    
connected            2                    2                    
static               150052               150052               
------
Totals               150056               150056               

 

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


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

Похоже, я докагдываюсь почему пропускается трафик. extfilter матчит только пакеты инициирования соединения. Пакеты уже уствновившегося соединения игнорируются.

 

Потому вопрос: где можно поправить логику, чтобы acl из hostlist применялись ко всем транзитным пакетам в режиме inline?

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


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

8 часов назад, epollia сказал:

Смотрите конфиг, версию ПО.

 

Коллеги подскажите у кого сколько сетей сейчас на Quagga?


sh ip route summary 
Route Source         Routes               FIB  (vrf 0)
kernel               2                    2                    
connected            2                    2                    
static               150052               150052               
------
Totals               150056               150056               

 

ip r  | grep zebra | wc -l
150409

 

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


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

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

ip r  | grep zebra | wc -l
150409

 

спасибо 

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


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

Вот и у меня подоспела замена ключа.

Экспортировать удалось штатными методами, без утилиты P12FromGostCSP.

openssl ключ читает, пишет MAC verified OK, но потом жалуется на неподдерживаемый алгоритм.

Буду обновлять openssl, подключать новый engine.

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


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

кстати для тех у кого PC роутеры или микротик системы , я в своё время топил прям за ip route blackhole , но в какой то момент увидел как там появилось порядка 400 тыщ маршрутов (меня это расстроило , т.к штатными средствами заливать это приходилось даже не быстрой системе по 15 минут (это в случае очистки таблицы и залития новой (можно обойтись конечно сравнением массивов , но заморачиваться не стал т.к нашел метод на 10 сек) , тот же самый ipset с параметром ipset create revizor hash:net maxelem 999999999 , что бы убрать штатное ограничение в 65535 записей и сперва генерить текстовый фаил вида add revizor х.х.х.х (с кучей строк) , а потом делать ipset restore < ./my_file (заливается где то за 5 сек) . Удобно и всегда актуальный список (можно держать 2 списка для обнуления одного , а потом их менять местами что бы в эти 5 сек ни кто не проскочил). Так же гуглил в сторону ip route save/restore - тоже работет очень быстро , но там заморочка в генерации файла для заливки (бинарник) , нужно поднимать библиотеки  и что то ваять (вроде на питоне было что то , но ipset спас ситуацию).

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


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

Второй список держать не обязательно. Его можно создать, залить, свапнуть, и старый прибить. Один фиг его чистить надо. Прибить проще. :)

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


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

В 28.05.2019 в 10:53, evgen.v сказал:

Ух ты, действительно есть такое в скрипте, в конфиге этого параметра не было, спасибо. После включения надо почистить конфиги кваги или скрипт автоматически всё уберет?

После этого на самом сервере в zebra.conf blackhole пропали и в ip r их тоже нет, так и задумано? Это нужно было если трафик транзитом идёт через сам фильтр ? (proto zebra)

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

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


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

15 часов назад, hsvt сказал:

После этого на самом сервере в zebra.conf blackhole пропали и в ip r их тоже нет, так и задумано? Это нужно было если трафик транзитом идёт через сам фильтр ? (proto zebra)

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

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


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

Коллеги поделитесь опытом организации блокировок inline.

У кого какие машины, какую нагрузку  тянут.

Использует кто  сетевые с bypass на случай падения фильтра, или по другому резервирует

 

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


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

21 час назад, dee сказал:

ipset create revizor hash:net maxelem 999999999 , что бы убрать штатное ограничение в 65535 записей

Нет никакого ограничения в 64к записей. При попытке добавления 65536-й записи просто выделится память под очередные 64к записей. Резервировать сразу лишний объем смысла не имеет, только лишний перерасход памяти и увеличение накладных расходов при поиске в хэше.

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


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

7 минут назад, taf_321 сказал:

Нет никакого ограничения в 64к записей. При попытке добавления 65536-й записи просто выделится память под очередные 64к записей. Резервировать сразу лишний объем смысла не имеет, только лишний перерасход памяти и увеличение накладных расходов при поиске в хэше.

Я у себя увеличиваю hashsize, иначе при пересечении hash старая запись будет заменена на новую. И попадать под правила пакеты со старой сетью не будут. Возможно увеличение maxelem связано с hashsize и увеличение одного влияет на другой параметр.

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


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

В 18.06.2019 в 20:05, dee сказал:

кстати для тех у кого PC роутеры или микротик системы , я в своё время топил прям за ip route blackhole , но в какой то момент увидел как там появилось порядка 400 тыщ маршрутов (меня это расстроило , т.к штатными средствами заливать это приходилось даже не быстрой системе по 15 минут (это в случае очистки таблицы и залития новой (можно обойтись конечно сравнением массивов , но заморачиваться не стал т.к нашел метод на 10 сек) , тот же самый ipset с параметром ipset create revizor hash:net maxelem 999999999 , что бы убрать штатное ограничение в 65535 записей и сперва генерить текстовый фаил вида add revizor х.х.х.х (с кучей строк) , а потом делать ipset restore < ./my_file (заливается где то за 5 сек) . Удобно и всегда актуальный список (можно держать 2 списка для обнуления одного , а потом их менять местами что бы в эти 5 сек ни кто не проскочил). Так же гуглил в сторону ip route save/restore - тоже работет очень быстро , но там заморочка в генерации файла для заливки (бинарник) , нужно поднимать библиотеки  и что то ваять (вроде на питоне было что то , но ipset спас ситуацию).

спасибо за наводку! сделаю так же у себя! А то с восстановлением ipset-a реально мука.

У меня в районе часа заносятся. Раньше тоже было минут 15, так долго стало вроде когда я увеличил maxelem и hashsize в ipset. Но это не точно. Влияют эти параметры на скорость внесения ?

 

В 19.06.2019 в 17:51, taf_321 сказал:

Нет никакого ограничения в 64к записей. При попытке добавления 65536-й записи просто выделится память под очередные 64к записей.

У меня вылетала ошибка, точно не помню как звучит, но ясно даёт понять что больше добавить не может. Увелечение maxelem решило вопрос. В мане тоже написано что это кол-во элементов, которое может хранится в сете: http://ipset.netfilter.org/ipset.man.html#lbAO

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


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

5 часов назад, Morphus сказал:

Влияют эти параметры на скорость внесения ?

ну я не могу на это ответить , но как писал ранее если не сходить с ума и построчно вносить каждое правило одной строкой (типа ipset -A revizor 1.1.1.1 потом другая строка (в цикле например) ipset -A revizor 2.2.2.2 и т.д) , тогда будет ооочень долго , я сперва готовлю текстовый фаил в котором куча строк формата (add revizor 1.1.1.1 сл строка add revizor 2.2.2.2) и таких строк сотни тысяч (где слово revizor это имя ipset таблицы) и этот файл у меня генерируется примерно 3 - 5 сек , после чего запускается консольная команда ipset -F revizor && ipset restore < ./мой_файл_с_кучей_строк  и где то в течении 3 - 5 сек он сразу заливается в таблицу. Важно что бы таблица была точно пустая перед заливанием и строки с ip адресами ни в коем случае не совпали хоть раз , каждая запись должна быть уникальная или ipset restore  ругнётся и вывалится). так же я проверяю количество строк в таблице типа ipset -L blocked | wc -l
449044 - примерное количество строк (меньше 400 тыщ не должно быть точно)

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


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

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

так же я проверяю количество строк в таблице типа ipset -L blocked | wc -l
449044 - примерное количество строк (меньше 400 тыщ не должно быть точно)

Почему??? Вы агрегацией не занимаетесь чтоли??? у меня на данный момент 254659

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


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

42 минуты назад, Antares сказал:

Почему??? Вы агрегацией не занимаетесь чтоли??? у меня на данный момент 254659

беру полный список из реестра , сортирую , выбираю уникальные записи и их просто вношу , хотя возможно какие ip могут находиться уже в некоторых заблокированных сетях. Пока не парюсь 

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


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

еще там много IP подряд, которые можно клеить в /31 /30 /29 итд сети... ~1.5 раза сокращается количество.. В общем это не мало чтобы не заниматься агригацией..

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


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

А смысл? Что 300 тысяч, что 400, это цифры одного порядка, а мороки много.

Если уж хочется упаковать префиксы более компактно, то нужно использовать и исключающие префиксы, например /24, из которого исключены несколько /30 и /32.

Но это уже достаточно нетривиальный алгоритм и все равно много не сэкономишь.

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


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

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

а мороки много.

Даладна:

#!/usr/bin/perl -w

use strict;
use Net::CIDR::Lite;

my $cidr = Net::CIDR::Lite->new;
while(my $ip = <STDIN>) {
  chomp $ip;
  $ip .= '/32' unless ($ip =~ /\//);
  $cidr->add($ip);
}
print "$_\n" for $cidr->list;

 

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


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

В последнем скрипте у Максима агрегация реализована. Если пользуетесь им, то просто обновите скрипт.

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


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

Не надо. У нас пока ваших яровых нет. ))

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


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

Выгрузка упала, или что-то другое ?
 

2019-06-30 15:10:03 | INFO  | main  | Starting RKN at 1561907403
2019-06-30 15:10:04 | INFO  | main  | No cert.pem file
2019-06-30 15:11:28 | ERROR | main  | Error occured while working with registry: getResult: soap exception:
no element found at line 2, column 3842773, byte 3842812 at /opt/rh/rh-perl526/root/usr/local/lib64/perl5/XML/Parser.pm line 187.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://vigruzki.rkn.gov.ru/OperatorRequest/"><SOAP-ENV:Body><ns1:getResultResponse><result>true</result><registe$

UPD: сломался, починился.

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

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


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

Join the conversation

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

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

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

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

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

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

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