部署了PureFTP,iptables该怎么放行被动模式?

PureFTP是目前很多Linux平台流行的FTP服务端之一,最近配置服务器使用到了PureFTP,中间也出现了各种连接问题,总之就是无法正常传输数据,防火墙也开放了21端口,但最要命的是客户端使用被动模式怎么也连不上。

我们都知道,FTP有两种传输模式:

主动模式(PORT):服务器的20端口连接客户端的一个随机端口(服务器和客户端协商的),主动模式要求客户端没有防火墙,或者客户端的防火墙(路由器)具有ALG(应用层网关)功能,防火墙会自动打开服务器请求的端口,一般CISCO和H3C的路由器都有ALG功能。主动模式需要我们手工在ftp客户端里面手工设置,默认都是被动模式。

被动模式(PSAV):服务器打开21端口,客户端连接服务器的21端口进行连接控制,然后要求服务器打开一个特定端口,客户端与服务器进行连接。

如果我们服务器开启了防火墙,或者服务器外部有防火墙,客户端将无法与服务器进行数据连接,那么我们如何既使用被动模式,又开启防火墙呢?

首先,我们修改Pureftp的配置文件/etc/pure-ftpd.conf(默认在安装目录下,也可能在其他地方,查找一下即可)

#把下面的
#   PassivePortRange 20000 30000
#修改为,即去掉注释
PassivePortRange 20000 30000

重启pureftpd服务, 另外我们要修改防火墙,开放20000-30000端口,以iptables为例:

iptabels -A INPUT -p tcp --dport 20000:30000 -j ACCEPT
service iptables save

这样就成功搞定被动模式了,用ftp客户端连接试试吧。

相关推荐:
Linux下我们会遇到一个常见的问题,那就是如何修复 /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 问题,这个问题发生的根源不是安装报出问题,而是平台兼容性问题。 怎么理解,就 …
在Linux系统上架设ASP.NET网站项目已经在圈子中流行,而“Mono+Jexus”架构模式是Linux承载ASP.NET企业级应用的极为重要的架构方式。 这种架构中,Jexus很好安装、配置,基本上就是一个下载、解压、复制的过 …
首先我们来大致评估下问题的根源,从报错的信息来看肯定是出在环境变量的配置上。 有两种情况导致环境变量出现异常: 1.增加了自定义的环境变量到文件中,结果没留意,“=”两旁出现了空格,如: export TEST …
在编译php的时候,经常会遇到一些依赖的问题,比如这里曝露出的curl问题,具体的出错信息为: configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/incl …
话说不懂linux的命令就没法玩linux了,网上收集来下面这些常用命令供你参考。 目录操作: rm -rf mydir /*删除mydir目录*/ cd mydir /*进入mydir目录*/ cd – /*回上一级目录*/ cd .. /*回父目录,中间有空 …
拿起手机扫一扫即可带走我!