NF_NETLINK_CONNTRACK_EXP_DESTROYとNF_NETLINK_CONNTRACK_DESTROYの違いは何ですか?

NF_NETLINK_CONNTRACK_EXP_DESTROYとNF_NETLINK_CONNTRACK_DESTROYの違いは何ですか?

bindNF_NETLINK_CONNTRACK_DESTROYパラメータにORを使用して破壊イベントを購読するNetlinkソケットがありますgroups

探索中nfnetlink_compat.hしかし、NEW、UPDATE、およびDESTROYに加えて、それぞれEXP_XYZバリアントを持つフラグがさらにあることがわかりました。

#define NF_NETLINK_CONNTRACK_NEW            0x00000001
#define NF_NETLINK_CONNTRACK_UPDATE         0x00000002
#define NF_NETLINK_CONNTRACK_DESTROY        0x00000004
#define NF_NETLINK_CONNTRACK_EXP_NEW        0x00000008
#define NF_NETLINK_CONNTRACK_EXP_UPDATE     0x00000010
#define NF_NETLINK_CONNTRACK_EXP_DESTROY    0x00000020

どこでも EXP_XYZ フラグが見つかりません。この標識に関する詳細情報はどこにありますか?

答え1

このフラグは以下のために存在します。conntrackの通知処理予想するRELATED、これはテーブルに格納され、カーネルによって処理されるconntrack状態です。期待が追加、削除、または変更されると通知が届きます。テーブルはユーザープログラムによって操作できます。conntrackツールツールセットしかし、FTPやSIPヘルパーなどのカーネルモジュールで使用されます。

つまり、私はこの機能を直接使用したことがありません。通常は自動的に処理されます。

関連情報