首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在运行于Ubuntu上的纯ftp上增加maxclientsperip

无法在运行于Ubuntu上的纯ftp上增加maxclientsperip
EN

Server Fault用户
提问于 2016-04-08 08:23:43
回答 2查看 1.6K关注 0票数 0
代码语言:javascript
复制
root@www:~# cat /etc/pure-ftpd/conf/MaxClientsNumber 
100
root@www:~# cat /etc/pure-ftpd/conf/MaxClientsPerIP 
50

重新启动ftp服务器:运行:

代码语言:javascript
复制
/usr/sbin/pure-ftpd -l extauth:/var/run/ftpd-auth.sock -l pam -y 150:0 -c 100 -C 50 -H -P 10.8.1.7 -u 1000 -p 18000:18020 -E -Y 1 -U 113:002 -R -A -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -B

但是,当尝试连接超过10次时,会出现此错误。关于客户:

代码语言:javascript
复制
421 10 users (the maximum) are already logged in, sorry

运行ubuntu 10.10

我很困惑。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2016-04-08 20:24:06

-p 18000:18020只允许使用21个端口。

您需要的用户数量至少是您希望同时允许的用户数量的两倍。

通常,您不希望端口范围太小,但要尽可能大。

票数 0
EN

Server Fault用户

发布于 2016-04-10 07:04:22

我从pureftp支持邮件列表中得到的一个答案是:

对不起,如果这是疯狂的挑剔,但我想纠正一些事情从莱西企业的反应。总是最好准确地解释事物,以避免误解。

首先,为了确认什么是正确的(伟大的,有帮助的,并且是一个总是令人敬畏的快速回答)的话:是的,允许的FTP控制连接的数量将被限制在被动端口范围的1/2大小。因此,如果您的范围涵盖21个端口(与您的一样,18000 - 18020),那么一半就是10.5。纯粹的ftpd必要地将其舍入到10,并强制执行一条规则,即您只能一次拥有该数字(在本例中为10) ftp会话。

但要纠正这些不准确之处:

FTP为每个客户端打开2个新的被动ftp连接。

这在技术上是不正确的。相反,您可以说Pure希望确保在每个ftp会话期间至少可以使用2个被动连接。它可能不会同时打开。它可能连一个都开不开。我认为它甚至可以打开3甚至更多,这取决于ftp会话实际执行多少个面向数据的任务(文件传输和dir列表)。您可能会说Pure希望保留打开被动数据连接的能力,因此它是保护被动端口使用的。

由于tcp端口在允许重用之前可能需要一些时间,Pure(在实现这一理念时)是相当谨慎的。如果存在10个FTP控制连接,则(即使当前没有打开被动数据连接),它认为每个会话可能需要平均2个连接,因此它认为保留20个端口是可取的。事实上,它被编码为需要这个。

“保留”必须来自"PassivePortRange“(也就是-p设置),因此范围的宽度必须是要支持的ftp客户端会话数量的两倍。

因为您只打开了20个被动端口

与其说“开放”,不如说“可用”更好。因为在开放tcp连接的意义上,他可能没有20个被动端口“打开”。他可能一点也不开。相反,他有一个定义范围的21个端口,可能为被动数据连接打开。

达西Darcy.Partridge@suse.com

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/768973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档