首页主机资讯如何配置FTP服务器带宽限制

如何配置FTP服务器带宽限制

时间2025-12-06 02:23:04发布访客分类主机资讯浏览1500
导读:配置FTP服务器带宽限制 一、vsftpd 配置 适用系统:Ubuntu/Debian/CentOS 等常见发行版 核心思路:在配置文件 /etc/vsftpd.conf 中设置以字节/秒为单位的速率参数,然后重启服务 配置示例# 匿名用...

配置FTP服务器带宽限制

一、vsftpd 配置

  • 适用系统:Ubuntu/Debian/CentOS 等常见发行版
  • 核心思路:在配置文件 /etc/vsftpd.conf 中设置以字节/秒为单位的速率参数,然后重启服务
  • 配置示例
    # 匿名用户:下载与上传各 100 KB/s
    anon_max_rate=102400
    # 本地用户:下载与上传各 500 KB/s
    local_max_rate=512000
    # 如启用匿名上传,确保开关打开
    anon_upload_enable=YES
    local_upload_enable=YES
    
  • 生效与验证
    • 重启服务:sudo systemctl restart vsftpd
    • 验证要点:速率单位为字节/秒;对控制连接数据连接均生效;建议用客户端进行上传/下载实测核对速率

二、ProFTPD 配置

  • 模块方式一(推荐):使用 mod_bandwidth
    • 配置示例
      <
          IfModule mod_bandwidth.c>
          
          BandwidthModule On
          DefaultUserLimit 102400   # 默认每用户 100 KB/s
          DefaultGroupLimit 102400
      <
          /IfModule>
          
      
    • 生效:sudo systemctl restart proftpd
  • 模块方式二:使用 mod_ratelimit
    • 配置示例
      <
          IfModule mod_ratelimit.c>
          
          RateLimitEngine on
          RateLimitInterval 1
          RateLimitBurst 4096
          RateLimitUnits KB/s
      <
          /IfModule>
          
      
    • 生效:sudo systemctl restart proftpd
  • 说明
    • 上述示例为全局限速;可按需将限制细化到用户/组/虚拟主机/目录等粒度
    • 确保相应模块(如 mod_bandwidthmod_ratelimit)已启用或已加载到 ProFTPD

三、按用户或目录设置不同限速

  • ProFTPD 细粒度示例(基于用户与目录)
    <
        Directory /var/ftp/public>
        
        <
        Limit RATE>
        
            Bandwidth 204800   # 该目录 200 KB/s
        <
        /Limit>
        
    <
        /Directory>
        
    
    <
        User ftpuser>
        
        <
        Limit RATE>
        
            Bandwidth 51200    # 指定用户 50 KB/s
        <
        /Limit>
        
    <
        /User>
        
    
    • 生效:sudo systemctl restart proftpd
  • vsftpd 常见做法:通过为不同本地用户设置不同的系统级资源限制(如 ulimit/cgroup)或在虚拟用户配置中分别指定速率,实现差异化限速

四、系统级限速工具 trickle(备选)

  • 适用场景:无法修改 FTP 服务配置,或需对特定进程做临时限速
  • 安装与用法
    • 安装:sudo apt-get install tricklesudo yum install trickle
    • 示例:限制某 FTP 进程下载 100 KB/s、上传 50 KB/s
      trickle -s -d 100 -u 50 ftpd -n <
          其他参数>
          
      
  • 注意
    • trickle 通过用户态LD_PRELOAD实现,可能与部分服务/环境不兼容;更适合测试临时使用

五、验证与排错要点

  • 单位换算:1 KB/s = 1024 B/s;vsftpd 的速率参数为字节/秒
  • 生效验证:修改后务必重启服务并用客户端实测;观察上传/下载是否接近设定值
  • 日志与监控:开启并检查 FTP 服务日志与系统监控,确认限速生效且无异常报错
  • 模块检查(ProFTPD):确认 mod_bandwidth/mod_ratelimit 已启用;变更粒度(用户/组/目录)后重载服务
  • 测试建议:先在测试环境验证,再推广到生产,避免影响业务

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何配置FTP服务器带宽限制
本文地址: https://pptw.com/jishu/765444.html
CentOS下cmatrix安装失败怎么办 CentOS FTP客户端连接失败怎么办

游客 回复需填写必要信息