t-8*_*8ch 7 networking linux accounting cgroup
我正在尝试获取进程组的网络统计信息。据我所知,Linux 上的复杂网络记帐通常是使用 netfilter/iptables 的记帐基础结构完成的。
因为我想为这样的群体继承遗产cgroups将是一个很好的匹配。
我最好的想法是让 iptables 匹配classid可以使用net_cls-controller设置的。
但似乎,iptables的只能设置通过这个值--set--class。
那么:是否有一种很好的方法可以为 Linux 上的进程组获取(复杂而灵活的)网络记帐和日志记录?
这是一个非常好的问题!谢谢。旧的,但会帮助这里的人
\n\n答:您可以将 cgroup 与 tc 一起使用。我从来没有听说过,但谷歌搜索后发现以下内容:
\n\n\n\n\nnet_cls \xe2\x80\x94 该子系统使用类标识符 (classid) 标记网络数据包,允许 Linux 流量控制器 ( tc) 识别源自特定 cgroup 任务的数据包。
\n
据此,您应该使用 tc 并从那里获取统计数据(有许多可用的工具)。
\n\nhttp://patchwork.ozlabs.org/patch/194809/
\n\n联系 Alexey,也许他可以帮助你:)
\n\nB. 您可以使用 SELinux 和 iptables 进行统计,但使用 cgroup 限制带宽 - 我更喜欢这种方法 - 在某些情况下 tc 对我来说看起来很难看,并且对于集成来说不是最佳选择。
\n\nSELinux 具有网络钩子,可以根据进程标签为每个数据包分配附加数据作为标签,甚至可以传输到另一个系统并过滤/记录/获取统计信息,通过使用 SECMARK 完成 iptables 所能做的一切。
\n\nhttp://selinuxproject.org/page/NB_Networking
\n\n如果你还不熟悉 SELinux,我建议你阅读 RedHat/Fedora 指南“Security-Enhanced Linux”和“SELinux FAQ”,另外还有非常好的解释和指南,Daniel J. Walsh (Dan Walsh) 的博客文章- 谷歌搜索一下。
\n\n另外,对于新手来说,非常好的(也是更好的)起点是关注 YouTube 上的视频,我相信您可以在大约三个小时内处理它并了解您需要的一切:
\n\nSELINUX 很简单,不用害怕
\n