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

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

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



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

спасибо, тоже нашел

https://patches.dpdk.org/patch/35566/

 

пробую

 

 

 

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


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

вроде собрался
 

теперь новая проблема, запустить 

раскоментировал core_mask=7, иначе выдавал ошибку 

EAL: Detected 16 lcore(s)
EAL: invalid coremask

 

# /usr/local/bin/extFilter --config-file=/usr/src/extfilter/etc/extfilter.ini --pidfile=/var/run/extfilter.pid
EAL: Detected 16 lcore(s)
EAL: No free hugepages reported in hugepages-1048576kB
EAL: No free hugepages reported in hugepages-2048kB
EAL: FATAL: Cannot get hugepage information.
EAL: Cannot get hugepage information.
Exception: Can't initialize EAL - invalid EAL arguments

 

где посмотреть номера портов dpdk чтоб прописать в конфиге порт анализа и порт отправки

 

в системе две сетевые, одну вроде как добавил в dpdk, вторую нет

 

методом тыка, запускаю extfilter, пришел к такой ошибке в логе

2018-09-29 17:21:27.714 [1605] Fatal Application - The senders port is not defined in the mirror operation mode
2018-09-29 17:21:55.999 [1610] Fatal Application - The senders port is not defined in the mirror operation mode
2018-09-29 17:25:53.184 [1670] Fatal Application - The senders port is not defined in the mirror operation mode
2018-09-29 17:29:13.238 [1727] Fatal Application - The senders port is not defined in the mirror operation mode
2018-09-29 17:30:32.291 [1751] Fatal Application - The senders port is not defined in the mirror operation mode
2018-09-29 17:30:46.048 [1775] Error Application - Invalid queue number: 1 (nic supported maximum 1)
2018-09-29 17:34:48.455 [1897] Information Application - Setting mbuf size to 16384
2018-09-29 17:34:48.461 [1897] Information Application - Allocated mbuf pool (16384 entries) on socket 0
2018-09-29 17:34:48.461 [1897] Information Application - Set number of entries of the sender buffer to 8192
2018-09-29 17:34:48.464 [1897] Fatal Application - Number of tx queues 3 exceeds max number of tx queues 1 for port 0
2018-09-29 17:34:48.464 [1897] Fatal Application - Cannot initialize port 0

 

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

; Переводить имя хоста в прописные буквы. Если 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.yotabit.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 = 7

; файл статистики (для 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 0]
queues = 0,1

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

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

; Собирать и анализировать фрагментированные пакеты
; 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
 

 

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

# /usr/src/dpdk-stable-17.05.1/usertools/dpdk-devbind.py --status

Network devices using DPDK-compatible driver
============================================
0000:02:00.0 '82574L Gigabit Network Connection 10d3' drv=igb_uio unused=

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

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

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

Crypto devices using kernel driver
==================================
0000:23:00.2 'Family 17h (Models 00h-0fh) Platform Security Processor 1456' if= drv=ccp unused=igb_uio

Other Crypto devices
====================
<none>

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

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

Other Eventdev devices
======================
<none>

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

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

Other Mempool devices
=====================
<none>
 

 

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


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

написано же вроде все понятным. сетевая у вас дно и с hugepages проблемы. 

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


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

Т.е. Нужна сетевая с минимум 4мя очередями?

 

с hugepages проблема из за tuned-adm не срабатывает (не прописывается в cmd и следовательно грузится без указанных параметров)

 

а вот тест

build/app/testpmd -c7 -n3 --vdev=eth_pcap0,iface=enp2s0 --vdev=eth_pcap1,iface=enp30s0

удачно положил сеть :) никтож не писал что делает кольцо....

 

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

]# build/app/testpmd -c7 -n3 --vdev=eth_pcap0,iface=enp2s0 --vdev=eth_pcap1,iface=enp30s0
EAL: Detected 16 lcore(s)
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:02:00.0 on NUMA socket -1
EAL:   probe driver: 8086:10d3 net_e1000_em
PMD: Initializing pmd_pcap for eth_pcap0
PMD: Creating pcap-backed ethdev on numa socket 4294967295
PMD: Initializing pmd_pcap for eth_pcap1
PMD: Creating pcap-backed ethdev on numa socket 4294967295
Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.
USER1: create a new mbuf pool <mbuf_pool_socket_0>: n=163456, size=2176, socket=0
Configuring Port 0 (socket 0)
Port 0: 00:00:00:01:02:03
Configuring Port 1 (socket 0)
Port 1: 00:00:00:01:02:03
Checking link statuses...
Done
No commandline core given, start packet forwarding
io packet forwarding - ports=2 - cores=1 - streams=2 - NUMA support enabled, MP over anonymous pages disabled
Logical Core 1 (socket 0) forwards packets on 2 streams:
  RX P=0/Q=0 (socket 0) -> TX P=1/Q=0 (socket 0) peer=02:00:00:00:00:01
  RX P=1/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00

  io packet forwarding - CRC stripping enabled - packets/burst=32
  nb forwarding cores=1 - nb forwarding ports=2
  RX queues=1 - RX desc=128 - RX free threshold=0
  RX threshold registers: pthresh=0 hthresh=0 wthresh=0
  TX queues=1 - TX desc=512 - TX free threshold=0
  TX threshold registers: pthresh=0 hthresh=0 wthresh=0
  TX RS bit threshold=0 - TXQ flags=0x0
Press enter to exit
 

 

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


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

1. нужно как минимум два интерфейса для dpdk

2. Нужно знать сколько у вас очередей на Сетевой и сколько ядер

3. выделить ядра(как раз и надо выставить верный core_mask) под нужное количество очередей (все зависит от количества pps на входящем интейфесе) + ко всему надо прописать параметры /usr/lib/tuned/dpdk-tune/tuned.conf

 

у меня там вот так

[main]
include=latency-performance

[bootloader]
cmdline=isolcpus=1,2,3,4,5,6,7,8,9 default_hugepagesz=1G hugepagesz=1G hugepages=24

а затем tuned-adm profile dpdk-tune

ребут и должно работать. По крайней мере у меня было так

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


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

Сетевых у меня две, но на интеле одна из них. Ее и добавляю в dpdk. Получается нужно два интерфейса на интеле добавленых в dpdk?

Очередей у нее всего две, одна rx вторая tx

tuned-adm не срабатывает с уефи, о чем есть патч уже, но его я не проблвал еще.

Профиль tuned такой же, но вот не срабатывает, не видит grub2.cfg

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


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

нужна два интерфейса: один на прием трафика, второй для отправки rst пакетов

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


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

@max1976 беспокоюсь насчёт скрипта выгрузки, про поддержку дампа 2.4 Быть, или не быть ?

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


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

Такой вопрос: если у нас в сети ipv6 вообще не используется, не анонсируется и т.п. Любая проверка по ip6 будет показывать блокировку. Получается будут штрафовать за то, что мы "блочим" что-то, что должно быть доступно ?

Либо extFilter ставить, и чтоб только на этом сервере ip6 был доступе ?

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


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

4 часа назад, Morphus сказал:

Такой вопрос: если у нас в сети ipv6 вообще не используется, не анонсируется и т.п. Любая проверка по ip6 будет показывать блокировку. Получается будут штрафовать за то, что мы "блочим" что-то, что должно быть доступно ?

Либо extFilter ставить, и чтоб только на этом сервере ip6 был доступе ?

Можете вообще отключить блокировку. У нас нет закона

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


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

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

@max1976 беспокоюсь насчёт скрипта выгрузки, про поддержку дампа 2.4 Быть, или не быть ?

Уже сделано, но пока не выкладывал на github.

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


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

@max1976 выложите, пожалуйста )

Мне до конца месяца DPI этот поднять надо.

Или можно настраивать то, что сейчас есть, а потом только скрипт этот обновить ? Или фильтр изменения тоже затрагивают ?

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


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

2 часа назад, Morphus сказал:

@max1976 выложите, пожалуйста )

Мне до конца месяца DPI этот поднять надо.

Или можно настраивать то, что сейчас есть, а потом только скрипт этот обновить ? Или фильтр изменения тоже затрагивают ?

Фильтр обновлять не нужно. Надо будет обновить zapret.pl.

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


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

Приветствую.

поставил нужное железо.

Пытаюсь запустить, имеем сетевые

Network devices using DPDK-compatible driver
============================================
0000:22:00.0 'I350 Gigabit Network Connection 1521' drv=igb_uio unused=
0000:22:00.1 'I350 Gigabit Network Connection 1521' drv=igb_uio unused=
 

в конфиге так

[port 1]
queues = 0,1

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

 

в поле мак что писать? чей тут мак? интерфейса через который отправлять?

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


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

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

Приветствую.

поставил нужное железо.

Пытаюсь запустить, имеем сетевые

Network devices using DPDK-compatible driver
============================================
0000:22:00.0 'I350 Gigabit Network Connection 1521' drv=igb_uio unused=
0000:22:00.1 'I350 Gigabit Network Connection 1521' drv=igb_uio unused=
 

в конфиге так

[port 1]
queues = 0,1

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

 

в поле мак что писать? чей тут мак? интерфейса через который отправлять?

mac на который отправлять. DST MAC

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


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

Только что, epollia сказал:

mac на который отправлять. DST MAC

спасибо, я это прочитал, но не понял чей именно.

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


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

Только что, Cramac сказал:

спасибо, я это прочитал, но не понял чей именно.

у тебя линк между сервером и маршрутизатором. Так вот тут указывается mac мршрутизатора.

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


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

пока запуск у меня заканчивается этим:

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

2018-10-08 14:17:01.268 [1935] Information TriesControl - Loaded 41 lines from the domains file '/usr/local/etc/extfilter/domains'
2018-10-08 14:17:01.268 [1935] Information TriesControl - Loaded 18 lines from the urls file '/usr/local/etc/extfilter/urls'
2018-10-08 14:17:01.268 [1935] Information TriesControl - Masked domains: #keys 2, #nodes 3
2018-10-08 14:17:01.269 [1935] Information TriesControl - URLS: #keys 59, #nodes 84
2018-10-08 14:17:01.269 [1935] Information TriesControl - Set active trie in the slot 0
2018-10-08 14:17:01.269 [1935] Information TriesControl - Loaded 45 lines from the domains file '/usr/local/etc/extfilter/ssl_host'
2018-10-08 14:17:01.269 [1935] Information TriesControl - Masked domains: #keys 2, #nodes 3
2018-10-08 14:17:01.269 [1935] Information TriesControl - URLS: #keys 45, #nodes 62
2018-10-08 14:17:01.269 [1935] Information TriesControl - Set active trie in the slot 0
2018-10-08 14:17:01.269 [1935] Information Application - Setting mbuf size to 16384
2018-10-08 14:17:01.274 [1935] Information Application - Allocated mbuf pool (16384 entries) on socket 0
2018-10-08 14:17:01.274 [1935] Information Application - Set number of entries of the sender buffer to 8192
2018-10-08 14:17:01.278 [1935] Information Application - sender port=0 rx_queueid=0 nb_rxd=256
2018-10-08 14:17:01.278 [1935] Information Application - sender port=0 tx_queueid=0 tb_rxd=512
2018-10-08 14:17:01.278 [1935] Information Application - Port 0 MAC: a0:36:9f:a3:57:08
2018-10-08 14:17:10.453 [1935] Warning Application - Link down on port 0
2018-10-08 14:17:10.453 [1935] Information Application - Port 1 creating queues: rx queue=1, tx queue=3
2018-10-08 14:17:10.453 [1935] Information Application - port=1 tx_queueid=0 nb_txd=512 core=0
2018-10-08 14:17:10.453 [1935] Information Application - port=1 rx_queueid=0 nb_rxd=256 core=1
2018-10-08 14:17:10.453 [1935] Information Application - port=1 tx_queueid=1 nb_txd=512 core=1
2018-10-08 14:17:10.453 [1935] Information Application - port=1 tx_queueid=2 nb_txd=512 core=2
2018-10-08 14:17:14.422 [1935] Information Application - Port 1 MAC: a0:36:9f:a3:57:09
2018-10-08 14:17:14.422 [1935] Information Application - Create pool 'DPIHTTPPool' for the http dissector with number of entries: 250000, element size 960 size: 240000000 bytes
2018-10-08 14:17:14.425 [1935] Information Application - Create pool 'DPISSLPool' for the ssl dissector with number of entries: 470000, element size 320 size: 150400000 bytes
2018-10-08 14:17:14.432 [1935] Information Application - Allocating 8960000000 bytes (20000000 entries) for ipv4 flow pool
2018-10-08 14:17:15.087 [1935] Fatal Application - Not enough memory for ipv4 flows pool. Tried to allocate 8960000000 bytes on socket 0
2018-10-08 14:17:15.087 [1935] Error Application - Exception: Not enough memory for flows pool

 

# cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-862.14.4.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet isolcpus=1,2,3 default_hugepagesz=1G hugepagesz=1G hugepages=4

 

# grep Huge /proc/meminfo
AnonHugePages:      8192 kB
HugePages_Total:       4
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:    1048576 kB

 

После запуска extfilter 

HugePages_Free становится 0 и не возвращается при падении.

 

# /usr/local/bin/extFilter --config-file=/usr/src/extfilter/etc/extfilter.ini --pidfile=/var/run/extfilter.pid
EAL: Detected 16 lcore(s)
EAL: Probing VFIO support...
EAL: PCI device 0000:22:00.0 on NUMA socket -1
EAL:   probe driver: 8086:1521 net_e1000_igb
EAL: PCI device 0000:22:00.1 on NUMA socket -1
EAL:   probe driver: 8086:1521 net_e1000_igb

 

процесс запуска такой:

modprobe uio
insmod /usr/src/dpdk-stable-17.05.1/build/kmod/igb_uio.ko

/usr/src/dpdk-stable-17.05.1/usertools/dpdk-devbind.py --bind=igb_uio 0000:22:00.1
/usr/src/dpdk-stable-17.05.1/usertools/dpdk-devbind.py --bind=igb_uio 0000:22:00.0

/usr/local/bin/extFilter --config-file=/usr/src/extfilter/etc/extfilter.ini --pidfile=/var/run/extfilter.pid

 

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


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

добавь еще памяти, видимо не может память выделить. Попробуй выставить 8 гигов и уменьшить scale в конфиге.

 

Он же в логах говорит чтопытаеся выделить почти 9 гигов, а у тебя всего 4. 

;scale = 10

Раскоменнтируй и выстави для начала 3

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


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

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

;scale = 10

Раскоменнтируй и выстави для начала 3

да, мне уже подсказали, это помогло, пошло.

 

Осталось разобраться с ответами и пропусками

 

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

2018-10-09 06:10:17.292 [2427] Information Application - Port 0 input packets 0, input errors: 0, mbuf errors: 0, missed packets: 0
2018-10-09 06:10:17.292 [2427] Information Application - Port 1 input packets 0, input errors: 0, mbuf errors: 0, missed packets: 144769886
2018-10-09 06:10:17.292 [2427] Information Application - Worker thread on core 1 statistics:
2018-10-09 06:10:17.292 [2427] Information Application - Thread seen packets: 0, IP packets: 0 (IPv4 packets: 0, IPv6 packets: 0), seen bytes: 0, Average packet size: 0 bytes, Traffic throughput: 0.00 pps
2018-10-09 06:10:17.292 [2427] Information Application - Thread IPv4 fragments: 0, IPv6 fragments: 0, IPv4 short packets: 0
2018-10-09 06:10:17.292 [2427] Information Application - Thread matched by ip/port: 0, ssl SNI: 0, ssl/ip: 0, http IPv4: 0, http IPv6: 0
2018-10-09 06:10:17.292 [2427] Information Application - Thread redirected blocked http IPv4: 0, redirected http IPv6: 0, sended forbidden IPv4: 0, sended forbidden IPv6: 0, rst sended IPv4: 0, rst sended IPv6: 0
2018-10-09 06:10:17.292 [2427] Information Application - All worker threads seen packets: 0, IP packets: 0 (IPv4 packets: 0, IPv6 packets: 0), seen bytes: 0, traffic throughtput: 0.00 pps
2018-10-09 06:10:17.293 [2427] Information Application - All worker IPv4 fragments: 0, IPv6 fragments: 0, IPv4 short packets: 0
2018-10-09 06:10:17.293 [2427] Information Application - All worker threads matched by ip/port: 0, matched by ssl SNI: 0, matched by ssl/ip: 0, matched by HTTP: 0
2018-10-09 06:10:17.293 [2427] Information Application - All worker threads redirected blocked http: 0, sended forbidden IPv4: 0, sended forbidden IPv6: 0, rst sended IPv4: 0, rst sended IPv6: 0

 

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


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

странно что на вход пакеты не регистрируются, а все попадают в missed.

Запусти с debug level, может там больше полезной инфы будет.

Увеличивай количество очередей, если есть такая возможность.

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


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

2018-10-09 06:26:56.888 [4660] Information Application - Port 0 input packets 0, input errors: 0, mbuf errors: 0, missed packets: 0
2018-10-09 06:26:56.888 [4660] Information Application - Port 1 input packets 30, input errors: 0, mbuf errors: 0, missed packets: 1071626
2018-10-09 06:26:56.888 [4660] Information Application - Worker thread on core 1 statistics:

 

scale = 2

и

[port 1]
queues = 0,1; 1,2; 2,3

 

видимо все-таки памяти надо больше.

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


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

Там много параметров :(
Пробуй сначала scale крутить, а дальше видно будет. В логах больше ничего не пишет?

 

На сколько я помню значение scale примерно равно количеству гигабт траифка прилетающего на порт

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


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

трафика у нас мало, 300мбит.

Scale больше 2 не стартует.

включил дебаг, посмотрим

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


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

Join the conversation

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

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

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

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

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

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

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