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

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

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



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

Баг на Ubuntu 16.04

Поставил с нуля систему

apt-get install build-essential libssl-dev git
apt-get install autoconf libtool 
apt-get install libpcap0.8 libpcap0.8-dev

https://pocoproject.org/releases/poco-1.7.6/poco-1.7.6.zip
make | make install


http://fast.dpdk.org/rel/dpdk-16.07.1.tar.xz
ставим по инструкции
потом
git clone https://github.com/max197616/extfilter.git
./autogen.sh
./configure -with-dpdk_home=/opt/dpdk --with-dpdk_target=build
make -уже не собирает - ошибка выше.

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

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


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

; dpdk порт, где анализировать трафик

dpdk_port = 1

2016-11-08 17:02:02.392 [16777] Fatal Application - DPDK device for port 1 doesn't exist

 

Вроде порты с 0 начинаются. Он ругается что порта нет

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

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


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

; dpdk порт, где анализировать трафик

dpdk_port = 1

2016-11-08 17:02:02.392 [16777] Fatal Application - DPDK device for port 1 doesn't exist

 

Вроде порты с 0 начинаются. Он ругается что порта нет

 

У меня как раз сетевая используется, она вроде как 1 идёт.

 

0000:05:00.1 '82576 Gigabit Network Connection' if=enp5s0f1 drv=igb unused=igb_uio,uio_pci_generic

 

Или тут про какие то другие порты речь идёт в секции "dpdk_port" ?

 

У меня тоже тест кстати не проходит.

 

 ./testpmd -c7 -n3 --vdev=eth_pcap1,iface=enp5s0f1
EAL: Detected 4 lcore(s)
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
PMD: Initializing pmd_pcap for eth_pcap1
PMD: Creating pcap-backed ethdev on numa socket 0
PMD: bnxt_rte_pmd_init() called for (null)
EAL: PCI device 0000:05:00.0 on NUMA socket -1
EAL:   probe driver: 8086:10c9 rte_igb_pmd
EAL: PCI device 0000:05:00.1 on NUMA socket -1
EAL:   probe driver: 8086:10c9 rte_igb_pmd
USER1: create a new mbuf pool <mbuf_pool_socket_0>: n=163456, size=2176, socket=0
EAL: Error - exiting with code: 1
 Cause: Creation of mbuf pool for socket 0 failed: Cannot allocate memory

 

grep -i huge /proc/meminfo
AnonHugePages:    757760 kB
HugePages_Total:      99
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

grep ^HugePages /proc/meminfo
HugePages_Total:      99
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0

grep HugePages_Total /proc/meminfo
HugePages_Total:      99

grep HugePages_Free /proc/meminfo
HugePages_Free:        0

ipcs -m

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status

 

2.3.2.1. Reserving Hugepages for DPDK Use

The allocation of hugepages should be done at boot time or as soon as possible after system boot to prevent memory from being fragmented in physical memory. To reserve hugepages at boot time, a parameter is passed to the Linux kernel on the kernel command line.

 

Похоже что ребут нужен чтобы выделить память под странички? Или высвободить как то через /proc.

 

 free -hm
             total        used        free      shared  buff/cache   available
Mem:           3.8G        1.1G        895M        161M        1.9G        2.3G
Swap:           15G        836K         15G

 

echo 512 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
grep -i huge /proc/meminfo
AnonHugePages:    610304 kB
HugePages_Total:     169
HugePages_Free:       70
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

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

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


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

У меня как раз сетевая используется, она вроде как 1 идёт.

 

0000:05:00.1 '82576 Gigabit Network Connection' if=enp5s0f1 drv=igb unused=igb_uio,uio_pci_generic

 

Хм у меня такой выхлоп

 

root@proxy:/usr/src/dpdk-16.07/tools# ./dpdk-devbind.py --status

 

Network devices using DPDK-compatible driver

============================================

0000:07:00.0 '82580 Gigabit Network Connection' drv=uio_pci_generic unused=igb_uio

0000:07:00.1 '82580 Gigabit Network Connection' drv=uio_pci_generic unused=igb_uio

 

Network devices using kernel driver

===================================

0000:05:00.0 '82576 Gigabit Network Connection' if=eth4 drv=igb unused=igb_uio,uio_pci_generic

0000:05:00.1 '82576 Gigabit Network Connection' if=eth5 drv=igb unused=igb_uio,uio_pci_generic

0000:07:00.2 '82580 Gigabit Network Connection' if=eth2 drv=igb unused=igb_uio,uio_pci_generic

0000:07:00.3 '82580 Gigabit Network Connection' if=eth3 drv=igb unused=igb_uio,uio_pci_generic

 

Other network devices

=====================

<none>

 

 

 

Модули подгружаются при загрузке, интерфейсы в дпдк переводятся? и hugepages? тест вроде проводится на интерфейсах не переведены в дпдк

 

мой скрипт загрузки

 

modprobe igb_uio

modprobe uio_pci_generic

mkdir -p /mnt/huge

mount -t hugetlbfs nodev /mnt/huge

echo 512 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

 

/usr/local/share/dpdk/tools/dpdk-devbind.py --bind=uio_pci_generic 07:00.0

/usr/local/share/dpdk/tools/dpdk-devbind.py --bind=uio_pci_generic 07:00.1

 

/bin/systemctl start extfilter

 

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


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

dpdk порты отдельно считаются, если он один, то номер его будет 0

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

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


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

dpdk порты отдельно считаются, если он один, то номер его будет 0

 

Ога, понял, спасибо!

 

Но к сожалению, пока не могу победить память...

 

root@extfilter:/opt/dpdk/dpdk-16.07/tools$ modprobe uio_pci_generic
root@extfilter:/opt/dpdk/dpdk-16.07/tools$ mkdir -p /mnt/huge
root@extfilter:/opt/dpdk/dpdk-16.07/tools$ mount -t hugetlbfs nodev /mnt/huge
root@extfilter:/opt/dpdk/dpdk-16.07/tools$ echo 512 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
root@extfilter:/opt/dpdk/dpdk-16.07/tools$ mount -t hugetlbfs nodev /mnt/huge
root@extfilter:/opt/dpdk/dpdk-16.07/tools$ grep -i huge /proc/meminfo
AnonHugePages:     38912 kB
HugePages_Total:     512
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
root@blocked:/opt/dpdk/dpdk-16.07/tools$ /usr/local/bin/extFilter --config-file /etc/extfilter/extfilter.ini
EAL: Detected 4 lcore(s)
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:05:00.0 on NUMA socket -1
EAL:   probe driver: 8086:10c9 rte_igb_pmd
EAL: PCI device 0000:05:00.1 on NUMA socket -1
EAL:   probe driver: 8086:10c9 rte_igb_pmd
Using core 1
       Core configuration:
               Reader thread DPDK device#0: RX-Queue#0;
Using core 2
       Core configuration:
               Worker thread
HASH: memory allocation failed

 

free -hm
             total        used        free      shared  buff/cache   available
Mem:           3.8G        1.2G        2.4G        162M        273M        2.3G
Swap:           15G        788K         15G

 

Я уже даже память почистил с помощью этих команд:

To free pagecache:

echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:

echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:

echo 3 > /proc/sys/vm/drop_caches

 

Постопал mysql и проче.

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

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


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

Решилось ребутом и добавлением памяти.

 

Теперь почему то не добавляет заблокированные url в redirect_url и в nginx из-за этого 304 стало)

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

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


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

 

Нет. Я внесу изменения в текущую версию extfilter.

А можно аналогичное исправление внести и в nfqfilter? Потому как

 

http://37.139.28.143:8001/
http://195.2.252.170:81/бла-бла.html
http://195.2.252.170:81/бла-бла.html

 

в nfqfilter не блочатся.

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


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

 

Нет. Я внесу изменения в текущую версию extfilter.

А можно аналогичное исправление внести и в nfqfilter? Потому как

 

http://37.139.28.143:8001/
http://195.2.252.170:81/бла-бла.html
http://195.2.252.170:81/бла-бла.html

 

в nfqfilter не блочатся.

 

Нет, это разные проблемы. Если вы используете версию ndpi, которую ставит nfqfilter, то эти ссылки должны блокироваться, при условии что порты указаны в protocol's файле.

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


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

max1976 а make_files.pl будет переделываться для того чтобы квагга анонсила маршруты только которые blackhole ?

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


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

max1976 а make_files.pl будет переделываться для того чтобы квагга анонсила маршруты только которые blackhole ?

 

Уже переделано, нет времени выложить.

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


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

Кстати если кому интересно, на Juniper удалось сделать локальное зеркалирование только через ingress, хотя оно как входящее обозначено.

 

input                Ports and VLANs to monitor

output               Outgoing port or VLAN for mirrored packets

egress               Ports and VLANs to monitor outgoing traffic

ingress              Ports and VLANs to monitor incoming traffic

 

show ethernet-switching-options
analyzer port-mirror {
   input {
       ingress {
           interface ae2.0;
       }
   }
   output {
       interface {
           ge-0/0/38.0;
       }
   }

}

 

ae2 - абонент

 

ge-0/0/38.0 - фильтр

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

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


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

Скрипты для extfilter и quagga выложены на github.

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


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

max1976 А разбираться чего на Ubuntu 16.04 не собирается будете?

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


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

Скрипты для extfilter и quagga выложены на github.

 

Спасибо!

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


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

max1976 А разбираться чего на Ubuntu 16.04 не собирается будете?

 

Ubuntu сплошной баг. Я внес изменения в makefile.am, теперь собирается и под ней.

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


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

/usr/local/share/dpdk/tools/dpdk-devbind.py --bind=uio_pci_generic 07:00.1

 

почему используете uio_pci_generic, а не igb_uio ?

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


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

не могу понять, уже 2 абсолютно новых разных системника, nfqfilter+центос7

 

пропускаю только исходящий трафик, это порядка 15-20 мегабит, система наглухо виснет ничего не "выплёвывая" в логи после некоторого времени (1-2 часа)

без фильтра пробовал в топ нагружал проц и память, всё ок, что-то тут фильтр мудрит, у кого было такое?

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


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

не могу понять, уже 2 абсолютно новых разных системника, nfqfilter+центос7

 

пропускаю только исходящий трафик, это порядка 15-20 мегабит, система наглухо виснет ничего не "выплёвывая" в логи после некоторого времени (1-2 часа)

без фильтра пробовал в топ нагружал проц и память, всё ок, что-то тут фильтр мудрит, у кого было такое?

 

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

num_threads = 1

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


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

почему используете uio_pci_generic, а не igb_uio ?

 

Уже не помню. Кажется пытался под другую старую интеловскую сетевую сделать стенд пока основной сервер не приехал. Видимо так и оставил работает же. Сейчас поправил igb_uio тоже отлично работает.

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


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

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

num_threads = 1

так и есть

 

раньше стояло = 2, зависало минут через 10-15

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


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

так и есть

 

раньше стояло = 2, зависало минут через 10-15

 

Тогда идей нет. До extfilter nfqfilter ни разу не зависал (последней версии, как на github).

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


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

Что то не нравиться новой версии extfilter

 

...

Using core 22

Core configuration:

Worker thread

Number of cores in core mask different from workerThreadsVec size

 

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


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

Что то не нравиться новой версии extfilter

 

...

Using core 22

Core configuration:

Worker thread

Number of cores in core mask different from workerThreadsVec size

 

 

Сколько ядер в системе и какая маска ядра в системе? Для старта задайте только 2 рабочих ядра. Для каждого worker'а нужно минимум 600 мегабайт.

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


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

а HT лучше включить для extFilter ?

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


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

Join the conversation

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

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

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

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

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

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

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