如何在Linux上配置FTP服务器防火墙

210
2025/4/16 6:32:58
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Linux上配置FTP服务器防火墙,你需要确保防火墙允许FTP服务所需的端口。FTP通常使用两个端口:21(用于控制连接)和20(用于数据传输)。此外,如果你的FTP服务器使用被动模式,你还需要打开一系列动态端口范围。

以下是使用iptables在Linux上配置FTP服务器防火墙的步骤:

  1. 打开必要的端口

    • 端口21:用于FTP命令。
    • 端口20:用于FTP数据传输。
    • 动态端口范围:通常是49152到65535,这个范围可以根据你的FTP服务器配置进行调整。
  2. 配置iptables规则: 打开终端,以root用户身份登录,然后使用以下命令来配置iptables。

    # 清除现有规则
    iptables -F
    iptables -X
    
    # 设置默认策略为DROP
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT
    
    # 允许本地回环接口的流量
    iptables -A INPUT -i lo -j ACCEPT
    
    # 允许已经建立的连接和相关的数据包
    iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    
    # 允许FTP控制连接(端口21)
    iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    
    # 允许FTP数据传输(端口20)
    iptables -A INPUT -p tcp --dport 20 -j ACCEPT
    
    # 允许被动模式的FTP数据传输
    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 49152:65535 -j ACCEPT
    
    # 如果你使用的是IPv4,还需要允许IP转发
    echo 1 > /proc/sys/net/ipv4/ip_forward
    
  3. 保存iptables规则: iptables规则在系统重启后会丢失,所以你需要保存它们。这可以通过以下命令完成:

    iptables-save > /etc/iptables/rules.v4
    

    对于基于Debian的系统,你可以安装iptables-persistent包来保存规则:

    apt-get install iptables-persistent
    

    在安装过程中,选择“是”以保存当前规则。

  4. 测试防火墙规则: 使用FTP客户端尝试连接到你的FTP服务器,确保可以正常工作。

请注意,这些步骤假设你正在使用iptables作为防火墙。如果你使用的是其他防火墙工具,如ufw、firewalld或nftables,配置步骤将会有所不同。此外,出于安全考虑,建议使用SFTP(SSH File Transfer Protocol)而不是传统的FTP,因为SFTP提供了更好的安全性。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: HDFS网络传输怎样优化