zoukankan      html  css  js  c++  java
  • [转载]nginx配置结合iptables防御ddos攻击方法

    一.nginx配置
    nginx配置指导文章

    配置方法
    1、在nginx.conf里的http{}里加上如下代码:
    1. #ip limit
    2. limit_conn_zone $binary_remote_addr zone=perip:10m;


    2.在需要限制并发数下载带宽的网站配置server{}里加上如下代码:
    1. limit_conn perip 2;
    2. limit_rate 100k;

    补充说明下参数:
    • $binary_remote_addr是限制同一客户端ip地址;
    • limit_conn为限制并发连接数;
    • limit_rate为限制下载速度;

    示例
    [转载]nginx配置结合iptables防御ddos攻击方法
    这个limit_conn数很有用,比如有一个页面有15个页面并发请求,限制10的话就只有10个请求能成功,剩余5个请求被拒绝,
    需要注意的是可能一个页面中图片加CSS等静态文件并发请求有几十个,所以这里要根据自己的项目进行配置。

    二.iptables配置
    指导文章

    限制与80端口连接的IP最大连接数为10,可自定义修改。(这个命令很管用,负载瞬间下来了)
    iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP


    三.封异常IP的一些方法

    根据nginx访问日志,查询出访问量最大的前10个IP
    awk '{print $1}' bbs_access.log| sort | uniq -c | sort -n -k 1 -r | head -n 10


    封单个IP的命令是
    iptables -I INPUT -s 211.1.0.0 -j DROP

    封IP段的命令是:
    iptables -I INPUT -s 211.1.0.0/16 -j DROP
    iptables -I INPUT -s 211.2.0.0/16 -j DROP
    iptables -I INPUT -s 211.3.0.0/16 -j DROP

    封整个段的命令是:
    iptables -I INPUT -s 211.0.0.0/8 -j DROP

    封几个段的命令是:
    iptables -I INPUT -s 61.37.80.0/24 -j DROP
    iptables -I INPUT -s 61.37.81.0/24 -j DROP
  • 相关阅读:
    Java学习的第五十一天
    Java学习的第五十四天
    Java学习的第五十天
    Java学习的第五十三天
    Java学习的第五十二天
    Java学习的第四十九天
    构造函数
    封 装
    JAVA学习日报 10/8
    JAVA学习日报 10.11
  • 原文地址:https://www.cnblogs.com/linewman/p/9918677.html
Copyright © 2011-2022 走看看