iptables里面仅仅开放了80、21等常用端口,这样就导致了vsFTPd在被动模式时无法使用随机端口,从而造成了客户端连接FTP时无法列出目录这样的问题。解决方式很简单,给vsFTPd增加随机端口的范围,然后把这个端口范围添加到iptables。具体做法如下:
1、修改/etc/vsftpd/vsftpd.conf的配置文件,在文件末端添加:复制代码 代码如下:pasv_max_port=6666pasv_min_port=5555/etc/init.d/vsftpd restart
2、添加一条防火墙规则复制代码 代码如下:/etc/init.d/iptables stopiptables -I INPUT -p tcp –dport 5555:6666 -j ACCEPT/etc/init.d/iptables save/etc/init.d/iptables start最后再次进行ftp连接,成功。
第二种方法:添加附加模块,链接追踪模块复制代码 代码如下:iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPTmodprobe ip_conntrack_ftp //临时加载
/etc/sysconfig/iptables-config//这个是永久的IPTABLES_MODULES=\”ip_conntrack_netbios_ns ip_conntrack_ftp\”
service iptables restart