我们可以使用 ip_conntrack 模块计算出 GNU\Linux 中的连接数,并且我可以使用以下命令打印当前连接和最大连接数:
root@debian:/home/mohsen/test/shell# sysctl net.ipv4.netfilter.ip_conntrack_count
net.ipv4.netfilter.ip_conntrack_count = 28
root@debian:/home/mohsen/test/shell# sysctl net.ipv4.netfilter.ip_conntrack_max
net.ipv4.netfilter.ip_conntrack_max = 65536
我可以改变它们。
使用 PF 防火墙我可以:
pfctl -si | grep current
pfctl -sm | grep states
现在,我有两个严重的问题:
- 如何在 PF 防火墙中更改它们?
- 如何在没有任何防火墙或第三方的情况下更改 FreeBSD 中的最大和当前值(例如 ip_conntrack)?
答案1
您可以使用语句在 pfctl.conf 中设置选项set limit { ... }
。
您可以通过将“-m”(合并)选项传递给 pfctl(8) 来修改数据包过滤器运行时的状态,即
FreeBSD 9.3-RELEASE-p10 (GENERIC) #0: Tue Feb 24 21:28:03 UTC 2015
# pfctl -sm
No ALTQ support in kernel
ALTQ related functions disabled
states hard limit 10000
src-nodes hard limit 10000
frags hard limit 5000
tables hard limit 1000
table-entries hard limit 200000
# echo "set limit { states 1000000, frags 1000000, src-nodes 100000, tables 1000000, table-entries 1000000 }" | pfctl -mf -
No ALTQ support in kernel
ALTQ related functions disabled
# pfctl -sm
No ALTQ support in kernel
ALTQ related functions disabled
states hard limit 1000000
src-nodes hard limit 100000
frags hard limit 1000000
tables hard limit 1000000
table-entries hard limit 1000000