Перейти к содержимому
Калькуляторы
В 24.01.2020 в 11:13, felixio_01 сказал:

Подскажите, что нужно исправить, что бы собиралась статистика и по трафику? 

 

собирать ее?

 

iptables -A FORWARD -j NETFLOW

 

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


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

Подскажите, кто делал так.

 

Надо собрать два модуля ipt_NETFLOW.

Например:

ipt_NETFLOW.ko

ipt_NETFLOW2.ko

 

и чтобы эти модули работали каждый со своими настройками.

 

PS: Собирать пробовал. Модуль даже собирался без ошибок. Но при попытке загрузить второй модуль выдаётся ошибка

modprobe: ERROR: could not insert 'ipt_NETFLOW2': Cannot allocate memory

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

 

Криво собрал?

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


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

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

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


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

12 минут назад, pppoetest сказал:

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

Мне надо чтобы на один коллектор шел NetFlow трафик  с одних IP,

а на другой коллектор шел с других IP.

 

В настройках ipt_NETFLOW есть параметр destination, где можно прописать куда посылать NetFlow, но это не подходит.

Так как на оба коллектора будет литья весь нетфлоу. А мне весь не надо.

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


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

Так работать не будет. Модуль регистрируется со своими дескрипторами и простым переименованием файла вы вопрос не решите. Меняйте дизайн или проксируйте пакеты или ищите другую точку сбора.

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


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

В 28.01.2020 в 16:47, boco сказал:

собирать ее?

 


iptables -A FORWARD -j NETFLOW

 

нет, трафик не попадает в таблицу. 

 

ipt.png

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


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

правило должно быть у вас как минимум 3 в цепочке, вы же пакетам дали ACCEPT.

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


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

13 часов назад, felixio_01 сказал:

нет, трафик не попадает в таблицу.

омг =)

 

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

4. Example of directing all IPv4 traffic into the module:

     # iptables -I FORWARD -j NETFLOW
     # iptables -I INPUT -j NETFLOW
     # iptables -I OUTPUT -j NETFLOW

   Note: It is preferable (because easier to understand) to _insert_
   NETFLOW target at the top of the chain, otherwise not all traffic may
   reach NETFLOW if your iptables configuration is complicated and some
   other rule inadvertently consume the traffic (dropping or acepting before
   NETFLOW is reached). It's always good to test your configuration.
   Use  iptables -L -nvx  to check pkts/bytes counters on the rules.

 

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


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

13 часов назад, boco сказал:

омг =)

 

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


4. Example of directing all IPv4 traffic into the module:

     # iptables -I FORWARD -j NETFLOW
     # iptables -I INPUT -j NETFLOW
     # iptables -I OUTPUT -j NETFLOW

   Note: It is preferable (because easier to understand) to _insert_
   NETFLOW target at the top of the chain, otherwise not all traffic may
   reach NETFLOW if your iptables configuration is complicated and some
   other rule inadvertently consume the traffic (dropping or acepting before
   NETFLOW is reached). It's always good to test your configuration.
   Use  iptables -L -nvx  to check pkts/bytes counters on the rules.

 

Её моё, не дочитал документацию. Спасибо! 

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


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

И снова здравствуйте! ))))

Уважаемые, помогите советом, может кто сталкивался....

Пробую компилировать ipt_netflow, но вываливается с ошибкой. 

 

./configure --enable-natevents --enable-macaddress --enable-vlan --enable-direction --enable-aggregation --enable-physdev --enable-promisc
Kernel version: 4.19.67 (proc)
Kernel sources: /lib/modules/4.19.0-6-amd64/build (found)
Checking for presence of include/linux/netfilter.h... Yes
netfilter.h uses CONFIG_NF_NAT_NEEDED... Yes
Checking for presence of include/linux/llist.h... Yes
Checking for presence of include/linux/grsecurity.h... No
Iptables binary version: 1.8.2 (nf_tables) (detected from /usr/sbin/iptables)
pkg-config for version 1.8.2 (nf_tables) exists: No (reported: 1.8.2)
Check for working gcc: Yes (gcc)
Checking for presence of xtables.h... Yes
Searching for iptables-1.8.2 (nf_tables) sources..
! Can not find iptables source directory, you may try setting it with --ipt-src=
! This is not fatal error, yet. Will be just using default include dir.
Iptables include flags: none (default)
Iptables module path: /usr/lib/x86_64-linux-gnu/xtables (from libxtables.so, from binary)
Searching for net-snmp-config... No.
Searching for net-snmp agent... No.
 Assuming you don't want net-snmp agent support.
 Otherwise do:  apt-get install snmpd libsnmp-dev
Checking for DKMS... Yes.
Creating Makefile.. done.

  If you need some options enabled run ./configure --help
  Now run: make all install

далее

/ipt-netflow/ipt-netflow$ sudo make all install
./gen_compat_def > compat_def.h
Compiling for kernel 4.19.67
make -C /lib/modules/4.19.0-6-amd64/build M=/home/eldar/ipt-netflow/ipt-netflow modules CONFIG_DEBUG_INFO=y
make[1]: Entering directory '/usr/src/linux-headers-4.19.0-6-amd64'
  CC [M]  /ipt-netflow/ipt-netflow/ipt_NETFLOW.o
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c: In function ‘netflow_target’:
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5259:7: error: implicit declaration of function ‘nf_bridge_info_get’; did you mean ‘nf_bridge_get’? [-Werror=implicit-function-declaration]
   if (nf_bridge_info_get(skb) && nf_bridge_info_get(skb)->physdev) \
       ^~~~~~~~~~~~~~~~~~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5264:3: note: in expansion of macro ‘copy_dev’
   copy_dev(nf->o_ifphys, physoutdev, if_out);
   ^~~~~~~~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5259:57: error: invalid type argument of ‘->’ (have ‘int’)
   if (nf_bridge_info_get(skb) && nf_bridge_info_get(skb)->physdev) \
                                                         ^~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5264:3: note: in expansion of macro ‘copy_dev’
   copy_dev(nf->o_ifphys, physoutdev, if_out);
   ^~~~~~~~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5260:46: error: invalid type argument of ‘->’ (have ‘int’)
    out = resolve_snmp(nf_bridge_info_get(skb)->physdev); \
                                              ^~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5255:30: note: in definition of macro ‘resolve_snmp’
 # define resolve_snmp(dev) ((dev)? (dev)->ifindex : -1)
                              ^~~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5264:3: note: in expansion of macro ‘copy_dev’
   copy_dev(nf->o_ifphys, physoutdev, if_out);
   ^~~~~~~~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5260:46: error: invalid type argument of ‘->’ (have ‘int’)
    out = resolve_snmp(nf_bridge_info_get(skb)->physdev); \
                                              ^~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5255:37: note: in definition of macro ‘resolve_snmp’
 # define resolve_snmp(dev) ((dev)? (dev)->ifindex : -1)
                                     ^~~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5264:3: note: in expansion of macro ‘copy_dev’
   copy_dev(nf->o_ifphys, physoutdev, if_out);
   ^~~~~~~~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5259:57: error: invalid type argument of ‘->’ (have ‘int’)
   if (nf_bridge_info_get(skb) && nf_bridge_info_get(skb)->physdev) \
                                                         ^~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5265:3: note: in expansion of macro ‘copy_dev’
   copy_dev(nf->i_ifphys, physindev, if_in);
   ^~~~~~~~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5260:46: error: invalid type argument of ‘->’ (have ‘int’)
    out = resolve_snmp(nf_bridge_info_get(skb)->physdev); \
                                              ^~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5255:30: note: in definition of macro ‘resolve_snmp’
 # define resolve_snmp(dev) ((dev)? (dev)->ifindex : -1)
                              ^~~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5265:3: note: in expansion of macro ‘copy_dev’
   copy_dev(nf->i_ifphys, physindev, if_in);
   ^~~~~~~~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5260:46: error: invalid type argument of ‘->’ (have ‘int’)
    out = resolve_snmp(nf_bridge_info_get(skb)->physdev); \
                                              ^~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5255:37: note: in definition of macro ‘resolve_snmp’
 # define resolve_snmp(dev) ((dev)? (dev)->ifindex : -1)
                                     ^~~
/ipt-netflow/ipt-netflow/ipt_NETFLOW.c:5265:3: note: in expansion of macro ‘copy_dev’
   copy_dev(nf->i_ifphys, physindev, if_in);
   ^~~~~~~~
cc1: some warnings being treated as errors
make[4]: *** [/usr/src/linux-headers-4.19.0-6-common/scripts/Makefile.build:315: /ipt-netflow/ipt-netflow/ipt_NETFLOW.o] Error 1
make[3]: *** [/usr/src/linux-headers-4.19.0-6-common/Makefile:1534: _module_/home/eldar/ipt-netflow/ipt-netflow] Error 2
make[2]: *** [Makefile:146: sub-make] Error 2
make[1]: *** [Makefile:8: all] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.19.0-6-amd64'
make: *** [Makefile:25: ipt_NETFLOW.ko] Error 2

 

uname -a
Linux gw2 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux

 

 

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


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

А тут /usr/src/linux-headers-4.19.0-6-amd64 Что нить есть вообще?

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


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

45 минут назад, zavndw сказал:

А тут /usr/src/linux-headers-4.19.0-6-amd64 Что нить есть вообще?

конечно. 

 

 ls /usr/src/linux-headers-4.19.0-6-amd64
arch  include  Makefile  Module.symvers  scripts  tools

 

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


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

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

 

Есть сервер, подключенный к порту коммутатора, на котором настроен порт мирроринг. Зеркалируется входящий и исходящий трафик macbook с одного порта на порт, к которому подключен сервер.

На сервере imac tcpdump показывает зеркалируемый iphone трафик и на eth1, и на br0. Но счётчик iptables для правила -j NETFLOW равен нулю, и ipt_netflow не видит трафик с зеркалируемого порта.

На сервере стоит клон RHEL 6.1 с ядром 2.6.32-131.0.15.el6.x86_64, iptables 1.4.7, ipt_netflow 1.8.

Настраивал по этой доке.

 

Есть какие-нибудь идеи?

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

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


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

В 04.03.2020 в 21:10, mackz сказал:

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

 

Есть сервер, подключенный к порту коммутатора, на котором настроен порт мирроринг. Зеркалируется входящий и исходящий трафик macbook с одного порта на порт, к которому подключен сервер.

На сервере imac tcpdump показывает зеркалируемый iphone трафик и на eth1, и на br0. Но счётчик iptables для правила -j NETFLOW равен нулю, и ipt_netflow не видит трафик с зеркалируемого порта.

На сервере стоит клон RHEL 6.1 с ядром 2.6.32-131.0.15.el6.x86_64, iptables 1.4.7, ipt_netflow 1.8.

Настраивал по этой доке.

 

Есть какие-нибудь идеи?

 

Я щас делаю тоже самое, видимо. Зеркалю трафик со свича на сервер с centos 7.

модуль собрал и добавил правило iptables -A PREROUTING -t raw -i br0 -j NETFLOW

зеркалю примерно 1.5g, но cat /proc/net/stat/ipt_netflow_flows килобайты трафика, иногда вижу нужные ip, но в общем как-то все непонятно.

tcpdumb показыват, что трафик летит на br0, а вот сенсор походу где-то не там сидит. Ответа тут не нашел. Хелп

Изменено пользователем Владимир320

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


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

2 часа назад, Владимир320 сказал:

Я щас делаю тоже самое, видимо. Зеркалю трафик со свича на сервер с centos 7.

модуль собрал и добавил правило iptables -A PREROUTING -t raw -i br0 -j NETFLOW 

зеркалю примерно 1.5g, но cat /proc/net/stat/ipt_netflow_flows килобайты трафика, иногда вижу нужные ip, но в общем как-то все непонятно.

tcpdumb показыват, что трафик летит на br0, а вот сенсор походу где-то не там сидит. Ответа тут не нашел. Хелп

Поменяется ли поведение, если сказать так:

 

brctl setfd br0 0

 

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


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

ничего не поменялось(. Товарищи, кто нить делал подобную схема с зеркалом? Мне не нужно учитывать трафик на самом сервере, нужно его зеркалить со свича и на отдельный серв. Сам сенсор видит тока порт на котором инет, а тот порт на который зеркалю трафик не видит

Вешаю правило iptables -A OUTPUT -j NETFLOW, пингую гугл и вижу свой пинг в сенсоре - это радует. Prerouting же сопротивляется

Изменено пользователем Владимир320

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


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

Посмотрел трафик на бридже через wireshark и вижу, что трафик с меткой влана. Вобще весь трафик, который зеркалю - тегированный, может с этим и есть беда?

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


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

Как собран модуль?

Цитата

     --enable-vlan
         enables exporting of dot1q VLAN Ids and Priorities for every flow
         in v9/IPFIX. It supports outer and second dot1q tags if present.

 

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


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

16 часов назад, pppoetest сказал:

Как собран модуль?

 

 

Да, я видел это в Readme. 

./configure --enable-vlan

 

Kernel version: 4.4.216-1.el7.elrepo.x86_64 (uname)
Kernel sources: /lib/modules/4.4.216-1.el7.elrepo.x86_64/build (found)
Checking for presence of include/linux/netfilter.h... Yes
netfilter.h uses CONFIG_NF_NAT_NEEDED... Yes
Checking for presence of include/linux/llist.h... Yes
Checking for presence of include/linux/grsecurity.h... No
Iptables binary version: 1.4.21 (detected from /usr/sbin/iptables)
pkg-config for version 1.4.21 exists: Yes
Check for working gcc: Yes (gcc)
Checking for presence of xtables.h... Yes (using pkg-config)
Iptables include flags:   (pkg-config)
Iptables module path: /usr/lib64/xtables (pkg-config)
Searching for net-snmp-config... Yes /usr/bin/net-snmp-config
Searching for net-snmp agent... Yes.
Checking for DKMS... Yes.
! You are already have module installed via DKMS
!   it will be uninstalled on 'make install' and
!   current version of module installed afterwards.
! Use --disable-dkms option if don't want this.
Creating Makefile.. done.

 

То есть типа установлен этот модуль у меня. Очередная головная боль(. Трафик проходящий через серв я вижу, зеркальный не вижу.  --enable-vlan я сделал, поднял бридж инт:

7: ens3f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether 90:e2:ba:eb:0a:bd brd ff:ff:ff:ff:ff:ff
    inet6 fe80::92e2:baff:feeb:abd/64 scope link
       valid_lft forever preferred_lft forever
13: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 90:e2:ba:eb:0a:bd brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.10/24 brd 10.10.10.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::92e2:baff:feeb:abd/64 scope link
       valid_lft forever preferred_lft forever

 

повесил правило на этот инт -A PREROUTING -i br0 -j NETFLOW. Что ещё нужно этому модулю. Уже 20 раз перечитал этот README. Коллектор использую flow-capture, который и пишет в файлы трафик проходящий через серв

Изменено пользователем Владимир320

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


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

Это правильное поведение стандартного IPTABLES.

 

В вашем случе нужно включить режим promisc на сетевой карте для получения всех пакетов игнорируя dst mac.

И включить promisc в ipt-netflow модуле:

 

https://github.com/aabc/ipt-netflow/blob/master/README.promisc

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


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

В 19.03.2020 в 11:49, Hawk128 сказал:

Это правильное поведение стандартного IPTABLES.

 

В вашем случе нужно включить режим promisc на сетевой карте для получения всех пакетов игнорируя dst mac.

И включить promisc в ipt-netflow модуле:

 

https://github.com/aabc/ipt-netflow/blob/master/README.promisc

Так и не осилил это. Убрал зеркало в итоге и повесил правило на Forward.

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


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

Debian 10, iptables v1.8.2, ядро 4.19.118-2. ipt-netflow последняя версия с nel, nfdump последняя версия с nel. Проблема такая, что часть Netflow 9 пишется с 1970-01-01 03:00:00.000. Куда копать?

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


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

Join the conversation

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

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

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

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

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

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

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