如何限制 连接 某 端口的同时连接 IP 数?

2015-03-15 16:30:55 +08:00
 eromoe

RT,比如我开放8888端口,我只允许同时有2个IP链接上这个端口,但每个IP的链接数不限
网上查了半天,都只有限制链接数的,非常苦恼,球大神解答!

3663 次点击
所在节点    信息安全
7 条回复
NewYear
2015-03-15 17:35:38 +08:00
你是什么系统
eromoe
2015-03-15 20:12:41 +08:00
@NewYear 终于可以回复了,系统是 ubuntu 14.04
NewYear
2015-03-15 20:41:36 +08:00
你真的很有必要去看看提问的学问 基本上你这样的主题 刚出现的时候还有可能有人看有人回答 时间过了就没人看得到了 憋了几个小时才看到你说是什么系统 机会已经远去了

要不你在其他ubuntu相关的技术类社区提问提问吧
ryd994
2015-03-16 02:12:16 +08:00
-m connlimit --connlimit-above 0 --connlimit-mask 32 -j ACCEPT
-m connlimit --connlimit-upto 2 --connlimit-mask 0 -j ACCEPT
-j REJECT

记得把端口之类的写上。没测试过,试试看吧。
eromoe
2015-03-16 20:51:42 +08:00
@ryd994
iptables -A INPUT -p tcp --syn --dport 8381 -m connlimit --connlimit-above 0 --connlimit-mask 32 -j ACCEPT

iptables -A INPUT -p tcp --syn --dport 8381 -m connlimit --connlimit-upto 1 --connlimit-mask 0 -j ACCEPT

iptables -A INPUT -p tcp --syn --dport 8381 -j REJECT

我用这几条命令试的,好像不行? 你写的这个IP 限制是什么意思,没太看明白。
第一条是允许 所有IP访问? 第二条是限制2个链接数?
但是IP超过2个的时候 iptable的处理情况是怎么样, 把新来的IP 请求档掉? 还是从3个IP里挑一个出来,结束这个IP发起的所有连接?
ryd994
2015-03-16 21:07:19 +08:00
@eromoe 我就是这样想的,但似乎并没有工作?具体什么现象?超过的话新的就会匹配reject规则
http://ipset.netfilter.org/iptables-extensions.man.html#lbAK
可能是第一个要改成 above 1 试试
eromoe
2015-03-17 09:35:20 +08:00
@ryd994 我是用内网的三台虚拟机试的, 一台开个shadowsocks, 8381 端口
剩下2台win7 同时用这个代理 访问 百度,都能读入,没有任何障碍

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/177047

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX