首页主机资讯Ubuntu如何限制vsftp访问速度

Ubuntu如何限制vsftp访问速度

时间2025-10-16 09:42:03发布访客分类主机资讯浏览976
导读:Ubuntu限制vsftpd访问速度的常用方法 1. 通过vsftpd配置文件设置基础带宽限制(推荐) 这是最直接的方式,适用于大多数场景,通过修改vsftpd的主配置文件/etc/vsftpd.conf实现。 安装vsftpd(若未安装...

Ubuntu限制vsftpd访问速度的常用方法

1. 通过vsftpd配置文件设置基础带宽限制(推荐)

这是最直接的方式,适用于大多数场景,通过修改vsftpd的主配置文件/etc/vsftpd.conf实现。

  • 安装vsftpd(若未安装)
    sudo apt update &
        &
         sudo apt install vsftpd
    
  • 编辑配置文件
    使用文本编辑器(如nano)打开配置文件:
    sudo nano /etc/vsftpd.conf
    
  • 设置带宽参数
    在文件中添加或修改以下参数(单位:字节/秒),根据需求调整数值:
    • 限制本地用户下载速度local_max_rate=5242880(约5MB/s,5×1024×1024);
    • 限制匿名用户下载速度anon_max_rate=204800(约200KB/s,200×1024);
    • 限制本地用户上传速度local_max_rate同样适用(上传速度通常与下载速度分开限制,需确保write_enable=YES开启写权限)。
      示例配置片段:
    local_enable=YES
    write_enable=YES
    local_max_rate=5242880  # 本地用户下载/上传限制为5MB/s
    anon_max_rate=204800    # 匿名用户下载限制为200KB/s
    
  • 保存并重启服务
    Ctrl+XYEnter保存文件,然后重启vsftpd使配置生效:
    sudo systemctl restart vsftpd
    

2. 使用tc命令进行高级流量控制(可选)

若需要基于IP、接口或更细粒度的带宽分配(如限制某台主机的FTP流量),可使用Linux自带的tc(Traffic Control)工具。

  • 安装iproute2工具包(包含tc):
    sudo apt install iproute2
    
  • 配置流量控制规则(以限制eth0接口的FTP流量为例):
    • 创建HTB队列
      sudo tc qdisc add dev eth0 root handle 1: htb
      
    • 分配总带宽(如100Mbps):
      sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
      
    • 创建子类限制特定用户带宽(如限制192.168.1.100的FTP流量为10Mbps):
      sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 10mbit ceil 10mbit
      
    • 标记数据包(通过iptables标记目标IP的FTP流量):
      sudo iptables -t mangle -A OUTPUT -s 192.168.1.100 -p tcp --dport 21 -j MARK --set-mark 10
      
    • 关联标记与子类
      sudo tc filter add dev eth0 parent 1: protocol ip prio 1 handle 10 fw flowid 1:10
      
  • 注意事项
    tc规则重启后会丢失,需将其添加到/etc/rc.local或使用systemd服务实现开机自启。

3. 通过limits.conf限制用户资源(补充)

若需限制用户进程的文件描述符或进程数(间接影响传输速度),可编辑/etc/security/limits.conf

sudo nano /etc/security/limits.conf

添加以下内容(以限制用户ftpuser为例):

ftpuser hard nofile 1024  # 最大文件描述符数
ftpuser soft nofile 512   # 软限制
ftpuser hard nproc 1024   # 最大进程数

保存后,用户下次登录时生效(需重新登录)。

验证配置

无论使用哪种方法,均可通过以下方式验证速度限制是否生效:

  • 使用FTP客户端(如ftp命令或FileZilla)连接服务器;
  • 上传/下载一个大文件(如100MB的测试文件),观察传输速度是否符合预期。

提示

  • 基础限制(vsftpd.conf)适合大多数场景,配置简单且无需额外工具;
  • 高级限制(tc)适合需要精细化管理的环境,但配置复杂;
  • 修改配置前建议备份原文件(如sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak)。

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


若转载请注明出处: Ubuntu如何限制vsftp访问速度
本文地址: https://pptw.com/jishu/727719.html
vsftp在Ubuntu上的端口转发配置 Ubuntu如何设置vsftp虚拟用户

游客 回复需填写必要信息