Netfilter Conntrack Sysfs 变量

/proc/sys/net/netfilter/nf_conntrack_* 变量:

nf_conntrack_acct - 布尔值
  • 0 - 禁用(默认)

  • 非 0 - 启用

启用连接跟踪流统计。每个流添加 64 位字节和数据包计数器。

nf_conntrack_buckets - 整数

哈希表的大小。如果在模块加载期间未指定为参数,则默认大小通过将总内存除以 16384 来计算桶的数量。哈希表永远不会少于 1024 个桶,也永远不会超过 262144 个桶。此 sysctl 仅在初始网络命名空间中可写。

nf_conntrack_checksum - 布尔值
  • 0 - 禁用

  • 非 0 - 启用(默认)

验证传入数据包的校验和。校验和错误的数据包处于 INVALID 状态。如果启用此项,则不会将此类数据包用于连接跟踪。

nf_conntrack_count - 整数(只读)

当前分配的流条目数。

nf_conntrack_events - 布尔值
  • 0 - 禁用

  • 1 - 启用

  • 2 - 自动(默认)

如果启用此选项,则连接跟踪代码将通过 ctnetlink 向用户空间提供连接跟踪事件。如果用户空间程序正在监听 ctnetlink 事件,则默认会分配扩展。

nf_conntrack_expect_max - 整数

期望表的最大大小。默认值为 nf_conntrack_buckets / 256。最小值为 1。

nf_conntrack_frag6_high_thresh - 整数

默认 262144

用于重组 IPv6 分片的最大内存。当为此目的分配 nf_conntrack_frag6_high_thresh 字节的内存时,分片处理程序将丢弃数据包,直到达到 nf_conntrack_frag6_low_thresh。

nf_conntrack_frag6_low_thresh - 整数

默认 196608

请参阅 nf_conntrack_frag6_low_thresh

nf_conntrack_frag6_timeout - 整数(秒)

默认 60

将 IPv6 分片保存在内存中的时间。

nf_conntrack_generic_timeout - 整数(秒)

默认 600

通用超时默认值。这指的是第 4 层未知/不支持的协议。

nf_conntrack_icmp_timeout - 整数(秒)

默认 30

ICMP 超时默认值。

nf_conntrack_icmpv6_timeout - 整数(秒)

默认 30

ICMP6 超时默认值。

nf_conntrack_log_invalid - 整数
  • 0 - 禁用(默认)

  • 1 - 记录 ICMP 数据包

  • 6 - 记录 TCP 数据包

  • 17 - 记录 UDP 数据包

  • 33 - 记录 DCCP 数据包

  • 41 - 记录 ICMPv6 数据包

  • 136 - 记录 UDPLITE 数据包

  • 255 - 记录任何协议的数据包

记录由值指定的类型的无效数据包。

nf_conntrack_max - 整数

允许的最大连接跟踪条目数。默认情况下,此值设置为 nf_conntrack_buckets。请注意,连接跟踪条目会添加到表中两次 - 一次用于原始方向,一次用于回复方向(即,具有反转的地址)。这意味着在默认设置下,一个达到最大值的表将具有平均哈希链长度 2,而不是 1。

nf_conntrack_tcp_be_liberal - 布尔值
  • 0 - 禁用(默认)

  • 非 0 - 启用

保守地做你所做的事情,开明地接受来自他人的东西。如果它非零,我们只将窗口外的 RST 段标记为 INVALID。

nf_conntrack_tcp_ignore_invalid_rst - 布尔值
  • 0 - 禁用(默认)

  • 1 - 启用

如果它是 1,我们不会将窗口外的 RST 段标记为 INVALID。

nf_conntrack_tcp_loose - 布尔值
  • 0 - 禁用

  • 非 0 - 启用(默认)

如果设置为零,我们禁用拾取已建立的连接。

nf_conntrack_tcp_max_retrans - 整数

默认 3

在未收到来自目的地的(可接受的)ACK 的情况下可以重新传输的最大数据包数。如果达到此数字,则会启动一个较短的计时器。

nf_conntrack_tcp_timeout_close - 整数(秒)

默认 10

nf_conntrack_tcp_timeout_close_wait - 整数(秒)

默认 60

nf_conntrack_tcp_timeout_established - 整数(秒)

默认 432000(5 天)

nf_conntrack_tcp_timeout_fin_wait - 整数(秒)

默认 120

nf_conntrack_tcp_timeout_last_ack - 整数(秒)

默认 30

nf_conntrack_tcp_timeout_max_retrans - 整数(秒)

默认 300

nf_conntrack_tcp_timeout_syn_recv - 整数(秒)

默认 60

nf_conntrack_tcp_timeout_syn_sent - 整数(秒)

默认 120

nf_conntrack_tcp_timeout_time_wait - 整数(秒)

默认 120

nf_conntrack_tcp_timeout_unacknowledged - 整数(秒)

默认 300

nf_conntrack_timestamp - 布尔值
  • 0 - 禁用(默认)

  • 非 0 - 启用

启用连接跟踪流时间戳。

nf_conntrack_sctp_timeout_closed - 整数(秒)

默认 10

nf_conntrack_sctp_timeout_cookie_wait - 整数(秒)

默认 3

nf_conntrack_sctp_timeout_cookie_echoed - 整数(秒)

默认 3

nf_conntrack_sctp_timeout_established - 整数(秒)

默认 210

默认设置为 (hb_interval * path_max_retrans + rto_max)

nf_conntrack_sctp_timeout_shutdown_sent - 整数(秒)

默认 3

nf_conntrack_sctp_timeout_shutdown_recd - 整数(秒)

默认 3

nf_conntrack_sctp_timeout_shutdown_ack_sent - 整数(秒)

默认 3

nf_conntrack_sctp_timeout_heartbeat_sent - 整数(秒)

默认 30

此超时用于在辅助路径上设置 conntrack 条目。默认设置为 hb_interval。

nf_conntrack_udp_timeout - 整数(秒)

默认 30

nf_conntrack_udp_timeout_stream - 整数(秒)

默认 120

如果检测到 UDP 流,将使用此扩展超时。

nf_conntrack_gre_timeout - 整数(秒)

默认 30

nf_conntrack_gre_timeout_stream - 整数(秒)

默认 180

如果检测到 GRE 流,将使用此扩展超时。

nf_hooks_lwtunnel - 布尔值
  • 0 - 禁用(默认)

  • 非 0 - 启用

如果启用此选项,则启用轻量级隧道 netfilter 钩子。一旦启用此选项,就无法禁用。

nf_flowtable_tcp_timeout - 整数(秒)

默认 30

控制 tcp 连接的卸载超时。可以将 TCP 连接从 nf conntrack 卸载到 nf flow 表。老化后,连接将返回到 nf conntrack。

nf_flowtable_udp_timeout - 整数(秒)

默认 30

控制 udp 连接的卸载超时。可以将 UDP 连接从 nf conntrack 卸载到 nf flow 表。老化后,连接将返回到 nf conntrack。