温馨提示×

Linux FTP服务器如何防火墙设置

小樊
63
2025-08-18 05:11:26
栏目: 云计算

Linux FTP服务器防火墙设置需开放FTP控制端口(21)、数据端口(20)及被动模式端口范围,以下是常用工具的配置方法:

一、使用firewalld(推荐)

  1. 安装并启动服务
    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  2. 添加FTP端口规则
    sudo firewall-cmd --permanent --add-port=21/tcp    # 控制连接
    sudo firewall-cmd --permanent --add-port=20/tcp    # 数据连接(主动模式)
    sudo firewall-cmd --permanent --add-port=30000-31000/tcp  # 被动模式端口范围(按需调整)
    sudo firewall-cmd --reload
    

二、使用iptables

  1. 安装iptables
    sudo apt-get install iptables  # Debian/Ubuntu
    sudo yum install iptables      # CentOS/RHEL
    
  2. 添加规则
    sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT    # 控制连接
    sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT    # 数据连接
    sudo iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT  # 被动模式
    sudo iptables-save > /etc/iptables/rules.v4  # 保存规则(Ubuntu/Debian)
    sudo service iptables save  # 保存规则(CentOS/RHEL)
    

三、使用ufw(Ubuntu/Debian简化版)

  1. 启用ufw
    sudo ufw enable
    
  2. 添加规则
    sudo ufw allow 21/tcp    # 控制连接
    sudo ufw allow 20/tcp    # 数据连接
    sudo ufw allow 30000:31000/tcp  # 被动模式
    sudo ufw reload
    

四、注意事项

  • 被动模式配置:需在FTP服务器软件(如vsftpd)中设置pasv_min_portpasv_max_port,并与防火墙规则一致。
  • 安全建议:优先使用FTPS(SSL/TLS加密)或SFTP替代标准FTP,避免数据明文传输。
  • 验证规则:使用sudo firewall-cmd --list-all(firewalld)或sudo iptables -L查看规则是否生效。

0