温馨提示×

如何为Linux FTPServer设置防火墙规则

小樊
62
2025-07-28 08:40:59
栏目: 智能运维

为Linux FTP服务器设置防火墙规则,通常需要允许FTP协议使用的端口。FTP协议默认使用两个端口:21(用于控制连接)和20(用于数据传输)。此外,如果使用被动模式(PASV),还需要开放一系列动态端口。

以下是使用iptablesfirewalld两种常见的防火墙管理工具来设置防火墙规则的步骤:

使用 iptables

  1. 允许FTP控制连接端口(21)

    sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    
  2. 允许FTP数据传输端口(20)

    sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
    
  3. 允许被动模式端口范围(通常是49152到65535)

    sudo iptables -A INPUT -p tcp --dport 49152:65535 -j ACCEPT
    
  4. 保存规则(具体命令取决于发行版):

    • Debian/Ubuntu:
      sudo sh -c "iptables-save > /etc/iptables/rules.v4"
      
    • CentOS/RHEL:
      sudo service iptables save
      

使用 firewalld

  1. 启动并启用firewalld服务(如果尚未启动):

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  2. 允许FTP控制连接端口(21)

    sudo firewall-cmd --permanent --add-port=21/tcp
    
  3. 允许FTP数据传输端口(20)

    sudo firewall-cmd --permanent --add-port=20/tcp
    
  4. 允许被动模式端口范围(通常是49152到65535)

    sudo firewall-cmd --permanent --add-port=49152-65535/tcp
    
  5. 重新加载firewalld配置

    sudo firewall-cmd --reload
    

注意事项

  • 安全性:开放这些端口可能会增加服务器的安全风险。确保FTP服务器配置正确,并考虑使用SFTP(SSH File Transfer Protocol)作为更安全的替代方案。
  • 动态端口:被动模式的端口范围可以根据需要进行调整,但通常建议使用49152到65535之间的端口。
  • 防火墙管理工具:根据你的Linux发行版选择合适的防火墙管理工具。iptables是大多数Linux发行版的默认工具,而firewalld在Red Hat系发行版中更常见。

通过以上步骤,你可以为Linux FTP服务器设置基本的防火墙规则,确保FTP服务的正常运行。

0