Вопрос: Как вести учет в сети с помощью групп


Я пытаюсь получить сетевую статистику для групп процессов. Насколько мне известно, сложный сетевой учет в linux обычно выполняется с использованием инфраструктуры учета netfilter / iptables.

Поскольку я хотел бы иметь наследование для таких групп cgroups будет хорошим совпадением.

Моя лучшая идея заключалась бы в том, чтобы позволить iptables соответствовать classid которые могут быть установлены с помощью net_cls-controller.

Но, похоже, iptables может задавать это значение через --set--class,

Итак: Есть ли хороший способ получения (сложного и гибкого) сетевого учета и ведения журнала для групп процессов в Linux?


7
2017-08-27 19:40


Источник


Можете ли вы предоставить конкретную информацию о том, что вы хотите собирать с точки зрения «статистики»? - Matthew Ife


Ответы:


Очень хороший вопрос! Спасибо. Старый, но поможет людям здесь


A. Вы можете использовать cgroups с tc. Я никогда не слышал об этом, но после поиска в Google:

net_cls - эта подсистема маркирует сетевые пакеты с идентификатором класса   (classid), который позволяет диспетчеру трафика (tc) Linux идентифицировать   пакетов, исходящих из конкретной задачи группы.

В соответствии с этим вы должны работать с tc и получать статистику оттуда (доступно много инструментов).

http://patchwork.ozlabs.org/patch/194809/

Свяжитесь с Алексеем, может быть, он может помочь вам в этом :)


B. Вы можете использовать SELinux и iptables для статистики, но ограничить диапазон с помощью групп - мне нравится этот подход больше - tc выглядит уродливо для меня в некоторых случаях и не оптимален для интеграции.

SELinux имеет крючки для сети и может назначать дополнительные данные как ярлык каждому пакету в соответствии с метками процесса, даже способным передавать в другую систему и фильтровать / регистрировать / получать статистику, делать все, что можно, с помощью iptables с помощью SECMARK.

http://selinuxproject.org/page/NB_Networking

Если вы еще не знакомы с SELinux, я рекомендую вам ознакомиться с руководствами RedHat / Fedora «Повышение безопасности Linux» и «Часто задаваемые вопросы SELinux», кроме того, есть очень интересные объяснения и руководства, сообщения в блогах Даниэля Дж. Уолша (Dan Walsh) - Google для этого.

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

  • SELinux для всех - Paul Wayper
  • SELinux для Sysadmins - Paul Wayper

SELINUX ЛЕГКО, НЕ ДОЛЖЕН


1
2018-04-23 18:09





С последними ядрами вы можете напрямую сопоставлять себя с группами в iptables: http://lwn.net/Articles/569678/

Он включен в основное ядро.


1