Debian FTPServer如何配置防火墙规则

973
2025/3/16 6:32:26
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Debian系统上配置FTP服务器的防火墙规则,通常涉及使用iptablesufw(Uncomplicated Firewall)。以下是使用这两种方法的详细步骤:

使用 iptables

  1. 更新iptables规则: 打开终端并输入以下命令来允许FTP流量通过防火墙。

    sudo iptables -A INPUT -p tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 21 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 20 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 20 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    

    这些规则允许FTP控制连接(端口21)和数据连接(端口20)的新建和已建立的连接。

  2. 允许被动模式FTP: 被动模式FTP需要额外的端口范围。假设你希望允许端口范围从1024到65535。

    sudo iptables -A INPUT -p tcp --dport 1024:65535 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 1024:65535 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    
  3. 保存iptables规则: Debian系统默认不会持久化iptables规则,所以你需要手动保存它们。

    sudo sh -c "iptables-save > /etc/iptables/rules.v4"
    

    如果你想在启动时自动加载这些规则,可以创建一个启动脚本。

    sudo nano /etc/network/if-pre-up.d/iptables
    

    添加以下内容:

    #!/bin/sh
    iptables-restore < /etc/iptables/rules.v4
    

    然后赋予执行权限:

    sudo chmod +x /etc/network/if-pre-up.d/iptables
    

使用 ufw

  1. 启用ufw: 如果你还没有启用ufw,可以使用以下命令启用它。

    sudo ufw enable
    
  2. 允许FTP流量: 使用ufw允许FTP控制连接和数据连接。

    sudo ufw allow 21/tcp
    sudo ufw allow 20/tcp
    sudo ufw allow 1024:65535/tcp
    
  3. 重新加载ufw规则: 应用新的规则。

    sudo ufw reload
    
  4. 检查ufw状态: 确认规则已经生效。

    sudo ufw status
    

注意事项

  • 被动模式FTP:确保你的FTP服务器配置为使用被动模式,并且客户端知道如何连接到被动模式的端口范围。
  • 安全性:FTP协议本身不安全,建议使用SFTP(SSH File Transfer Protocol)或FTPS(FTP over SSL/TLS)来提高安全性。
  • 测试:在应用防火墙规则后,测试FTP连接以确保一切正常工作。

通过以上步骤,你应该能够在Debian系统上成功配置FTP服务器的防火墙规则。

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

推荐阅读: debian无效的仓库镜像如何处理