前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iptables示例:限制来自某一IP的并发访问

iptables示例:限制来自某一IP的并发访问

作者头像
dys
发布2018-04-03 17:57:46
1.4K0
发布2018-04-03 17:57:46
举报
文章被收录于专栏:性能与架构性能与架构

下面模拟一个iptables的应用场景

场景描述

有两台机器 A 和 B

A 上运行WEB服务,B 向 A 发送大量请求

A 想限制 B 的并发数量,通过 iptables 配置实现:

当 B 发送的并发数大于10时,拒绝对其提供服务

模拟过程

A 的 IP:192.168.31.158

B 的 IP:192.168.31.207

B 上执行 ab 命令,模拟大量请求

ab -n 10000 -c 20 http://192.168.31.158/test.html

完成后,到 A 中查看负载状况,执行 w 命令

# w

A 的压力太大,得限制 B 了,执行 iptables 命令

iptables -I INPUT -p tcp --dport 80 -s 192.168.31.207 -m connlimit --connlimit-above 10 -j REJECT

再到 B 中执行之前的 ab 命令

ab -n 10000 -c 20 http://192.168.31.158/test.html

发现已经被拒绝了

如果把参数 -c 的值改为 9,就可以正常执行

命令说明

为了便于理解,这个 iptables 命令可以分为几个部分

iptables

-I INPUT

-p tcp --dport 80 -s 192.168.31.207

-m connlimit --connlimit-above 10

-j REJECT

-I INPUT

表示要插入一条 INPUT 链的规则

-p tcp --dport 80 -s 192.168.31.207

是针对来自 192.168.31.207 这个IP对于本机80端口的tcp请求

-m connlimit --connlimit-above 10

表示匹配条件,并发数大于10时成立

-j REJECT

满足条件后要执行的动作:拒绝

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档