IPTABLESはソフトウェアベースのファイアウォールであるため、発生している正確な負荷、CPUサイクルなどをログに記録できるかどうか疑問に思っています。
小さなシステムでは、それは些細なことだと確信しています。しかし、何千ものルールはどうですか?
TOPとPSを見ると、これは私にはわかりにくいようです。カーネルレベルのコンポーネントである必要がありますか?
分離して監視/ログに記録できますか?
eta:わかりやすくするために、最近のLinuxでは、iptablesは表示可能なプロセスまたはデーモンではないため、たとえばps aux
では表示できません。それ以外の場合はカーネルから分離する方法の損失
Iptablesルールの実際の処理はsoftirqコンテキストで行われるため、si%
top
(または%soft
in mpstat
)は、それが引き起こす負荷の量についてのヒントを提供する必要があります。詳細が必要な場合は、ftrace
関数トレーサーを使用できます(詳細については、 https://www.kernel.org/doc/Documentation/trace/ftrace.txt を参照)。それぞれのカーネル関数への呼び出しをログに記録し、レイテンシーを測定します。ただし、これにはカーネルでのサポート、つまり特定のカーネル構成オプションが必要です。