TweetさまりiptablesはAPIが古い設計なので、フィルタルールの追加時には全データをユーザランドにコピーして、再ストアする動きをする。そのため、ルール数が多くなるとフィルタルールの追加に時間がかかるようになる。対して、Linuxの次期標準ファイアウォールアプリケーションとして開発されているnftablesはその点が解消されており、フィルタルールの追加が高速に行われるようになっている。今日は25万個のルールを詰め込んでみて、その差を体感してみようと思う。18.04を準備した。v1.6.1また、nftablesを実行する環境は、上記から以下の変更を加えたものになる。適当なコマンドをペタペタ貼り付けたファイルを用意して、これを実行した。基本的にはiptablesとnftablesでほぼ互換の設定をしているはず。結果のグラフは以下のようになった。(点線はExcelによる近似曲線)とりあえずiptablesは設計通りの単調増加。nftablesはその点が解消されて常に一定で設定速度も十分高速。iptablesでは大量のフィルタルールを設定するケースで、想定していない設定エラーなどに遭遇するかもしれない。nftablesに切り替えればいいというのは事実かもしれないけど、既にiptablesが前提になっているOpenStackとかDockerなんかもいたりするので、上手に付き合っていけるように特性を踏まえておくと良いと思います。ruy@ainoniwa.net。