温馨提示×

CentOS下VSFTP的防火墙设置

小樊
54
2025-08-18 13:46:40
栏目: 智能运维

在CentOS下配置VSFTP防火墙,需根据使用的防火墙类型(firewalld或iptables)开放对应端口,以下是具体步骤:

一、使用firewalld(CentOS 7/8默认)

  1. 开放FTP服务端口
    sudo firewall-cmd --permanent --add-service=ftp # 开放FTP默认端口(21) sudo firewall-cmd --permanent --add-port=20/tcp # 若需主动模式,开放数据端口20 
  2. 开放被动模式端口范围
    编辑VSFTP配置文件/etc/vsftpd/vsftpd.conf,设置被动模式端口范围(如30000-31000):
    pasv_min_port=30000 pasv_max_port=31000 
    然后在防火墙中开放该范围:
    sudo firewall-cmd --permanent --add-port=30000-31000/tcp 
  3. 重新加载防火墙规则
    sudo firewall-cmd --reload 

二、使用iptables(CentOS 6或需手动配置)

  1. 开放FTP端口
    sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT # 开放FTP命令端口 sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT # 开放FTP数据端口(主动模式) sudo iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT # 开放被动模式端口范围 
  2. 保存规则
    sudo service iptables save # CentOS 6 sudo iptables-save > /etc/sysconfig/iptables # CentOS 7(需安装iptables-services) 

三、注意事项

  • 被动模式必要性:若客户端位于防火墙后,需启用被动模式(pasv_enable=YES)并开放对应端口范围。
  • SELinux配置:若启用SELinux,需设置setsebool -P ftpd_full_access on以允许FTP访问。
  • 验证配置:使用firewall-cmd --list-alliptables -L -n查看规则是否生效。

参考来源:

0