iptables'最近'模块的联机手册解释了模块本身接受参数。 如何设置这些参数呢? 我会想象他们将被设置在模块加载的地方。 我不知道那是哪里
有没有人有任何想法?
如果您手动加载模块,只需将其添加到modprobe命令行即可:
modprobe ipt_recent param1=val1 param2=val2
否则,如果它被自动加载,你可以在/etc/modprobe.d创build一个文件,比如/etc/modprobe.d/ipt_recent ,内容为:
options ipt_recent param1=val1 param2=val2
这将做与上面的modprobe线相同的东西。
我没有回复TopQ的答案的声望,但是我注册了一个帐户,只是为了告诉别人不要做他的build议。 该模块的源代码( http://lxr.linux.no/linux+v3.9/net/netfilter/xt_recent.c )没有规定检测对该参数的更改,也没有规定重新分配负责的内核缓冲区跟踪最近的点击。
因此,如果您将该参数chmod写入并随后进行更改,则对现有最近的命中日志的后续条目将超出之前分配的内核缓冲区,并导致内核崩溃。
如果模块已经加载,您仍然可以通过操作/ sys / module / ipt_recent / parameters /中的值来更改参数。
例如,要更改ip_pkt_list_tot的值,可以执行以下操作:
echo 200> / sys / module / ipt_recent / parameters / ip_pkt_list_tot
当然,你必须得到许可。
警告:理解改变它会影响机器的内存使用情况,因为这些细节存储在内存中,iptables需要更多的资源来处理大量数据的存储。
设置xt_recentconfiguration文件
创build文件/etc/modprobe.d/xt_recent.conf并包含一行:
options xt_recent ip_list_tot=50 ip_pkt_list_tot=150
不要忘记添加一些关于你在做什么的评论。 未来你会感谢你。
准备重新初始化xt_recent
在我们删除当前使用最近模块的防火墙中的任何规则或者简单地禁用防火墙之前。 你可能想要保存你的规则,然后用sudo iptables-save > somefile.txt或sudo service iptables save如果你的发行版支持的话。
根据你的情况select其中的一个清理。 此时您也可以简单地重新启动计算机,然后跳到添加规则。
closuresiptables
sudo service iptables stop
删除特定规则:
iptables -L --line-numbers列出规则并在规则中查找“recent:”。 iptables -D INPUT #其中#是要删除规则的行号。 重新初始化xt_recent
用sudo modprobe -r xt_recent删除模块。 用sudo modprobe xt_recent加回来。
请检查以确保您的参数与sudo cat /sys/module/xt_recent/parameters/ip_pkt_list_tot 。
添加你不能的规则
如果你停止iptables sudo service iptables start把它带回来。
用你想要的更高的值重新添加你的规则。
奖金:
sudo watch 'iptables -nvL'将允许你看东西击中xt_recent规则。