温馨提示×

怎样限制ubuntu ftpserver带宽

小樊
40
2026-10-08 10:28:36
栏目: 智能运维

在 Ubuntu 上限制 FTP / FTPS 服务器带宽,常见做法有以下几种,按“简单 → 专业”排列,你可以根据使用的 FTP 服务端选择。


一、使用 vsftpd + 内置限速(最常用)

如果你用的是 vsftpd(Ubuntu 默认常见 FTP 服务):

1. 编辑配置文件

sudo nano /etc/vsftpd.conf

2. 添加或修改以下参数

# 匿名用户限速(字节/秒)
anon_max_rate=50000

# 本地用户限速(字节/秒)
local_max_rate=100000

示例说明:

  • 50000 ≈ 50 KB/s
  • 100000 ≈ 100 KB/s

3. 重启服务

sudo systemctl restart vsftpd

✅ 优点:简单、稳定
❌ 缺点:只能统一限速,不能按 IP/时间动态限制


二、使用 proftpd + 模块限速

如果你使用的是 proftpd:

1. 安装模块

sudo apt install proftpd-core

2. 配置限速

编辑:

/etc/proftpd/proftpd.conf

示例:

<IfModule mod_xfer.c>
  TransferRate RETR 100     # 下载 100 KB/s
  TransferRate STOR 80      # 上传 80 KB/s
</IfModule>

重启:

sudo systemctl restart proftpd

三、使用 tc(Linux 流量控制,全局/按端口)

适合 FTPS / 被动模式端口多 的情况。

示例:限制 FTP 端口带宽

sudo tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms

解除限制:

sudo tc qdisc del dev eth0 root

⚠️ 配置较复杂,适合运维场景


四、使用 wondershaper(最简单外部限速)

sudo apt install wondershaper
sudo wondershaper eth0 1024 512

限制:

  • 下载 1 Mbps
  • 上传 512 Kbps

五、FTPS 特别说明(重要)

如果是 FTPS(FTP over SSL):

  • 被动端口(pasv)也要限速
  • vsftpd 的 local_max_rate 对 FTPS 同样有效
  • 防火墙 / NAT 配置要正确

推荐方案总结

场景 推荐方式
普通 FTP vsftpd local_max_rate
FTPS vsftpd + 限速
多用户不同限速 proftpd
整机/端口限速 tc / wondershaper

如果你能告诉我:

  • 使用的 FTP 软件(vsftpd / proftpd / pure-ftpd)
  • 是否 FTPS
  • 想限制 上传 / 下载 / 总带宽

我可以给你一份精确配置示例。

0 踩