在 CentOS 系统中,ulimit
命令主要用于设置用户进程的资源限制,如文件描述符、进程数等
使用 nftables
或 iptables
进行限速:
对于基于 IPv4 的网络限速,可以使用 iptables
和 tc
(traffic control)工具。以下是一个简单的示例,限制单个 IP 地址的下载速度为 1Mbps:
# 安装 tc 工具(如果尚未安装)
sudo yum install -y iproute
# 创建一个 htb(Hierarchical Token Bucket)队列规则
sudo tc qdisc add dev eth0 root handle 1: htb default 30
# 创建一个类,限制带宽为 1Mbps
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit ceil 1mbit
# 创建一个过滤器,将特定 IP 地址的流量分配到上述类
sudo tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip src <IP_ADDRESS> flowid 1:1
将 <IP_ADDRESS>
替换为要限制的 IP 地址。
对于基于 IPv6 的网络限速,可以使用 nftables
和 tc
工具。方法类似,只需将命令中的 ip
替换为 ipv6
。
使用第三方工具进行限速:
有一些第三方工具可以帮助您更轻松地限制网络带宽,例如 wondershaper
和 trickle
。这些工具通常提供更简单的语法和更多的功能。
例如,要使用 wondershaper
限制 eth0 接口的上传和下载速度,可以执行以下命令:
# 安装 wondershaper(如果尚未安装)
sudo yum install -y wondershaper
# 限制上传速度为 1Mbps,下载速度为 10Mbps
sudo wondershaper eth0 1024 10240
要停止限速,可以使用以下命令:
sudo wondershaper clear eth0
请注意,这些方法可能需要 root 权限才能正常工作。在执行相关命令时,请确保您具有适当的权限。