我用阿里云centos7.0服务器安装调试完iptables防火墙后,发现登陆vsftpd后不显示文件目录。在百度一搜发现很多人都遇到了类似的问题,并且给出了解决方法,话不多说,下面就来分享下启用iptables后vsftpd不能显示文件目录的解决方法!
解决这个问题有两种方法,大家可以任选一种就可以了!
方法一
iptables里面仅仅开放了80、21等常用端口,这样就导致了vsFTPd在被动模式时无法使用随机端口,从而造成了客户端连接FTP时无法列出目录这样的问题。解决方式很简单,给vsFTPd增加随机端口的范围,然后把这个端口范围添加到iptables。给vsFTPd增加随机端口的范围,然后把这个端口范围添加到iptables就可以解决vsftpd不能显示文件目录的问题。
具体做法如下:
1.修改/etc/vsftpd/vsftpd.conf的配置文件,在文件末端添加:
pasv_max_port=6666 pasv_min_port=5555
然后重启vsftpd:systemctl restart vsftpd
2.添加一条防火墙规则:
iptables -I INPUT -p tcp --dport 5555:6666 -j ACCEPT service iptables save systemctl restart iptables
再进行ftp链接,成功!
方法二
添加附加模块,链接追踪模块:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT modprobe ip_conntrack_ftp //临时加载 vim /etc/sysconfig/iptables-config //这个是永久的 IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp" systemctl restart iptables
修改之后,尝试登陆ftp,成功!完美Perfect!
2017年06月20日 17:21 沙发
setsebool allow_ftpd_full_access on
开放权限