全站数据
8 4 2 0 5 8 1

怎么限制某个程序的TCP连接数

智能建造师 | 简单学习,快乐成才!         
问题更新日期:2024-10-22 10:45:49

问题描述

怎么限制某个程序的TCP连接数求高手给解答
精选答案
最佳答案

listen的backlog参数指定的是已经三次握手完成,达到了established状态但是等待accept的队列的容量。当这个容量超过上限的时候服务器端便不处理客户端的三次握手了。这个队列的容量当然不是楼主所说的并发连接数。

但是lisen的再后一道程序便是accept了。如果你想要的是在tcp并发连接数量超过上限的时候服务器不再处理了三次握手那么只有两种办法:

1.关闭listen的socket

2.自己修改tcp协议栈的实现,当然这个就比较麻烦了。

用iptables防火墙来限制tcp连接,

如下,限制用户的tcp连接数为50

iptables -I INPUT-p tcp -m connlimit --connlimit-above 50 -j REJECT