LINUX.ORG.RU
ФорумAdmin

nDPI как замена l7filter [продолжение2]

 , ,


7

8

Продолжение предыдущей темы

Оригинальный рецепт для тех кто умеет самостоятельно прикладывать патчи и собирать ядра/софт.

Отдельно и более подробно для Ubuntu и CentOS от as_lan

В понятиях netfilter оно умеет проверять пакеты на принадлежность к протоколам (match) и ставить на пакеты метки/классы (target) по аналогии с MARK & CLASSIFY. Есть поддержка NET_NS и IPv6.

Исходники теперь только на Github!

Ветка netfilter основана на nDPI-1.7.

От основной ветки на github/ntop/nDPI/1.7-stable отличается меньшим потреблением памяти и «улучшением» определения bittorrent.

Ветка netfilter2 основана на nDPI-2.0

Ветка netfilter-2.2 основана на nDPI-2.3(dev)

Ветка netfilter-2.6 основана на nDPI-2.6

Ветка flow основана на nDPI-2.6 nDPI-2.8

Продолжается тестирование ветки.

информации о соединении:

  • время создания коннекта и время последнего обновления.
  • протокол L3 и L4
  • адрес источника ipv4/6
  • порт источника (если есть)
  • адрес назначение ipv4/6
  • порт назначения (если есть)
  • счетчики пакетов и байтов в обе стороны
  • интерфейсы
  • обнаруженный протокол (nDPI)
  • имя сертификата SSL
  • имя хоста (для http,dns)
  • информация о nat ipv4 (если применялся)

В некоторых случаях можно будет отказаться от ipt_NETFLOW.

★★★★★

Последнее исправление: vel (всего исправлений: 6)

О тему новую создали. нужно было в архивной ссылку скинуть на эту тему.

TTPartizan
()
8 февраля 2018 г.

1.7

День добрый На 1.7 походу все игры от 4games попадают в торрент. Постараюсь на днях снять дампы.

TTPartizan
()
Ответ на: 1.7 от TTPartizan

Присылай.

Я сейчас бьюсь с переходом на 2.3 и на распоследние ядра.

vel ★★★★★
() автор топика

а не вот этой фигней власти режут всякие торренты ?

Xwo
()

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

Xwo
()
Ответ на: комментарий от vel

Ну как сказать. Мелким провайдерам нужно выживать как то.

ЗЫ по 4гаймс отбой наверное. Они по tcp работают и в торрент не попадают. пинг до серваков минимальный пока не пойму на кого пинать.

TTPartizan
()
Ответ на: комментарий от TTPartizan

Ну как сказать. Мелким провайдерам нужно выживать как то.

Если будут резать торренты, так тем более не выживут.

anc ★★★★★
()

Тут обнаружилась интересная фича в 4.14: conntrack не активизируется после загрузки модуля. И это правильно!

Фичу начали пилить в 4.11, но включили только в 4.14.

Начиная с 4.14 conntrack -L будет показывать 0 до тех пор, пока в правилах не будет использовано хотя бы одно из расширений:

SYNPROXY MASQUERADE CLUSTERIP CT NETMAP CONNSECMARK REDIRECT conntrack state connlabel helper connmark connlimit сonnbytes

vel ★★★★★
() автор топика
Ответ на: комментарий от anc

ну не совсем в тему. Но 90% пользователей вообще не знают что такое торрент А торрент трафик довольно спонтанный, по этому и подрезаем эти пики не давая забивать канал. И могу сказать что смотрят в основном сейчас онлайн и играют. И вот поле того как подрезать стали обращений в ТП, что тормозит инет, вообще ушли в минимум. У всего есть свои плюсы и минусы.

TTPartizan
()
Ответ на: комментарий от TTPartizan

Но 90% пользователей вообще не знают что такое торрент

Наверное зависит от территории. Я в ДС, тут каждый школьник знает «что такое торрент» а это основные потреблятели.

anc ★★★★★
()
3 апреля 2018 г.

Ветка netfilter2 (nDPI-2.0) удалена.

Ветка netfilter-2.2 основаная на nDPI-2.3(dev) прошла недельное тестирование на x86_64 kernel-4.14.28

vel ★★★★★
() автор топика
Ответ на: комментарий от Garri606

Да вроде работало с 4.15, правда 4.15 уже EOL

для 4.15.3 есть патч ( в netfilter-2.2 ).

с 4.14 и 4.16 вроде не должно быть проблем.

vel ★★★★★
() автор топика
Ответ на: комментарий от vel

Всё нормуль, запустил сборку на 4.16.5. Только подправить немного нужно (для 4.16):

patching file net/netfilter/Kconfig

Hunk #1 succeeded at 93 (offset 8 lines).

patching file net/netfilter/nf_conntrack_core.c

Hunk #1 succeeded at 1989 (offset 18 lines).

Garri606
()
Ответ на: комментарий от TTPartizan

А кто может дать статистику в процентах, сколько у кого торрентов от общего трафика?

fet4
()

Vel, привет, сейчас пытался собрать ndpi-netfilter, но не выходит, получаю следующее:

make  -C /lib/modules/4.16.6-1.nDPI.IMQ.el7.centos.x86_64/build M=$PWD modules -w;
make[2]: Entering directory `/usr/src/kernels/4.16.6-1.nDPI.IMQ.el7.centos.x86_64'
  CC [M]  /usr/src/nDPI-netfilter-2.2/ndpi-netfilter/src/main.o
  CC [M]  /usr/src/nDPI-netfilter-2.2/ndpi-netfilter/src/../../src/lib/third_party/src/node.o
  CC [M]  /usr/src/nDPI-netfilter-2.2/ndpi-netfilter/src/../../src/lib/third_party/src/ahocorasick.o
  CC [M]  /usr/src/nDPI-netfilter-2.2/ndpi-netfilter/src/../../src/lib/third_party/src/libcache.o
  CC [M]  /usr/src/nDPI-netfilter-2.2/ndpi-netfilter/src/../../src/lib/ndpi_main.o
/usr/src/nDPI-netfilter-2.2/ndpi-netfilter/src/../../src/lib/ndpi_main.c:46:35: fatal error: ndpi_network_list.c.inc: No such file or directory
 #include "ndpi_network_list.c.inc"
                                   ^
compilation terminated.
make[3]: *** [/usr/src/nDPI-netfilter-2.2/ndpi-netfilter/src/../../src/lib/ndpi_main.o] Error 1
make[2]: *** [_module_/usr/src/nDPI-netfilter-2.2/ndpi-netfilter/src] Error 2
make[2]: Leaving directory `/usr/src/kernels/4.16.6-1.nDPI.IMQ.el7.centos.x86_64'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/nDPI-netfilter-2.2/ndpi-netfilter/src'
make: *** [all] Error 2

Как поправить?

Garri606
()
Ответ на: комментарий от anc

Подрезать скорость и резать совсем - несколько разные вещи. Я как пользователь совсем не против, если торрентам будет выставлен наименьший приоритет или будет незначительно порезана скорость.

Deleted
()
Ответ на: комментарий от fet4

Вообще, должна работать и без патча, но я не проверял это на совсем ванильном ядре.

vel ★★★★★
() автор топика
Последнее исправление: vel (всего исправлений: 1)
15 июня 2018 г.

В первом приближении ветка netfilter-2.2 (на базе ветки dev) готова.

В отличии от ветки netfilter, есть возможность добавлять свои протоколы на основе ip или ip+port или на основе имени хоста ( действует для протоколов dns, http, ssl/https).

Длительное тестрование на патченом ядре 4.16.12/x86_64 прошло успешно.

Планируется тестирование на ядре без патча, потом на 32-х битном ядре.

vel ★★★★★
() автор топика
Ответ на: комментарий от vel

При попытке просмотреть или что-то дописать в /proc/net/xt_ndpi/host_proto - Kernel Panic

версия последняя из гита

хотя сразу после введения данного функционала работало

stasn77
()
Ответ на: комментарий от stasn77

Какое ядро и архитектура ?

Я прока проверял только на 64-х битной системе.

Если откатиться на commit df81e5c3b5921fa8eefe22fbc02c82e09aab87fb - проблема есть ?

Стек вызовов при падении можешь показать ?

vel ★★★★★
() автор топика
Последнее исправление: vel (всего исправлений: 3)
Ответ на: комментарий от vel

ядро 4.9.108/x86_64

стек пока не могу ночью откачу коммит и проверю

stasn77
()
Ответ на: комментарий от vel

на 4.14.35 тоже самое (на тестовой машине где все работало просто обновил ndpi)

вот стек

[    5.842467] Kernel 4.14.35+++ started...
[   52.474461] cat[4650]: segfault at 7f40cbf3f000 ip 00007f40cba0853b sp 00007ffcb5239560 error 6
[   52.474523] BUG: scheduling while atomic: cat/4650/0x00000002
[   52.474562] Modules linked in: netconsole configfs ramoops pstore reed_solomon xt_NETMAP xt_NATMAP(O) xt_nat iptable_nat ipt_REJECT nf_reject_ipv4 iptable_filter xt_HL ipt_NETFLOW(O) xt_TEEMAC nf_dup_mac xt_connlabel xt_hashlimit xt_DSCP iptable_mangle xt_recent xt_multiport xt_dns(O) xt_tcpudp xt_set(O) iptable_raw ip_set_hash_net(O) ip_set(O) nf_nat_h323 nf_nat_pptp nf_nat_masquerade_ipv4 nf_nat_proto_gre nf_nat_ipv4 nf_nat_redirect nf_nat_ftp nf_nat_tftp nf_nat_amanda nf_nat_sip nf_nat_irc nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_pptp nf_conntrack_ftp nf_conntrack_netlink nfnetlink nf_conntrack_tftp nf_conntrack_irc nf_conntrack_proto_gre nf_conntrack_sip xt_conntrack nf_conntrack_h323 ts_kmp nf_conntrack_amanda nf_conntrack_sane ipip tunnel4 ip_tunnel sha256_generic sha1_ssse3 sha1_generic
[   52.474911]  hmac ipv6 9p fscache act_mirred act_gact ip6_tables ip_tables xt_ndpi(O) nf_conntrack_rtcache nf_conntrack libcrc32c x_tables ifb dummy e1000e ptp pps_core igbvf evdev 9pnet_virtio 9pnet atkbd [last unloaded: nf_conntrack_broadcast]
[   52.475076] CPU: 1 PID: 4650 Comm: cat Tainted: G           O    4.14.35+++ #8
[   52.475126] Call Trace:
[   52.475157]  dump_stack+0x5c/0x86
[   52.475184]  __schedule_bug+0x4b/0x70
[   52.475216]  __schedule+0x3bc/0x450
[   52.475242]  schedule+0x34/0x80
[   52.475267]  prepare_exit_to_usermode+0xb7/0xf0
[   52.475302]  ? async_page_fault+0x2c/0x50
[   52.475330]  retint_user+0x8/0x8
[   52.475355] RIP: 0033:0x7f40cba0853b
[   52.475381] RSP: 002b:00007ffcb5239560 EFLAGS: 00010246
[   52.475414] RAX: 00007f40cbf3f000 RBX: 00007f40cbd3fc20 RCX: 0000000000022000
[   52.475452] RDX: 00007f40cbf3f010 RSI: 0000000000022000 RDI: 0000000000000000
[   52.475488] RBP: 0000000000021010 R08: ffffffffffffffff R09: 0000000000000000
[   52.475527] R10: 0000000000000022 R11: 0000000000000246 R12: 0000000000022000
[   52.475565] R13: 0000000000001000 R14: 0000000000021010 R15: 00000000000020ff
[   52.476156] BUG: scheduling while atomic: cat/4650/0x00000000
[   52.476211] Modules linked in: netconsole configfs ramoops pstore reed_solomon xt_NETMAP xt_NATMAP(O) xt_nat iptable_nat ipt_REJECT nf_reject_ipv4 iptable_filter xt_HL ipt_NETFLOW(O) xt_TEEMAC nf_dup_mac xt_connlabel xt_hashlimit xt_DSCP iptable_mangle xt_recent xt_multiport xt_dns(O) xt_tcpudp xt_set(O) iptable_raw ip_set_hash_net(O) ip_set(O) nf_nat_h323 nf_nat_pptp nf_nat_masquerade_ipv4 nf_nat_proto_gre nf_nat_ipv4 nf_nat_redirect nf_nat_ftp nf_nat_tftp nf_nat_amanda nf_nat_sip nf_nat_irc nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_pptp nf_conntrack_ftp nf_conntrack_netlink nfnetlink nf_conntrack_tftp nf_conntrack_irc nf_conntrack_proto_gre nf_conntrack_sip xt_conntrack nf_conntrack_h323 ts_kmp nf_conntrack_amanda nf_conntrack_sane ipip tunnel4 ip_tunnel sha256_generic sha1_ssse3 sha1_generic
[   52.476525]  hmac ipv6 9p fscache act_mirred act_gact ip6_tables ip_tables xt_ndpi(O) nf_conntrack_rtcache nf_conntrack libcrc32c x_tables ifb dummy e1000e ptp pps_core igbvf evdev 9pnet_virtio 9pnet atkbd [last unloaded: nf_conntrack_broadcast]
[   52.476639] ------------[ cut here ]------------
[   52.476685] WARNING: CPU: 1 PID: 20 at free_task+0x34/0x40
[   52.476717] Modules linked in: netconsole configfs ramoops pstore reed_solomon xt_NETMAP xt_NATMAP(O) xt_nat iptable_nat ipt_REJECT nf_reject_ipv4 iptable_filter xt_HL ipt_NETFLOW(O) xt_TEEMAC nf_dup_mac xt_connlabel xt_hashlimit xt_DSCP iptable_mangle xt_recent xt_multiport xt_dns(O) xt_tcpudp xt_set(O) iptable_raw ip_set_hash_net(O) ip_set(O) nf_nat_h323 nf_nat_pptp nf_nat_masquerade_ipv4 nf_nat_proto_gre nf_nat_ipv4 nf_nat_redirect nf_nat_ftp nf_nat_tftp nf_nat_amanda nf_nat_sip nf_nat_irc nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_pptp nf_conntrack_ftp nf_conntrack_netlink nfnetlink nf_conntrack_tftp nf_conntrack_irc nf_conntrack_proto_gre nf_conntrack_sip xt_conntrack nf_conntrack_h323 ts_kmp nf_conntrack_amanda nf_conntrack_sane ipip tunnel4 ip_tunnel sha256_generic sha1_ssse3 sha1_generic
[   52.477031]  hmac ipv6 9p fscache act_mirred act_gact ip6_tables ip_tables xt_ndpi(O) nf_conntrack_rtcache nf_conntrack libcrc32c x_tables ifb dummy e1000e ptp pps_core igbvf evdev 9pnet_virtio 9pnet atkbd [last unloaded: nf_conntrack_broadcast]
[   52.477133] CPU: 1 PID: 20 Comm: ksoftirqd/1 Tainted: G        W  O    4.14.35+++ #8
[   52.477172] task: ffff88003e0e4800 task.stack: ffff88003e100000

может надо как-нибудь с дебагами ядро собрать? как?

stasn77
()
Ответ на: комментарий от vel

коммит откатил - не помогло


[   18.516250] mc[4640]: segfault at 5646677b0f20 ip 0000564665a51ff0 sp 00007ffd3bf9f490 error 7
[   18.516309] note: mc[4640] exited with preempt_count 1
[   18.516612] ------------[ cut here ]------------
[   18.516656] Kernel BUG at ffffffff810f9e74 [verbose debug info unavailable]
[   18.516718] invalid opcode: 0000 [#1] PREEMPT SMP
[   18.516757] Modules linked in: netconsole configfs ramoops pstore reed_solomon xt_NETMAP xt_NATMAP(O) xt_nat iptable_nat ipt_REJECT nf_reject_ipv4 iptable_filter xt_HL ipt_NETFLOW(O) xt_TEEMAC nf_dup_mac xt_connlabel xt_hashlimit xt_DSCP iptable_mangle xt_recent xt_multiport xt_dns(O) xt_tcpudp xt_set(O) iptable_raw ip_set_hash_net(O) ip_set(O) nf_nat_h323 nf_nat_pptp nf_nat_masquerade_ipv4 nf_nat_proto_gre nf_nat_ipv4 nf_nat_redirect nf_nat_ftp nf_nat_tftp nf_nat_amanda nf_nat_sip nf_nat_irc nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_pptp nf_conntrack_ftp nf_conntrack_netlink nfnetlink nf_conntrack_tftp nf_conntrack_irc nf_conntrack_proto_gre nf_conntrack_sip xt_conntrack nf_conntrack_h323 ts_kmp nf_conntrack_amanda nf_conntrack_sane ipip tunnel4 ip_tunnel sha256_generic sha1_ssse3 sha1_generic
[   18.517283]  hmac ipv6 9p fscache act_mirred act_gact ip6_tables ip_tables xt_ndpi(O) nf_conntrack_rtcache nf_conntrack libcrc32c x_tables ifb dummy e1000e ptp pps_core igbvf evdev 9pnet_virtio 9pnet atkbd [last unloaded: nf_conntrack_broadcast]
[   18.517451] CPU: 0 PID: 4640 Comm: mc Tainted: G           O    4.14.35+++ #8
[   18.517503] task: ffff88003d9d8c00 task.stack: ffff880037e10000
[   18.517553] RIP: 0010:vfree+0x24/0x60
[   18.517593] RSP: 0000:ffff880037e13bb8 EFLAGS: 00010206
[   18.517634] RAX: 000000007fffffff RBX: ffff88003a566400 RCX: 0000000000000000
[   18.517690] RDX: ffffffff00000001 RSI: ffff880034129650 RDI: ffffc90000110000
[   18.517743] RBP: ffffc90000110000 R08: 0000000000000001 R09: ffff880037e13b88
[   18.517799] R10: ffff880037e13bd8 R11: 000000000000b800 R12: 0000000000000000
[   18.517850] R13: ffff88003a566510 R14: ffff88003a566508 R15: 0000000000000000
[   18.517905] FS:  0000000000000000(0000) GS:ffff88003fc00000(0000) knlGS:0000000000000000
[   18.517963] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   18.518009] CR2: 00005646677b0f20 CR3: 0000000001a09003 CR4: 00000000001606b0
[   18.518063] Call Trace:
[   18.518093]  n_tty_close+0x2e/0x40
[   18.518135]  tty_ldisc_kill+0x12/0x30
[   18.518207]  tty_ldisc_hangup+0xf4/0x1d0
[   18.518242]  __tty_hangup+0x148/0x2b0
[   18.518283]  tty_release+0xef/0x500
[   18.518315]  __fput+0xc2/0x1c0
[   18.518347]  task_work_run+0x84/0xa0
[   18.518389]  do_exit+0x26e/0xa40
[   18.518420]  do_group_exit+0x35/0xa0
[   18.518454]  get_signal+0x177/0x4d0
[   18.518488]  do_signal+0x1e/0x530
[   18.518524]  ? __do_page_fault+0x1e0/0x3c0
[   18.518560]  ? do_sys_open+0x18b/0x1f0
[   18.518593]  prepare_exit_to_usermode+0xc4/0xf0
[   18.518636]  ? async_page_fault+0x2c/0x50
[   18.518679]  retint_user+0x8/0x8
[   18.518720] RIP: 0033:0x564665a51ff0
[   18.518756] RSP: 002b:00007ffd3bf9f490 EFLAGS: 00010213
[   18.518797] RAX: 0000000000000000 RBX: 00005646677d3970 RCX: 00005646676e1000
[   18.518865] RDX: 0000000000000000 RSI: ffffffffffffffff RDI: 00005646677b0f20
[   18.518917] RBP: 0000564665d21580 R08: 0000000000000000 R09: 0000000000000020
[   18.518967] R10: 0000000000000000 R11: 0000000000000246 R12: 00005646677d4370
[   18.519022] R13: 0000000000000000 R14: 0000000000000000 R15: 00005646677d4390
[   18.520785] Code: 1f 84 00 00 00 00 00 65 8b 05 39 ad f1 7e a9 00 00 10 00 75 16 48 85 ff 74 33 a9 00 ff 1f 00 75 0c be 01 00 00 00 e9 fc fe ff ff <0f> 0b 53 48 c7 c3 60 c7 01 00 65 48 03 1d 8a 52 f1 7e 48 89 da
[   18.524247] RIP: vfree+0x24/0x60 RSP: ffff880037e13bb8
[   18.526066] ---[ end trace 2894b0c641d080c1 ]---
[   18.528657] Kernel panic - not syncing: Fatal exception in interrupt
[   18.530028] Kernel Offset: disabled

stasn77
()
Ответ на: комментарий от stasn77

оба падения в netconsole 8-/

Пока я не вижу ни одной строчки с ndpi в стеке вызовов :(

Если не открывать host_proto то проблемы нет ?

Странно. Я пойду почитаю про то как настроть netconsole. Последний раз я им пытался пользоваться лет 10 назад.

Ядро патченное (c NF_CONNTRACK_CUSTOM) или нет ?

vel ★★★★★
() автор топика
Последнее исправление: vel (всего исправлений: 1)
Ответ на: комментарий от vel

Да, netconsole

если не открывать и не писать в него, то все ОК

ядро патченое

собрал ядро с дебагом, паники пропали, но в дмесг летят ошибки и не работает запись в файл

[ 1363.525872] xt_ndpi 1.2 unload.
[ 1363.563717] xt_ndpi v1.2 ndpi 2.3.0-1258-83dd10a IPv6=YES debug_message=no
                BT: hash_size 32k, hash_expiation 1800 sec, log_size 0kb
                sizeof hash_ip4p_node=44 id_struct=296 PATRICIA_MAXBITS=128
                flow_struct=2016 packet_struct=1400
                  flow_tcp_struct=37 flow_udp_struct=26 int_one_line_struct=16
                ndpi_ip_addr_t=16 ndpi_protocol=8 nf_ct_ext_ndpi=60
                spinlock_t=4
                NF_EXT_ID 10
[ 1363.571526] xt_ndpi MAX_PROTOCOLS 320 LAST_PROTOCOL 244
[ 1371.175905] xt_ndpi: Can't update host_proto with errors
[ 1371.176958] xt_ndpi_BADs[23070]: segfault at 56125ba81658 ip 00007f03cb56799a sp 00007ffdb6f3abf0 error 6
[ 1371.177951] BUG: scheduling while atomic: xt_ndpi_BADs/23070/0x00000000
[ 1371.178965] Modules linked in: xt_ndpi(O) xt_CT netconsole configfs ramoops pstore reed_solomon xt_NETMAP xt_NATMAP(O) xt_nat iptable_nat ipt_REJECT nf_reject_ipv4 iptable_filter xt_HL ipt_NETFLOW(O) xt_TEEMAC nf_dup_mac xt_connlabel xt_hashlimit xt_DSCP iptable_mangle xt_recent xt_multiport xt_dns(O) xt_tcpudp xt_set(O) iptable_raw ip_set_hash_net(O) ip_set(O) nf_nat_h323 nf_nat_pptp nf_nat_masquerade_ipv4 nf_nat_proto_gre nf_nat_ipv4 nf_nat_redirect nf_nat_ftp nf_nat_tftp nf_nat_amanda nf_nat_sip nf_nat_irc nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_pptp nf_conntrack_ftp nf_conntrack_netlink nfnetlink nf_conntrack_tftp nf_conntrack_irc nf_conntrack_proto_gre nf_conntrack_sip xt_conntrack nf_conntrack_h323 ts_kmp nf_conntrack_amanda nf_conntrack_sane ipip tunnel4 ip_tunnel sha256_generic
[ 1371.186416]  sha1_ssse3 sha1_generic hmac ipv6 9p fscache act_mirred act_gact ip6_tables ip_tables nf_conntrack_rtcache nf_conntrack libcrc32c x_tables ifb dummy e1000e ptp pps_core igbvf evdev 9pnet_virtio 9pnet atkbd [last unloaded: xt_ndpi]
[ 1371.188821] CPU: 0 PID: 23070 Comm: xt_ndpi_BADs Tainted: G        W  O    4.14.35+++ #9
[ 1371.189979] Call Trace:
[ 1371.191128]  dump_stack+0x5c/0x86
[ 1371.192271]  __schedule_bug+0x4b/0x70
[ 1371.193416]  __schedule+0x3bc/0x450
[ 1371.194547]  schedule+0x34/0x80
[ 1371.195692]  prepare_exit_to_usermode+0xb7/0xf0
[ 1371.196842]  ? async_page_fault+0x2c/0x50
[ 1371.197955]  retint_user+0x8/0x8
[ 1371.199067] RIP: 0033:0x7f03cb56799a
[ 1371.200166] RSP: 002b:00007ffdb6f3abf0 EFLAGS: 00010202
[ 1371.201358] RAX: 000056125ba80fc0 RBX: 00007f03cb89dc20 RCX: 0000000000000691
[ 1371.202465] RDX: 00000000000119b1 RSI: 0000000000000000 RDI: 000056125ba81650
[ 1371.203632] RBP: 00007f03cb89dc80 R08: 0000000000000003 R09: 000056125ba7fde8
[ 1371.204763] R10: 0000000000000400 R11: 0000000000000001 R12: 000000000000067f
[ 1371.205908] R13: 000056125ba72010 R14: 0000000000000690 R15: 0000000000000067
stasn77
()
Ответ на: комментарий от vel

еще раз проверил

на коммите ef2028190ec9117419a503e080fc2a0be4d3a5e0

все работает нормально, добавляет по крайней мере и читает файл

только очистка (с минусом когда) протокола глючит, не очищает все сразу, приходится несколько раз запускать, но даже так может не очистить и там мусор по итогу какой-то остается, надо модуль перезагружать (

stasn77
()
Ответ на: комментарий от anc

Если будут резать торренты, так тем более не выживут.

Вряд ли кто-то будет плакать, если торрентокачальщик уйдёт грузить канал конкурента...

AS ★★★★★
()
Ответ на: комментарий от vel

Падать перестало после коммита

НО раньше добавить хост в протокол нужно было «+some_proto:some_host», сейчас добавляет без плюса только. Как удалить хост или очистить все вообще не пойму )

stasn77
()
Ответ на: комментарий от stasn77

В INSTALL об этом написано :)

Смысл в том, что избирательно из host_proto не удалить.

Можно все удалить ( строка 'reset' )

Можно добавлять, дубли игнорируются.

Т.к. нет удаления, то '-' и '+" оказались ненужными.

«Стоимость» открытия host_proto на запись очень велика, так что дописывать туда по одной строке (хосту) не рекомендуется.

Я сейчас понял, что есть еще ошибка, но она не фатальная. Нужно исправлять.

vel ★★★★★
() автор топика
Ответ на: комментарий от vel

Сорри, новый INSTALL не прочитал, думал ничего не поменялось

В принципе мне так даже больше подходит для моих задач :)

stasn77
()

Есть смысл обновиться на 0b5ec1e

До этого были очень неприятные ошибки в распределении памяти.

удивлен, что kfree() на ругается на попытки отдать блок памяти, который не выделялся ранее.

vel ★★★★★
() автор топика
Ответ на: комментарий от vel

Обновился вчера, полет нормальный.

Еще одна мелочь. Когда-то была расширена возможность ставить размер хэша до 512, но в одном месте поправить значение забыли и без этого патчика оно не работает:

--- a/ndpi-netfilter/src/main.c
+++ b/ndpi-netfilter/src/main.c
@@ -2924,7 +2924,7 @@ static int __init ndpi_mt_init(void)
                pr_err("xt_ndpi: error creating port cache.\n");
                goto free_id;
        }
-       if(bt_hash_size && bt_hash_size > 32) bt_hash_size = 32;
+       if(bt_hash_size && bt_hash_size > 512) bt_hash_size = 512;
        if(!bt_hash_tmo || bt_hash_tmo < 900) bt_hash_tmo = 900;
        if( bt_hash_tmo > 3600) bt_hash_tmo = 3600;

stasn77
()
Ответ на: комментарий от stasn77

Потерял при переходе на 2.2 :(

Потом добавлю.

Хотелось бы провести тестирование на 32-х битной платформе.

vel ★★★★★
() автор топика
Ответ на: комментарий от vel

нашел таки один сервачек с 32х

собирается с варнингами вот такими:

make[2]: Entering directory '/opt/src/linux-4.9'
  CC [M]  /opt/src/nDPI-2.2/ndpi-netfilter/src/main.o
In file included from ./include/linux/printk.h:6:0,
                 from ./include/linux/kernel.h:13,
                 from /opt/src/nDPI-2.2/ndpi-netfilter/src/main.c:23:
/opt/src/nDPI-2.2/ndpi-netfilter/src/main.c: In function 'n_hostdef_proc_read':
./include/linux/kern_levels.h:4:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'size_t {aka unsigned int}' [-Wformat=]
 #define KERN_SOH "\001"  /* ASCII Start Of Header */
                  ^
./include/linux/kern_levels.h:13:19: note: in expansion of macro 'KERN_SOH'
 #define KERN_INFO KERN_SOH "6" /* informational */
                   ^
./include/linux/printk.h:284:9: note: in expansion of macro 'KERN_INFO'
  printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
         ^
/opt/src/nDPI-2.2/ndpi-netfilter/src/main.c:3009:5: note: in expansion of macro 'pr_info'
     pr_info("read:1 cpos %lld ppos %lld bpos %d count %lu proto %s\n",
     ^
/opt/src/nDPI-2.2/ndpi-netfilter/src/main.c: In function 'ndpi_mt_init':
./include/linux/kern_levels.h:4:18: warning: format '%zu' expects argument of type 'size_t', but argument 6 has type 'long unsigned int' [-Wformat=]
 #define KERN_SOH "\001"  /* ASCII Start Of Header */
                  ^
./include/linux/kern_levels.h:13:19: note: in expansion of macro 'KERN_SOH'
 #define KERN_INFO KERN_SOH "6" /* informational */
                   ^
./include/linux/printk.h:284:9: note: in expansion of macro 'KERN_INFO'
  printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
         ^
/opt/src/nDPI-2.2/ndpi-netfilter/src/main.c:3724:2: note: in expansion of macro 'pr_info'
  pr_info("xt_ndpi v1.2 ndpi %s"
  ^
./include/linux/kern_levels.h:4:18: warning: format '%zu' expects argument of type 'size_t', but argument 7 has type 'long unsigned int' [-Wformat=]
 #define KERN_SOH "\001"  /* ASCII Start Of Header */
                  ^
./include/linux/kern_levels.h:13:19: note: in expansion of macro 'KERN_SOH'
 #define KERN_INFO KERN_SOH "6" /* informational */
                   ^
./include/linux/printk.h:284:9: note: in expansion of macro 'KERN_INFO'
  printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
         ^
/opt/src/nDPI-2.2/ndpi-netfilter/src/main.c:3724:2: note: in expansion of macro 'pr_info'
  pr_info("xt_ndpi v1.2 ndpi %s"
  ^
./include/linux/kern_levels.h:4:18: warning: format '%zu' expects argument of type 'size_t', but argument 9 has type 'long unsigned int' [-Wformat=]
 #define KERN_SOH "\001"  /* ASCII Start Of Header */
                  ^
./include/linux/kern_levels.h:13:19: note: in expansion of macro 'KERN_SOH'
 #define KERN_INFO KERN_SOH "6" /* informational */
                   ^
./include/linux/printk.h:284:9: note: in expansion of macro 'KERN_INFO'
  printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
         ^
/opt/src/nDPI-2.2/ndpi-netfilter/src/main.c:3724:2: note: in expansion of macro 'pr_info'
  pr_info("xt_ndpi v1.2 ndpi %s"
  ^
/opt/src/nDPI-2.2/ndpi-netfilter/src/main.c: In function 'generic_proc_write.isra.15':
/opt/src/nDPI-2.2/ndpi-netfilter/src/main.c:2551:1: warning: the frame size of 1052 bytes is larger than 1024 bytes [-Wframe-larger-than=]
 }
 ^
/opt/src/nDPI-2.2/ndpi-netfilter/src/main.c: In function 'n_ipdef_proc_read':
/opt/src/nDPI-2.2/ndpi-netfilter/src/main.c:2643:1: warning: the frame size of 1140 bytes is larger than 1024 bytes [-Wframe-larger-than=]
 }
 ^
  CC [M]  /opt/src/nDPI-2.2/ndpi-netfilter/src/../../src/lib/third_party/src/node.o
  CC [M]  /opt/src/nDPI-2.2/ndpi-netfilter/src/../../src/lib/third_party/src/ahocorasick.o
  CC [M]  /opt/src/nDPI-2.2/ndpi-netfilter/src/../../src/lib/third_party/src/libcache.o
  CC [M]  /opt/src/nDPI-2.2/ndpi-netfilter/src/../../src/lib/ndpi_main.o
In file included from /opt/src/nDPI-2.2/ndpi-netfilter/src/../../src/lib/ndpi_main.c:50:0:
/opt/src/nDPI-2.2/ndpi-netfilter/src/../../src/lib/third_party/src/ndpi_patricia.c: In function 'ndpi_ascii2prefix':
/opt/src/nDPI-2.2/ndpi-netfilter/src/../../src/lib/third_party/src/ndpi_patricia.c:337:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
 }
 ^

при попытке вгрузить модуль - паника

stasn77
()
Ответ на: комментарий от stasn77

да, я уже нашел причину.

Чуть позже обновлю.

vel ★★★★★
() автор топика
1 октября 2018 г.

Началось тестирование на базе 2.4-stable. Если за несколько суток не упадет, то опубликую.

Уже собирается, запускается и не падает пару часов :)

vel ★★★★★
() автор топика
18 ноября 2018 г.

BitTorrent с включенным(принудительным) шифрованием не умеет? =( Мне почему-то кажется, что раньше умел. Если выключить, то дропает, если включить, то клиент спокойно качает.

as_lan ★★
()
Ответ на: комментарий от post-factum

Ну я технические тонкости реализации не знаю, но в том же https можно в заголовке по SNI узнать адрес сайта. Думал в шифрованном битторренте заголовки тоже не шифруются, и по этим заголовкам можно понять что либо. А вот обмен непосредственно данными зашифрован. Тот же openvpn ведь детектируется.

as_lan ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.