在 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 權限才能正常工作。在執行相關命令時,請確保您具有適當的權限。