在CentOS系统中配置FTP服务器的防火墙,通常需要允许FTP协议使用的端口。FTP协议默认使用两个端口:21(用于控制连接)和20(用于数据传输)。此外,如果使用被动模式(PASV),还需要开放一系列动态端口范围。
以下是配置防火墙以允许FTP流量的步骤:
查看当前防火墙状态:
sudo firewall-cmd --state
查看已开放的端口:
sudo firewall-cmd --list-all
开放FTP控制端口(21):
sudo firewall-cmd --permanent --add-port=21/tcp
开放FTP数据端口(20):
sudo firewall-cmd --permanent --add-port=20/tcp
开放被动模式端口范围(例如,开放端口范围1024到65535):
sudo firewall-cmd --permanent --add-port=1024-65535/tcp
重新加载防火墙配置:
sudo firewall-cmd --reload
验证端口是否已开放:
sudo firewall-cmd --list-all
被动模式端口范围:FTP服务器在被动模式下会使用一个动态端口范围来传输数据。确保开放一个足够大的端口范围,以便FTP服务器可以正常工作。
SELinux:如果启用了SELinux,可能还需要配置SELinux策略以允许FTP流量。可以使用以下命令查看SELinux状态:
sestatus
如果SELinux处于 enforcing 模式,可能需要调整相关策略或临时将其设置为 permissive 模式进行测试:
sudo setenforce 0
FTP服务器配置:确保FTP服务器(如vsftpd)的配置文件中正确设置了被动模式端口范围。例如,在vsftpd的配置文件 /etc/vsftpd/vsftpd.conf
中,可能需要设置以下参数:
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=65535
通过以上步骤,你应该能够成功配置CentOS系统的防火墙以允许FTP流量。