基于pf防火墙控制IP连接数

max number   
服务器最大可以建立的连接数(状态数量),如果已经建立的连接数达到了这个数那么多处的连接将被丢弃。
source-track
跟踪每个IP的连接状态数它有中使用格式:source-track rule 和 source-track global
max-src-nodes number
最多允许连接的IP数量,它必须和“source-track rule”一块使用。
max-src-states number
单个IP的最大连接数。

例子:
pass in on $ext_if proto tcp to $web_server port www flags S/SA keep state \
(max 200, source-track rule, max-src-nodes 100, max-src-states 3)
这个例子达到了这样的效果:
1 绝对限制了最大连接状态数为200个。
2 所有连接状态数据依据source-track规则提供。
3 最大允许100个节点(IP地址)并发连接。
4 每个IP地址最大3个连接状态。
max-src-conn number
单个IP的最大连接数,注意这里是指完成了三次握手的并发连接数
max-src-conn-rate number/interval
但IP的连接建立的速率(个/秒)
例子:
table  persist
block in quick from
pass in on $ext_if proto tcp to $web_server port www flags S/SA keep state \
(max-src-conn 100, max-src-conn-rate 15/5, overload  flush)
overload
在这里放置符合条件的IP
flush [global]
清除原来的IP状态
这个例子达到这样的效果:
1 允许每个IP最大可以有100个非并发的连接
2 允许每个IP最大连接建立的速率小于每秒15个
3 把连接建立过快的IP放到abusive_hosts表中
4 一旦一个IP被放到了abusive_hosts表中后,立即应用block规测
原文地址:https://www.cnblogs.com/studio313/p/1242528.html