linux抵御DDOS攻击 通过iptables限制TCP连接和频率

 更新时间:2016年05月16日 22:01:22   投稿:mdxy-dxy  
这篇文章主要介绍了linux抵御DDOS攻击 通过iptables限制TCP连接和频率,需要的朋友可以参考下

cc攻击一到就有点兵临城下的感觉,正确的设置防护规则可以做到临危不乱,这里给出一个iptables对ip进行连接频率和并发限制,限制单ip连接和频率的设置规则的介绍

#单个IP在60秒内只允许新建20个连接,这里假设web端口就是80,

复制代码 代码如下:

iptables -I  INPUT -i eth1 -p tcp -m tcp –dport 80 -m state –state NEW -m recent –update –seconds 60 –hitcount 20 –name DEFAULT –rsource -j DROP
iptables -I  INPUT -i eth1 -p tcp -m tcp –dport 80 -m state –state NEW -m recent –set –name DEFAULT –rsource

#控制单个IP的最大并发连接数为20
复制代码 代码如下:

iptables  -I INPUT -p tcp –dport 80 -m connlimit  –connlimit-above 20 -j REJECT 

#每个IP最多20个初始连接
复制代码 代码如下:

iptables -I  INPUT -p tcp –syn -m connlimit –connlimit-above 20 -j DROP

参数解释:

-p协议 
-m module_name:
-m tcp 的意思是使用 tcp 扩展模块的功能 (tcp扩展模块提供了 –dport, –tcp-flags, –sync等功能)
recent模块:
–name #设定列表名称,默认DEFAULT。
–rsource #源地址,此为默认。
–rdest #目的地址
–seconds #指定时间内
–hitcount #命中次数
–set #将地址添加进列表,并更新信息,包含地址加入的时间戳。
–rcheck #检查地址是否在列表,以第一个匹配开始计算时间。
–update #和rcheck类似,以最后一个匹配计算时间。
–remove #在列表里删除相应地址,后跟列表名称及地址
connlimit功能:
connlimit模块允许你限制每个客户端IP的并发连接数,即每个IP同时连接到一个服务器个数。
connlimit模块主要可以限制内网用户的网络使用,对服务器而言则可以限制每个IP发起的连接数。
–connlimit-above n    #限制为多少个
–connlimit-mask n     #这组主机的掩码,默认是connlimit-mask 32 ,即每个IP.

相关文章

  • Centos6.4 编译安装 nginx php的方法

    Centos6.4 编译安装 nginx php的方法

    这篇文章主要介绍了Centos6.4 编译安装 nginx php的方法,需要的朋友可以参考下
    2017-03-03
  • Linux如何修改SSH端口号

    Linux如何修改SSH端口号

    这篇文章主要介绍了Linux如何修改SSH端口号问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 在Linux系统中srv目录的作用详解

    在Linux系统中srv目录的作用详解

    在Linux系统中,/srv目录用于存放与系统服务相关的数据,如Web服务器、FTP服务器等,它提供了一种约定,用于将服务数据组织起来,便于管理和维护,通常,/srv目录的内容按照服务类型进行子目录划分,便于管理和备份
    2025-03-03
  • Linux查看文件大小的几种方法汇总

    Linux查看文件大小的几种方法汇总

    这篇文章主要介绍了Linux查看文件大小的几种方法汇总,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 如何通过其他主机查看Apahce服务器的运行状态

    如何通过其他主机查看Apahce服务器的运行状态

    这篇文章主要介绍了如何通过其他主机查看Apahce服务器的运行状态,需要的朋友可以参考下
    2016-04-04
  • 让你知道什么是 SVN

    让你知道什么是 SVN

    subversion(简称svn)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
    2009-03-03
  • 关于Linux下conda安装caffe与pb转caffe问题

    关于Linux下conda安装caffe与pb转caffe问题

    这篇文章主要介绍了关于Linux下conda安装caffe与pb转caffe问题,文中以图文说明了conda安装caffe的方法,需要的朋友可以参考下
    2023-03-03
  • deepin20 安装英伟达闭源驱动的步骤详解

    deepin20 安装英伟达闭源驱动的步骤详解

    这篇文章主要介绍了deepin20 安装英伟达闭源驱动的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Linux下删除乱码或特殊字符文件的方法讲解

    Linux下删除乱码或特殊字符文件的方法讲解

    今天小编就为大家分享一篇关于Linux下删除乱码或特殊字符文件的方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Linux内核页表及页表缓存原理

    Linux内核页表及页表缓存原理

    这篇文章主要介绍了Linux内核页表及Linux页表缓存原理,文章中又详细的图文介绍,感兴趣的小伙伴可以借鉴参考
    2023-04-04

最新评论