proftp pasv模式固定端口设定
很多时候,公网服务器的防火墙策略只允许相当少的一部分端口对外开放,这种环境通常会对采用pasv模式的ftp服务无法正常登陆,报错信息大致如下:
[20:03:27] Winsock 2.2 -- OpenSSL 1.0.1e 11 Feb 2013 [20:03:33] [R] 正在连接到 cyszys.com -> DNS=cyszys.com IP=54.214.176.199 PORT=21 [20:03:33] [R] 已连接到 xxxxx.com [20:03:33] [R] 220 ProFTPD 1.3.4c Server (ProFTPD) [::ffff:10.252.50.207] [20:03:33] [R] USER daemon [20:03:33] [R] 331 Password required for daemon [20:03:33] [R] PASS (hidden) [20:03:34] [R] 230 User daemon logged in [20:03:34] [R] SYST [20:03:34] [R] 215 UNIX Type: L8 [20:03:34] [R] FEAT [20:03:34] [R] 211-Features: [20:03:34] [R] MDTM [20:03:34] [R] MFMT [20:03:34] [R] TVFS [20:03:34] [R] MFF modify;UNIX.group;UNIX.mode; [20:03:34] [R] MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.mode*;UNIX.owner*; [20:03:34] [R] REST STREAM [20:03:34] [R] SIZE [20:03:34] [R] 211 End [20:03:34] [R] PWD [20:03:34] [R] 257 "/" is the current directory [20:03:34] [R] PASV [20:03:35] [R] 227 Entering Passive Mode (10,252,50,207,198,201). [20:03:35] [R] 正在打开数据连接 IP: xx.xx.xx.xx 端口: 50889 [20:03:56] [R] 数据 Socket 错误: 连接已超时 [20:03:57] [R] 列表 错误 [20:03:57] [R] 以 PASV 模式连接失败,正在尝试使用 PORT 模式。 [20:03:57] [R] 侦听于端口: 63255,正在等候连接。 [20:03:57] [R] PORT 192,9,143,29,247,23 [20:03:57] [R] 500 Illegal PORT command [20:03:57] [R] PORT 192,9,143,29,247,23 [20:03:57] [R] 500 Illegal PORT command [20:03:58] [R] 列表 错误 [20:04:17] [R] QUIT [20:04:17] [R] 221 Goodbye. [20:04:18] [R] 已注销: xxxx.com (持续时间: 45 秒)
问题原因:
造成这个问题的原因是pasv被动模式时候ftp服务器和客户端商议的数据端口不在防火墙允许的范围内。
解决办法:
解决此问题需要在防火墙中开放少数的几个端口,在实例中我们选择12346-12349这个段落,防火墙端口开放完成后,编辑proftpd.conf文件,在文件最底部加上下列一行:
#########The PASV MODE Firewall allow port ########### PassivePorts 12346 12349 #########The PASV MODE Firewall allow port ###########
保存后proftpd.conf文件后重启proftpd进程
# service proftpd restart
配置完成后就可以使用ftp客户端通过pasv模式测试访问。
Comments are currently closed.