V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
GASALA
V2EX  ›  问与答

一个关于 iptables 的问题

  •  
  •   GASALA · 2015-02-21 21:09:25 +08:00 · 2084 次点击
    这是一个创建于 3353 天前的主题,其中的信息可能已经有所发展或是发生改变。
    系统是Ubuntu12.04 64位。
    前端Nginx(80),后端Apache(8080)。

    网站采用wordpress搭建。

    针对按F5就挂的问题,我想使用iptables去限制每个IP的最大连接数,增加了以下规则(来自于网络):

    # limit 80 port IP 20
    -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 20 -j REJECT

    # Log 60 seconds 20 connect
    -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 20 -j LOG --log-prefix "DDOS: " --log-ip-options

    # 60 seconds 20 connect
    -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 20 -j REJECT

    # Allow
    -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT


    但这些规则最终并没有生效,长按F5就报数据库连接错误。

    请各位帮忙看看问题出在哪?谢谢。
    2 条回复    2015-02-22 02:00:40 +08:00
    ryd994
        1
    ryd994  
       2015-02-22 01:50:04 +08:00
    http有长连接所以请求频率和连接频率不一定一样。用nginx limit request http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
    oott123
        2
    oott123  
       2015-02-22 02:00:40 +08:00 via Android
    针对按F5就挂的问题,你应该考虑优化你的数据库或者其它的程序对资源的占用,而不是不让人家按…
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5853 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:20 · PVG 14:20 · LAX 23:20 · JFK 02:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.