3

プロジェクトでは、たまたまiptablesルールをプログラムで調整する必要があります。いくつかの調査(これあれを含む)の後、 iptables-save 互換の出力を生成し、 iptables -restoreを使用してインポートするのが適切であると結論付けました。ここまでは順調です。

ただし、結果チェーンを大幅に簡素化するため、ipsetsを使用したいと思います。したがって、更新時に、すべての iptables と ipset データをアトミックにフラッシュし、新しいエントリのセットを に配置する必要があります。どうやってやるの?

私が考えることができる唯一の解決策は、最初に新しいipsetを作成し(まだ使用されていない間は原子的にではありません)、次に古いipsetへの参照を使用してiptablesを原子的にフラッシュし、新しいipsetへの参照を使用して新しいチェーンをインポートすることです。(1回のアトミックスワイプで)。その後、古い ipsets は参照も使用もされなくなったため、アトミックに削除することができます。

ただし、そのような提案されたソリューションは、非常に複雑でオーバーヘッドがかかるようです..

これをより良い方法で行う方法を知っている人はいますか?

4

0 に答える 0