首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在像vps这样的"centos“上做没有kmod的FTP?

如何在像vps这样的"centos“上做没有kmod的FTP?
EN

Server Fault用户
提问于 2012-04-10 00:52:19
回答 1查看 111关注 0票数 2

我最近发现我的VPS正在运行一个不完全是CentOS的Linux发行版。它是OpenVZ/Virtuozzo容器中的CentOS。有关更多信息,请参见"当不是CentOS的时候.“(我希望允许从iptables防火墙后面获取FTP )(当所有规则设置为接受时,FTP工作正常)。有人能帮忙吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2012-04-10 02:08:22

FTP有两种类型--主动和被动。使用active FTP,服务器需要打开端口20 (数据)和21 (命令)--在服务器上设置更容易,但客户端更难设置(因为服务器启动到客户端的连接)。测试活动FTP有时是一个很好的起点,可以确定您的服务器防火墙是否是问题的根源。

被动FTP通常更普遍地兼容,因为连接是由客户端建立的。但是,它需要端口21 (命令端口)和另一个高编号端口才能打开(用于数据传输)。大多数FTP服务器将允许您指定用于被动FTP的端口范围。

有关主动和被动FTP之间差异的良好概述,请参见本站

Kmods通常会添加一些特性--通过验证接受所有连接可以解决您的问题,您已经在很大程度上表明在这种情况下您不需要kmod,但是有一些必要的端口被阻塞了。

在FTP配置中,设置适当的指令来定义将要使用的被动端口范围,然后在iptables中打开这些相同的端口,您应该会做得很好。

PureFTPd:

有一个指令PassivePortRange

代码语言:javascript
运行
复制
PassivePortRange min_port max_port

vsFTPd:有两个指令:pasv_max_portpasv_min_port

代码语言:javascript
运行
复制
pasv_max_port=xxxxx
pasv_min_port=xxxxx

您还需要使用pasv_enable=YES启用被动FTP。

默认情况下,vsFTPd从/etc/vsftpd.conf读取配置(因此您应该将指令放在那里--检查它们是否已经存在)。但是,可以通过向命令行上的vsFTPd传递不同的文件路径来覆盖默认配置位置(您的init脚本可能会这样做)。

一旦指定了必要的端口,就可以在一个ipTables命令中添加它们:

代码语言:javascript
运行
复制
iptables -A INPUT -p tcp -m tcp --dport xxxxx:xxxxx -j ACCEPT

(注意: FTP完全是TCP -您不需要启用UDP)

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

https://serverfault.com/questions/377974

复制
相关文章

相似问题

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