由于 IPTABLES 是一种基于软件的防火墙,我想知道是否可以记录它造成的确切负载、CPU 周期等。
在小型系统上,我相信这很简单。但如果有数千条规则怎么办?
查看 TOP 和 PS,这似乎让我困惑,所以它一定是内核级组件?
它可以被隔离和监控/记录吗?
预计抵达时间: 为了清楚起见,在现代 Linux 上,iptables 不是一个可见的进程或守护进程,因此无法看到它,ps aux
我不知道如何将它与内核隔离开来
答案1
iptables 规则的实际处理是在 softirq 上下文中完成的,因此si%
中top
(或%soft
中mpstat
)的值的变化应该会提示它会导致多少负载。如果您想要更多详细信息,可以使用ftrace
函数 tracer(请参阅https://www.kernel.org/doc/Documentation/trace/ftrace.txt更多信息)记录对相应内核函数的调用并测量延迟。但是,这需要内核支持,即特定的内核配置选项。