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

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

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



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

Как и обещал, представляю вашему вниманию фильтр extFilter, использующий DPDK, и работающий с зеркалом исходящего трафика от пользователей.

 

Спасибо! А можно еще пример внедрения с iptables\ebtables и vmbr на Linux, тут даже вроде писали про то что подходит инструкция от карбона — http://forum.nag.ru/forum/index.php?showtopic=79886&view=findpost&p=1259090

 

extFilter работает напрямую с сетевой картой, минуя сетевой стек Linux. В принципе, можно добавить в extFilter функционал, который будет выполнять L2 forwarding.

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


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

max1976 , доброго времени суток!

Как я понял, zapret.pl повторно резолвит все домены из БД только если дамп из РКН обновился. А можно ли добавить функционал в zapret.pl для принудительного резолвинга доменов из БД?

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


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

Как и обещал, представляю вашему вниманию фильтр 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?

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


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

max1976 , доброго времени суток!

Как я понял, zapret.pl повторно резолвит все домены из БД только если дамп из РКН обновился. А можно ли добавить функционал в zapret.pl для принудительного резолвинга доменов из БД?

 

Запустите zapret.pl с ключом -f, тогда будет принудительно запрошен реестр и вне зависимости от состояния реестра, будут резолвиться все имена хостов.

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


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

По повуду функционала:

1. Можно ли туда дабавить код анализа tcp-потока (как в snort), например на базе libntoh

2. Как использовать

3. Можно ли сделать анализ не всего трафика, а его часть

4. Бодет ли работать с veth?

 

1. Можно, всё в ваших руках.

2. Проще простого, делается зеркало исходящего трафика от пользователей на порт, куда подключен extfilter.

3. Можно делать что хотите, внеся изменения в код самостоятельно.

4. Здесь.

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

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


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

Смотрите config.log для поиска причины.

Спасибо! Проблема была в конфликте установленных в системе Poco с установленными вручную. После удаления системных все собралось. gcc потребовался 4.9+ версии.

 

Пара вопросов:

1. В последних страницах форума писали, что в последних версиях увеличилась нагрузка на CPU. Какая ситуация сейчас?

2. Есть ли в открытом виде вариант с использованием ipsеt вместо bgpd?

3. Есть ли примерные результаты разницы в производительности между nfqfilter и extFilter?

4. Не подскажете как зеркаливать трафик на порт DPDK?

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


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

Пара вопросов:

1. В последних страницах форума писали, что в последних версиях увеличилась нагрузка на CPU. Какая ситуация сейчас?

2. Есть ли в открытом виде вариант с использованием ipsеt вместо bgpd?

3. Есть ли примерные результаты разницы в производительности между nfqfilter и extFilter?

4. Не подскажете как зеркаливать трафик на порт DPDK?

 

1. Это уже решено в последних версиях.

2. Я этим не занимался.

3. Совсем разные принципы работы у nfqfilter и extfilter. Если при использовании nfqfilter надо направлять выборочный трафик в nfqueue, то при использовании extfilter достаточно на коммутаторе настроить зеркалирование исходящего трафика от пользователей на порт, подключенный к extfilter.

4. См. п. 4. Это уже зависит от конкретного коммутатора.

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


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

А если роутер и extfilter находятся на одном сервере, то софтово можно сделать зеркалирование? Например через виртуальный интерфейс и iptables?

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


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

А если роутер и extfilter находятся на одном сервере, то софтово можно сделать зеркалирование? Например через виртуальный интерфейс и iptables?

extfilter не предназначен для такого режима работы, используйте nfqfilter. Если вы хотите использовать extfilter, то надо его запускать на другом устройстве и зеркалировать трафик до роутера.

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


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

По повуду функционала:

1. Можно ли туда дабавить код анализа tcp-потока (как в snort), например на базе libntoh

2. Как использовать

3. Можно ли сделать анализ не всего трафика, а его часть

4. Бодет ли работать с veth?

 

1. Можно, всё в ваших руках.

2. Проще простого, делается зеркало исходящего трафика от пользователей на порт, куда подключен extfilter.

3. Можно делать что хотите, внеся изменения в код самостоятельно.

4. Здесь.

 

1. Какие программы кроме snort умеют собирать пакеты

2. Можно ли отправить на анализ консретное колличество трафика.

3. Данный DPI не будет работать с чипсетами realtek. Который есть во многих дещёвых материнских платах.

4. Что делать, если мне досталась плата с realtek

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


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

extfilter не предназначен для такого режима работы, используйте nfqfilter. Если вы хотите использовать extfilter, то надо его запускать на другом устройстве и зеркалировать трафик до роутера.

 

Получается я могу объединить порты в мост и с нескольких серваков с Accel-ppp и MPD зеркалировать на свиче исходящий трафик от пользователей? и все будет нормально блокироваться? А то все думал как прикрутить nfqfilter. А тут такое решение. max1976 Низкий поклон тебе за твои труды

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


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

extfilter не предназначен для такого режима работы, используйте nfqfilter. Если вы хотите использовать extfilter, то надо его запускать на другом устройстве и зеркалировать трафик до роутера.

 

Получается я могу объединить порты в мост и с нескольких серваков с Accel-ppp и MPD зеркалировать на свиче исходящий трафик от пользователей? и все будет нормально блокироваться? А то все думал как прикрутить nfqfilter. А тут такое решение. max1976 Низкий поклон тебе за твои труды

 

Наверное вы имели в виду не мост, а bonding. Все зависит от того, какие каналы на сервера и какой будет канал к фильтру. В фильтре не предусмотрена поддержка bonding, но фильтр можно запустить на любом количестве сетевых карт, главное чтобы количество ядер процессора было не меньше.

 

1. Какие программы кроме snort умеют собирать пакеты

2. Можно ли отправить на анализ консретное колличество трафика.

3. Данный DPI не будет работать с чипсетами realtek. Который есть во многих дещёвых материнских платах.

4. Что делать, если мне досталась плата с realtek

 

1. Не знаю.

2. Если ваш коммутатор позволяет это сделать, то да.

3. Большая пропускная способность и дешевая сетевая карта несовместимы.

4. Купить хорошую сетевую карту.

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


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

Есть ли в открытом виде вариант с использованием 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;
}

 

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

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


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

extfilter не предназначен для такого режима работы, используйте nfqfilter. Если вы хотите использовать extfilter, то надо его запускать на другом устройстве и зеркалировать трафик до роутера.

 

Получается я могу объединить порты в мост и с нескольких серваков с Accel-ppp и MPD зеркалировать на свиче исходящий трафик от пользователей? и все будет нормально блокироваться? А то все думал как прикрутить nfqfilter. А тут такое решение. max1976 Низкий поклон тебе за твои труды

 

Наверное вы имели в виду не мост, а bonding. Все зависит от того, какие каналы на сервера и какой будет канал к фильтру. В фильтре не предусмотрена поддержка bonding, но фильтр можно запустить на любом количестве сетевых карт, главное чтобы количество ядер процессора было не меньше.

 

Да именно bonding. Сетевая Intel E1G44HT (I340-T4). К серверам через свич гигабитные каналы от роутера. и потом к пользователям. Снимать трафик лучше наверно с каналов выше стоящего провайдера или зеркалировать порты от серверов с ацель?

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

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


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

Да именно bonding. Сетевая Intel E1G44HT (I340-T4). К серверам через свич гигабитные каналы от роутера. и потом к пользователям. Снимать трафик лучше наверно с каналов выше стоящего провайдера или зеркалировать порты от серверов с ацель?

 

Снимайте трафик после NAS/BRAS'ов.

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


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

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

 

Судя по всему не зарезервирована память под 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).

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


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

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

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


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

По ошибке Cause: Creation of mbuf pool for socket 0 failed: Cannot allocate memory , попробуй https://www.stableit.ru/2015/04/dpdk-lpm-memory-allocation-failed.html

 

Спасибо именно это помогло

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


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

При компиляции не может найти он 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!

 

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

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


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

При компиляции не может найти он 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 с нужными параметрами.

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


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

При компиляции не может найти он 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 с нужными параметрами.

 

 

Простите за мою невнимательность. Спасибо. Все собралось.

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


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

Здравствуйте, тема не нова, но все же. Для себя сформировал 3 основных варианта:

 

1. Блок по IP

2. DNS blackhole (ну это заводим зону с А 127.0.0.1)

3. DPI

 

3ий вариант точно не пройдет в силу масштаба предприятия.

2ой вариант пройдет, если прикрыть dns трафик наружу, ну как-то облачно и неуверенно.

 

Блокировка по IP - просто, быстро, надежно, НО!

Как происходит процедура (в моем случае): смотрим А запись, добавляем хост(ы) в табличку, форвардим все запросы на 80,443,8080 порты к хостам из таблички на нашу страничку с "Приветствием".

 

Но что мешает взять IP адреса популярных ресурсов, повесить как А запись на заблокированный домен,и угарать. Еще веселее, если идет блокировка всего трафика с IP.

 

Ждем 1го Ноября и реестра...

Ну не все же

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


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

что мешает взять IP адреса популярных ресурсов, повесить как А запись на заблокированный домен,и угарать.

Были прецеденты, вешали ip сайта ркн)))

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


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

Вот мой вариант работы через ipset:

Спасибо! Буду пробовать!

 

extfilter не предназначен для такого режима работы, используйте nfqfilter. Если вы хотите использовать extfilter, то надо его запускать на другом устройстве и зеркалировать трафик до роутера.

Понимаю. Но всё-таки, возможно ли это в теории? Например собрать Open vSwitch с DPDK. И в нем зазеркалировать трафик. Не хочется, что бы простаивали мощности основного сервера, и использовать для этого второй.

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


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

Join the conversation

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

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

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

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

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

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

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