CentOS 6 Iptables关于--hitcount数值限制的问题

原创 2015年07月09日 09:40:18

一直知道iptables 很强大,但是所知甚少,今天突然想做下iptables 限制连接数的问题,参照iptables man手册 recent 部分,在iptables 文件中写了两条规则,命令行写法如下:

    iptables -A INPUT -p tcp --dport 80 -m recent --name badguy --seconds 60 --update --hitcount 100 -j DROP
    iptables -A INPUT -p tcp --dport 80 -m recent --name badguy --set -j ACCEPT

重启iptables,但是奇妙的事情发生了:
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: iptables-restore: line 17 failed
立刻去查看iptables 文件,发现第17行的内容为 COMMIT!一定是规则有问题,把规则注释掉,再重启,OK了!然后用各种姿势google,无解。查到网友的写法跟我的写法一样一样的,正常工作!WTF的节奏!
继续调整规则,发现把–hitcount 100 去掉后就OK,加上就failed,回头继续看man 手册,关于–hitcount 的描述如下:
This option must be used in conjunction with one of –rcheck or –update. When used, this will narrow the match to only happen when the address is in the list and packets had been received greater han or equal to the given value. This option may be used along with –seconds to create an even narrower match requiring a certain number of hits within a specific time frame. * The maximum value for the hitcount parameter is given by the “ip_pkt_list_tot” parameter of the xt_recent kernel module.Exceeding this value on the command line will cause the rule to be rejected.
粗体这句解释了问题,然后尝试将–hitcount 调低,调到10正常,20正常,大于20,failed 了,好了,问题就在这了,要突破ip_pkt_list_tot 的默认限制了。
google了下ip_pkt_list_tot,发现在/sys/module/xt_recent/parameters目录下,cat 了下ip_pkt_list_tot的值,还真是20,按照以往情况,直接echo 一个值进入就可以了,但是“白手起家”这位网友说不可,要进入到/etc/modprobe.d/ 目录下新建配置文件:
vim xt_recent.conf
options xt_recent ip_list_tot=1024 ip_pkt_list_tot=200
备注:(原文的文件名中没有.conf,试验后有警告提示:WARNING: All config files need .conf: /etc/modprobe.d/xt_recent, it will be ignored in a future release. 因此正确的写法应该加上.conf)
保存退出,调大–hitcount 的值为200,重启iptables ,OK!
再去cat ip_pkt_list_tot 的值,也变成了200。

搞定,收工!

ovs+floodlight

配置 ubuntu14.04 LTE, ovs 2.0.2 1. apt-cache search openvswitch 开始安装  2. apt-get install openvswitch-s...
  • tuoyahan
  • tuoyahan
  • 2015年04月29日 13:27
  • 1063

如何读懂awr

转载:http://www.askmaclean.com/?s=awr 啥是AWR? =============================================...
  • wll_1017
  • wll_1017
  • 2017年11月22日 17:08
  • 270

centos 的单ip流量控制-CentOS下利用iptables限速及限制每IP连接数

第一步:建立adsl连接,在系统设置——网络设置处有。在图形界面下很容易搞定。  第二步:打开IP转发和伪装(也就是路由与NAT) 1、作为根用户打开/etc/sysconfig/netw...
  • gnicky
  • gnicky
  • 2016年05月06日 21:31
  • 4705

centos6.x的iptables常用设置

默认策略 Chain INPUT (policy ACCEPT) target prot opt source destination ACCE...
  • yejinxiong001
  • yejinxiong001
  • 2016年12月13日 15:18
  • 586

Real-time Operation System Course: 解密字符串

#include #define N 8 void decode(char original_message[], char resulting_message[]){ int i, j,...
  • rlikai
  • rlikai
  • 2015年01月18日 08:56
  • 10767

POJ 刷题顺序

POJ从简到难(按照AC数目排序)的列表如下,作为小弱的刷题
  • thestoryofsnow
  • thestoryofsnow
  • 2014年11月09日 02:50
  • 280773

centos 6.6默认iptable规则

今天在自己电脑上新装了centos6.6虚拟机,然后装了nginx,没有进行任何其他设置,然后就发现只能在centos上面可以访问nginx,看了下iptable的规则[root@centos6 ~]...
  • scchary
  • scchary
  • 2015年07月26日 08:13
  • 1050

centos6.5 iptables实现端口转发

将本地3389端口 转发到192.168.10.210的22(主要访问到本机的15210端口,就会跳转到192.168.10.210的22) 【步骤】 1、 首先应该做的是/etc/sys...
  • e_wsq
  • e_wsq
  • 2018年02月05日 22:58
  • 29

富文本编辑+fs操作文件+Buffer练习(头像上传功能)

富文本编辑内容引用=>1.UEditor是由百度web前端研发部开发所见即所得富文本web编辑器下载的文件 引入目录文件进来:文件上传功能引用文件: require(‘../ueditor/’);...
  • qq_26766283
  • qq_26766283
  • 2017年06月06日 00:42
  • 5277

linux状态及原理全剖析

linux Table of Contents 1 linux 1.1 proc filesystem 1.1.1 /proc 1.1.1.1 /proc/meminfo...
  • chinaclock
  • chinaclock
  • 2015年09月28日 09:18
  • 9822
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CentOS 6 Iptables关于--hitcount数值限制的问题
举报原因:
原因补充:

(最多只允许输入30个字)