在FirewallD(CentOS 7)中允许被动FTP连接

在FirewallD附带的CentOS 7中,启用HTTP访问非常简单:
firewall-cmd --permanent --zone=public --add-service=http

然而,

firewall-cmd --permanent --zone=public --add-service=ftp

不起作用:规则适用,但除了禁用FirewallD之外,我无法通过任何方式访问FTP.

一些诊断信息:

>我检查了服务定义文件(ftp.xml),它使用了nf_conntrack_ftp模块.
>在我的VPS上,模块被编译成内核(不是单独的),所以它不是通过lsmod,但我可以通过这个确认它:

zgrep FTP /proc/config.gz
CONfig_NF_CONNTRACK_FTP=y
CONfig_NF_CONNTRACK_TFTP=y
CONfig_NF_NAT_FTP=y
CONfig_NF_NAT_TFTP=y
我没有彻底研究这个问题,所以我不了解细节,但似乎这与如何为服务器上的vsftpd和客户端设置主动 – 被动连接(例如:Filezilla)有关.

基本上你需要:

>通过将以下内容添加到/etc/vsftpd/vsftpd.conf来配置vsfptd被动模式:

pasv_enable =是
pasv_max_port = 40000
pasv_min_port = 40000

>重启vsftpd:

systemctl restart vsftpd.service

>在FirewallD中操作端口4000:

firewall-cmd –permanent –add-port = 40000 / tcp
firewall-cmd –reload

>然后我能够与lftp连接.要将Filezilla设置为使用活动模式,请检查http://www.itzgeek.com/how-tos/linux/centos-how-tos/enable-passive-mode-in-ftp-on-centos-7-rhel-7-for-filezilla-and-winscp.html#axzz3X4loTCMi

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native