Centos安装pureftpd用户被动模式无法连接解决方法

当在linux服务器配置pureftpd的时候无法被动模式连接的问题。先后检查iptables配置,确认配置无误后问题还是存在。如果您遇到过这个问题,请继续往下看,
问题描述:

Centos6 64位操作系统,在配置iptables配置table filter,INPUT chain 默认DROP的情况下,ftp用户无法被动模式连接pureftpd服务端。

ftp无法被动模式连接
ftp无法被动模式连接

操作环境:Centos6 64位小鸡,iptable防火墙开启,pureftpd服务端;

解决方法:

1.查看pureftpd配置文件被动模式占用端口范围;

在command-line进入pureftpd安装根目录,进入安装目录下的子目录查看配置文件/etc/pure-ftpd.conf,找到如下内容

  1. # Port range for passive connections replies. – for firewalling.
  2. PassivePortRange          20000 30000

PassivePortRange 20000 30000这个就是你的ftp被动模式连接端口范围,端口可以修改。

2.确认iptables 配置开放了相关端口;

iptables防火墙状态是:

Chain INPUT (policy DROP)

Chain OUTPUT (policy ACCEPT)

Chain FORWARD (policy ACCEPT)

iptables 默认配置比较严格的规则的情况下,检查确认开放ftp所需端口,查看iptables规则,如果没有开放ftp相关端口的话,需要开启相关端口,具体需开启,源端口21,20,20000~30000.具体添加相关的规则到iptables,具体命令:

  1. //command-line输入规则
  2. #iptables -A INPUT -p tcp –dport 21 -m state –state NEW,ESTABLISHED -j ACCEPT
  3. #iptables -A INPUT -p tcp –dport 20000:30000 -j ACCEPT
  4. //保存iptables
  5. #service iptables save
  6. //重启iptables
  7. #service iptables restart
  8. //确认规则添加,输入以下命令查看是否存在刚才输入的规则
  9. #iptables -xvnL

防护墙配置正确,pureftpd服务端开启的情况下,一般是可以正常连接了,但是,如果被动模式连接断断续续,有时候连接得上,有时候又连接不上,连接上却显示无法显示远程目录,那么需要额外的加载linux内核专门ftp模块了,这个模块位于/lib/modules/`uname  -r` /kernel/net/netfilter/nf_conntrack_ftp.ko,使用命令或者在/etc/sysconfig/iptables-config加入或者修改为[IPTABLES_MODULES=”ip_conntrack_ftp”]。命令为:

  1. #modprobe nf_conntrack_ftp

如果添加到/etc/sysconfig/iptables-config,那么需要重启iptables,最好重启一下机器,这样一来,每次iptables运行相应模块就会加载了。

另外也可以将modprobe nf_conntrack_ftp加入/etc/rc.d/rc.local,每次开机都会执行。

好了,问题完美解决。

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注