max1976 Опубликовано 6 сентября, 2016 · Жалоба Как и обещал, представляю вашему вниманию фильтр extFilter, использующий DPDK, и работающий с зеркалом исходящего трафика от пользователей. Спасибо! А можно еще пример внедрения с iptables\ebtables и vmbr на Linux, тут даже вроде писали про то что подходит инструкция от карбона — http://forum.nag.ru/forum/index.php?showtopic=79886&view=findpost&p=1259090 extFilter работает напрямую с сетевой картой, минуя сетевой стек Linux. В принципе, можно добавить в extFilter функционал, который будет выполнять L2 forwarding. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nma Опубликовано 7 сентября, 2016 · Жалоба max1976 , доброго времени суток! Как я понял, zapret.pl повторно резолвит все домены из БД только если дамп из РКН обновился. А можно ли добавить функционал в zapret.pl для принудительного резолвинга доменов из БД? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ne-vlezay80 Опубликовано 7 сентября, 2016 · Жалоба Как и обещал, представляю вашему вниманию фильтр extFilter, использующий DPDK, и работающий с зеркалом исходящего трафика от пользователей. Спасибо! А можно еще пример внедрения с iptables\ebtables и vmbr на Linux, тут даже вроде писали про то что подходит инструкция от карбона — http://forum.nag.ru/forum/index.php?showtopic=79886&view=findpost&p=1259090 extFilter работает напрямую с сетевой картой, минуя сетевой стек Linux. В принципе, можно добавить в extFilter функционал, который будет выполнять L2 forwarding. По повуду функционала: 1. Можно ли туда дабавить код анализа tcp-потока (как в snort), например на базе libntoh 2. Как использовать 3. Можно ли сделать анализ не всего трафика, а его часть 4. Бодет ли работать с veth? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
max1976 Опубликовано 7 сентября, 2016 · Жалоба max1976 , доброго времени суток! Как я понял, zapret.pl повторно резолвит все домены из БД только если дамп из РКН обновился. А можно ли добавить функционал в zapret.pl для принудительного резолвинга доменов из БД? Запустите zapret.pl с ключом -f, тогда будет принудительно запрошен реестр и вне зависимости от состояния реестра, будут резолвиться все имена хостов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
max1976 Опубликовано 8 сентября, 2016 (изменено) · Жалоба По повуду функционала: 1. Можно ли туда дабавить код анализа tcp-потока (как в snort), например на базе libntoh 2. Как использовать 3. Можно ли сделать анализ не всего трафика, а его часть 4. Бодет ли работать с veth? 1. Можно, всё в ваших руках. 2. Проще простого, делается зеркало исходящего трафика от пользователей на порт, куда подключен extfilter. 3. Можно делать что хотите, внеся изменения в код самостоятельно. 4. Здесь. Изменено 8 сентября, 2016 пользователем max1976 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Pasha_49 Опубликовано 8 сентября, 2016 · Жалоба Смотрите config.log для поиска причины. Спасибо! Проблема была в конфликте установленных в системе Poco с установленными вручную. После удаления системных все собралось. gcc потребовался 4.9+ версии. Пара вопросов: 1. В последних страницах форума писали, что в последних версиях увеличилась нагрузка на CPU. Какая ситуация сейчас? 2. Есть ли в открытом виде вариант с использованием ipsеt вместо bgpd? 3. Есть ли примерные результаты разницы в производительности между nfqfilter и extFilter? 4. Не подскажете как зеркаливать трафик на порт DPDK? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
max1976 Опубликовано 8 сентября, 2016 · Жалоба Пара вопросов: 1. В последних страницах форума писали, что в последних версиях увеличилась нагрузка на CPU. Какая ситуация сейчас? 2. Есть ли в открытом виде вариант с использованием ipsеt вместо bgpd? 3. Есть ли примерные результаты разницы в производительности между nfqfilter и extFilter? 4. Не подскажете как зеркаливать трафик на порт DPDK? 1. Это уже решено в последних версиях. 2. Я этим не занимался. 3. Совсем разные принципы работы у nfqfilter и extfilter. Если при использовании nfqfilter надо направлять выборочный трафик в nfqueue, то при использовании extfilter достаточно на коммутаторе настроить зеркалирование исходящего трафика от пользователей на порт, подключенный к extfilter. 4. См. п. 4. Это уже зависит от конкретного коммутатора. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Pasha_49 Опубликовано 8 сентября, 2016 · Жалоба А если роутер и extfilter находятся на одном сервере, то софтово можно сделать зеркалирование? Например через виртуальный интерфейс и iptables? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
max1976 Опубликовано 8 сентября, 2016 · Жалоба А если роутер и extfilter находятся на одном сервере, то софтово можно сделать зеркалирование? Например через виртуальный интерфейс и iptables? extfilter не предназначен для такого режима работы, используйте nfqfilter. Если вы хотите использовать extfilter, то надо его запускать на другом устройстве и зеркалировать трафик до роутера. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ne-vlezay80 Опубликовано 10 сентября, 2016 · Жалоба По повуду функционала: 1. Можно ли туда дабавить код анализа tcp-потока (как в snort), например на базе libntoh 2. Как использовать 3. Можно ли сделать анализ не всего трафика, а его часть 4. Бодет ли работать с veth? 1. Можно, всё в ваших руках. 2. Проще простого, делается зеркало исходящего трафика от пользователей на порт, куда подключен extfilter. 3. Можно делать что хотите, внеся изменения в код самостоятельно. 4. Здесь. 1. Какие программы кроме snort умеют собирать пакеты 2. Можно ли отправить на анализ консретное колличество трафика. 3. Данный DPI не будет работать с чипсетами realtek. Который есть во многих дещёвых материнских платах. 4. Что делать, если мне досталась плата с realtek Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arhead Опубликовано 11 сентября, 2016 · Жалоба extfilter не предназначен для такого режима работы, используйте nfqfilter. Если вы хотите использовать extfilter, то надо его запускать на другом устройстве и зеркалировать трафик до роутера. Получается я могу объединить порты в мост и с нескольких серваков с Accel-ppp и MPD зеркалировать на свиче исходящий трафик от пользователей? и все будет нормально блокироваться? А то все думал как прикрутить nfqfilter. А тут такое решение. max1976 Низкий поклон тебе за твои труды Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
max1976 Опубликовано 11 сентября, 2016 · Жалоба extfilter не предназначен для такого режима работы, используйте nfqfilter. Если вы хотите использовать extfilter, то надо его запускать на другом устройстве и зеркалировать трафик до роутера. Получается я могу объединить порты в мост и с нескольких серваков с Accel-ppp и MPD зеркалировать на свиче исходящий трафик от пользователей? и все будет нормально блокироваться? А то все думал как прикрутить nfqfilter. А тут такое решение. max1976 Низкий поклон тебе за твои труды Наверное вы имели в виду не мост, а bonding. Все зависит от того, какие каналы на сервера и какой будет канал к фильтру. В фильтре не предусмотрена поддержка bonding, но фильтр можно запустить на любом количестве сетевых карт, главное чтобы количество ядер процессора было не меньше. 1. Какие программы кроме snort умеют собирать пакеты 2. Можно ли отправить на анализ консретное колличество трафика. 3. Данный DPI не будет работать с чипсетами realtek. Который есть во многих дещёвых материнских платах. 4. Что делать, если мне досталась плата с realtek 1. Не знаю. 2. Если ваш коммутатор позволяет это сделать, то да. 3. Большая пропускная способность и дешевая сетевая карта несовместимы. 4. Купить хорошую сетевую карту. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
apog Опубликовано 11 сентября, 2016 (изменено) · Жалоба Есть ли в открытом виде вариант с использованием ipsеt вместо bgpd? Вот мой вариант работы через ipset: На бордере есть четыре списка ipset - dropnets, dropnetsrunning, tofilternets, tofilternetsrunning Для блокирования запрещенных ip работает такое правило: iptables -A FORWARD -m set --match-set dropnetsrunning dst -j DROP Для перенаправления трафика на сторонний сервер с nfqfilter используется Policy-Routing: iptables -t mangle -A PREROUTING ! -s 1.2.3.4/32 -m set --match-set tofilternetsrunning dst -j MARK --set-mark 3 ip route add default via 10.10.10.10 table 3 ip rule add fwmark 3 table 3 На сервере с nfqfilter трафик nat-ится, 1.2.3.4 - это внешний интерфейс, 10.10.10.10 - внутренний интерфейс. Для обновления списков ipset взял за основу скрипт от max1976, выбросил лишнее, и вот что получилось: #!/usr/bin/perl use strict; use warnings; use utf8; use Config::Simple; use DBI; use File::Basename; use Log::Log4perl; use Net::IP qw(:PROC); use Net::CIDR::Lite; binmode(STDOUT,':utf8'); binmode(STDERR,':utf8'); my $dir = File::Basename::dirname($0); my $Config = {}; Config::Simple->import_from($dir.'/zapret-ipset.conf', $Config) or die "Can't open ".$dir."/zapret-ipset.conf for reading!\n"; Log::Log4perl::init( $dir.'/zapret-ipset-log.conf' ); my $logger=Log::Log4perl->get_logger(); my $db_host = $Config->{'DB.host'} || die "DB.host not defined."; my $db_user = $Config->{'DB.user'} || die "DB.user not defined."; my $db_pass = $Config->{'DB.password'} || die "DB.password not defined."; my $db_name = $Config->{'DB.name'} || die "DB.name not defined."; ###my @resolvers = $Config->{'NS.resolvers'} || (); my $dbh = DBI->connect("DBI:mysql:database=".$db_name.";host=".$db_host,$db_user,$db_pass,{mysql_enable_utf8 => 1}) or die DBI->errstr; $dbh->do("set names utf8"); my $only_ip=0; my $total_entry=0; my %ip_s; my %ip6_s; my %ip_s_null; my %ip6_s_null; my %already_out; my $ip_cidr=new Net::CIDR::Lite; my $ip_cidr_null=new Net::CIDR::Lite; my $ip6_cidr=new Net::CIDR::Lite; my $ip6_cidr_null=new Net::CIDR::Lite; my @ip_list; my @ip6_list; my @ip_list_null; my @ip6_list_null; # Выборка IP из таблицы zap2_ips my $sth = $dbh->prepare("SELECT ip FROM zap2_ips UNION SELECT ip FROM zap2_only_ips"); $sth->execute; while (my $ips = $sth->fetchrow_hashref()) { my $ip=get_ip($ips->{ip}); next if($ip eq "0.0.0.0" || $ip eq "0000:0000:0000:0000:0000:0000:0000:0000"); my $ip_version=ip_get_version($ip); if($ip_version == 4) { $ip_cidr->add_any($ip); } elsif ($ip_version == 6) { $ip6_cidr->add_any($ip); } } $sth->finish(); # Конец выборки IP из таблицы zap2_ips # Выборка IP из таблицы zap2_only_ips $sth = $dbh->prepare("SELECT ip FROM zap2_only_ips"); $sth->execute; while (my $ips = $sth->fetchrow_hashref()) { my $ip=get_ip($ips->{ip}); next if($ip eq "0.0.0.0" || $ip eq "0000:0000:0000:0000:0000:0000:0000:0000"); my $ip_version=ip_get_version($ip); if($ip_version == 4) { $ip_cidr_null->add_any($ip); } elsif ($ip_version == 6) { $ip6_cidr_null->add_any($ip); } } $sth->finish(); # Конец выборки IP из таблицы zap2_only_ips @ip_list=$ip_cidr->list(); %ip_s = map { $_ => 1 } @ip_list; @ip6_list=$ip6_cidr->list(); %ip6_s = map { $_ => 1 } @ip6_list; @ip_list_null=$ip_cidr_null->list(); %ip_s_null = map { $_ => 1 } @ip_list_null; @ip6_list_null=$ip6_cidr_null->list(); %ip6_s_null = map { $_ => 1 } @ip6_list_null; $logger->debug("ipset flush tofilternets"); system("ipset", "flush", "tofilternets"); foreach my $ip (@ip_list) { system("ipset", "add", "tofilternets", $ip); } $logger->debug("ipset swap tofilternets"); system("ipset", "swap", "tofilternets", "tofilternetsrunning"); $logger->debug("ipset flush dropnets"); system("ipset", "flush", "dropnets"); foreach my $ip (@ip_list_null) { system("ipset", "add", "dropnets", $ip); } $logger->debug("ipset swap dropnets"); system("ipset", "swap", "dropnets", "dropnetsrunning"); $dbh->disconnect(); sub get_ip { my $ip_address=shift; my $d_size=length($ip_address); my $result; if($d_size == 4) { $result=ip_bintoip(unpack("B*",$ip_address),4); } else { $result=ip_bintoip(unpack("B*",$ip_address),6); } return $result; } Изменено 15 сентября, 2016 пользователем apog Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arhead Опубликовано 12 сентября, 2016 (изменено) · Жалоба extfilter не предназначен для такого режима работы, используйте nfqfilter. Если вы хотите использовать extfilter, то надо его запускать на другом устройстве и зеркалировать трафик до роутера. Получается я могу объединить порты в мост и с нескольких серваков с Accel-ppp и MPD зеркалировать на свиче исходящий трафик от пользователей? и все будет нормально блокироваться? А то все думал как прикрутить nfqfilter. А тут такое решение. max1976 Низкий поклон тебе за твои труды Наверное вы имели в виду не мост, а bonding. Все зависит от того, какие каналы на сервера и какой будет канал к фильтру. В фильтре не предусмотрена поддержка bonding, но фильтр можно запустить на любом количестве сетевых карт, главное чтобы количество ядер процессора было не меньше. Да именно bonding. Сетевая Intel E1G44HT (I340-T4). К серверам через свич гигабитные каналы от роутера. и потом к пользователям. Снимать трафик лучше наверно с каналов выше стоящего провайдера или зеркалировать порты от серверов с ацель? Изменено 12 сентября, 2016 пользователем arhead Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
max1976 Опубликовано 12 сентября, 2016 · Жалоба Да именно bonding. Сетевая Intel E1G44HT (I340-T4). К серверам через свич гигабитные каналы от роутера. и потом к пользователям. Снимать трафик лучше наверно с каналов выше стоящего провайдера или зеркалировать порты от серверов с ацель? Снимайте трафик после NAS/BRAS'ов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arhead Опубликовано 12 сентября, 2016 · Жалоба max1976 Подскажите пожалуйста. Как я правильно понял сначало собираем библиотеку Poco затем DPDK по инструции Не получилось запустить тест root@proxy:/usr/src/dpdk-16.07# build/app/testpmd -c7 -n3 --vdev=eth_pcap0,iface=eth0 --vdev=eth_pcap1,iface=eth1 EAL: Detected 24 lcore(s) EAL: Probing VFIO support... PMD: Initializing pmd_pcap for eth_pcap0 PMD: Creating pcap-backed ethdev on numa socket 0 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 EAL: PCI device 0000:07:00.0 on NUMA socket -1 EAL: probe driver: 8086:150e rte_igb_pmd EAL: PCI device 0000:07:00.1 on NUMA socket -1 EAL: probe driver: 8086:150e rte_igb_pmd EAL: PCI device 0000:07:00.2 on NUMA socket -1 EAL: probe driver: 8086:150e rte_igb_pmd EAL: PCI device 0000:07:00.3 on NUMA socket -1 EAL: probe driver: 8086:150e 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 Попробовал собрать extFilter не понятны парамерты --with-dpdk_target=<target> --with-dpdk_home=<path_to_compiled_dpdk> какие пути прописывать? ОС Debian 8 ядро стоковое. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
max1976 Опубликовано 12 сентября, 2016 · Жалоба Cause: Creation of mbuf pool for socket 0 failed: Cannot allocate memory Судя по всему не зарезервирована память под DPDK. mkdir -p /mnt/huge mount -t hugetlbfs nodev /mnt/huge echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages Попробовал собрать extFilter не понятны парамерты --with-dpdk_target=<target> --with-dpdk_home=<path_to_compiled_dpdk> какие пути прописывать? --with-dpdk_home - полный путь к каталогу, где установлен dpdk. --with-dpdk_target - каталог внутри with-dpdk_home с собранным dpdk (например у меня это build). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Rick Опубликовано 12 сентября, 2016 · Жалоба max1976 Подскажите пожалуйста. Как я правильно понял сначало собираем библиотеку Poco затем DPDK по инструции Не получилось запустить тест root@proxy:/usr/src/dpdk-16.07# build/app/testpmd -c7 -n3 --vdev=eth_pcap0,iface=eth0 --vdev=eth_pcap1,iface=eth1 EAL: Detected 24 lcore(s) EAL: Probing VFIO support... PMD: Initializing pmd_pcap for eth_pcap0 PMD: Creating pcap-backed ethdev on numa socket 0 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 EAL: PCI device 0000:07:00.0 on NUMA socket -1 EAL: probe driver: 8086:150e rte_igb_pmd EAL: PCI device 0000:07:00.1 on NUMA socket -1 EAL: probe driver: 8086:150e rte_igb_pmd EAL: PCI device 0000:07:00.2 on NUMA socket -1 EAL: probe driver: 8086:150e rte_igb_pmd EAL: PCI device 0000:07:00.3 on NUMA socket -1 EAL: probe driver: 8086:150e 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 Попробовал собрать extFilter не понятны парамерты --with-dpdk_target=<target> --with-dpdk_home=<path_to_compiled_dpdk> какие пути прописывать? ОС Debian 8 ядро стоковое. По ошибке Cause: Creation of mbuf pool for socket 0 failed: Cannot allocate memory , попробуй https://www.stableit.ru/2015/04/dpdk-lpm-memory-allocation-failed.html Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arhead Опубликовано 13 сентября, 2016 · Жалоба По ошибке Cause: Creation of mbuf pool for socket 0 failed: Cannot allocate memory , попробуй https://www.stableit.ru/2015/04/dpdk-lpm-memory-allocation-failed.html Спасибо именно это помогло Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arhead Опубликовано 13 сентября, 2016 (изменено) · Жалоба При компиляции не может найти он nDPI который качает и компилирует. Finished successfully building PcapPlusPlus libs /usr/src/extfilter checking for nDPI ./nDPI... not found configure: Getting nDPI from git Cloning into './nDPI'... remote: Counting objects: 4384, done. remote: Total 4384 (delta 0), reused 0 (delta 0), pack-reused 4384 Receiving objects: 100% (4384/4384), 11.58 MiB | 5.18 MiB/s, done. Resolving deltas: 100% (2880/2880), done. Checking connectivity... done. /usr/src/extfilter checking for nDPI ./nDPI... found in ./nDPI checking for ./nDPI/src/lib/.libs/libndpi.a... not found, compiling... autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4 autoreconf: configure.ac: tracing autoreconf: running: libtoolize --copy --force libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'. libtoolize: copying file `m4/libtool.m4' libtoolize: copying file `m4/ltoptions.m4' libtoolize: copying file `m4/ltsugar.m4' libtoolize: copying file `m4/ltversion.m4' libtoolize: copying file `m4/lt~obsolete.m4' autoreconf: running: /usr/bin/autoconf --force autoreconf: running: /usr/bin/autoheader --force autoreconf: running: automake --add-missing --copy --force-missing configure.ac:7: installing '../config.guess' configure.ac:7: installing '../config.sub' configure.ac:7: error: required file '../ltmain.sh' not found parallel-tests: installing '../test-driver' autoreconf: automake failed with exit status: 1 checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking how to print strings... printf checking for style of include used by make... GNU checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... gcc3 checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for mt... mt checking if mt is a manifest tool... no checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (cached) none needed checking whether gcc understands -c and -o together... (cached) yes checking dependency style of gcc... (cached) gcc3 checking if compiler needs -Werror to reject unknown flags... no checking for the pthreads library -lpthreads... no checking whether pthreads work without any flags... no checking whether pthreads work with -Kthread... no checking whether pthreads work with -kthread... no checking for the pthreads library -llthread... no checking whether pthreads work with -pthread... yes checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE checking if more special flags are required for pthreads... no checking for PTHREAD_PRIO_INHERIT... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking for stdint.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for unistd.h... (cached) yes checking for pcap_open_live in -lpcap... yes ./configure: line 12825: pkg-config: command not found checking for NT_Init in -lntapi... no checking for pthread_setaffinity_np in -lpthread... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: error: cannot find input file: `Makefile.in' make: *** No targets specified and no makefile found. Stop. /usr/src/extfilter yes checking for compiling with nDPI... configure: error: Linking with nDPI failed! Изменено 13 сентября, 2016 пользователем arhead Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
max1976 Опубликовано 13 сентября, 2016 · Жалоба При компиляции не может найти он nDPI который качает и компилирует. Ну так он пишет что не может скомпилировать. Посмотрите внимательно на наличие ошибок: configure.ac:7: error: required file '../ltmain.sh' not found Зайдите в каталог nDPI (cd nDPI), добавьте в файл configure.ac после AC_CONFIG_MACRO_DIR([m4]) строку AC_CONFIG_AUX_DIR([.]). Затем запустите ./autogen.sh | make Затем возвращаетесь в каталог с фильтром (cd ..) и запускаете configure с нужными параметрами. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arhead Опубликовано 13 сентября, 2016 · Жалоба При компиляции не может найти он nDPI который качает и компилирует. Ну так он пишет что не может скомпилировать. Посмотрите внимательно на наличие ошибок: configure.ac:7: error: required file '../ltmain.sh' not found Зайдите в каталог nDPI (cd nDPI), добавьте в файл configure.ac после AC_CONFIG_MACRO_DIR([m4]) строку AC_CONFIG_AUX_DIR([.]). Затем запустите ./autogen.sh | make Затем возвращаетесь в каталог с фильтром (cd ..) и запускаете configure с нужными параметрами. Простите за мою невнимательность. Спасибо. Все собралось. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
toxa1977 Опубликовано 14 сентября, 2016 · Жалоба Здравствуйте, тема не нова, но все же. Для себя сформировал 3 основных варианта: 1. Блок по IP 2. DNS blackhole (ну это заводим зону с А 127.0.0.1) 3. DPI 3ий вариант точно не пройдет в силу масштаба предприятия. 2ой вариант пройдет, если прикрыть dns трафик наружу, ну как-то облачно и неуверенно. Блокировка по IP - просто, быстро, надежно, НО! Как происходит процедура (в моем случае): смотрим А запись, добавляем хост(ы) в табличку, форвардим все запросы на 80,443,8080 порты к хостам из таблички на нашу страничку с "Приветствием". Но что мешает взять IP адреса популярных ресурсов, повесить как А запись на заблокированный домен,и угарать. Еще веселее, если идет блокировка всего трафика с IP. Ждем 1го Ноября и реестра... Ну не все же Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 14 сентября, 2016 · Жалоба что мешает взять IP адреса популярных ресурсов, повесить как А запись на заблокированный домен,и угарать. Были прецеденты, вешали ip сайта ркн))) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Pasha_49 Опубликовано 14 сентября, 2016 · Жалоба Вот мой вариант работы через ipset: Спасибо! Буду пробовать! extfilter не предназначен для такого режима работы, используйте nfqfilter. Если вы хотите использовать extfilter, то надо его запускать на другом устройстве и зеркалировать трафик до роутера. Понимаю. Но всё-таки, возможно ли это в теории? Например собрать Open vSwitch с DPDK. И в нем зазеркалировать трафик. Не хочется, что бы простаивали мощности основного сервера, и использовать для этого второй. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...