更新 xs.sh
This commit is contained in:
parent
28114320da
commit
6701bacc74
41
xs.sh
41
xs.sh
@ -1,22 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 网络接口名称
|
||||
# 定义网络接口和限速参数
|
||||
INTERFACE="eno1"
|
||||
|
||||
# 带宽限制
|
||||
LIMIT_RATE="2mbit"
|
||||
|
||||
# 检查是否提供操作参数
|
||||
if [ "$#" -lt 1 ]; then
|
||||
echo "Usage: $0 {add|del}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 添加限速规则
|
||||
add_limit() {
|
||||
echo "Applying new bandwidth limit..."
|
||||
|
||||
# 确保加载 ifb 模块并启用 ifb0
|
||||
# 加载 ifb 模块并启用 ifb0
|
||||
modprobe ifb 2>/dev/null
|
||||
ip link add ifb0 type ifb 2>/dev/null
|
||||
ip link set ifb0 up 2>/dev/null
|
||||
@ -34,45 +25,31 @@ add_limit() {
|
||||
|
||||
# 添加下行规则
|
||||
tc qdisc add dev ifb0 root handle 1: htb default 11
|
||||
tc class add dev ifb0 parent 1: classid 1:1 htb rate "$LIMIT_RATE"
|
||||
tc class add dev ifb0 parent 1:1 classid 1:11 htb rate "$LIMIT_RATE"
|
||||
tc class add dev ifb0 parent 1:classid 1:1 htb rate "$LIMIT_RATE"
|
||||
tc class add dev ifb0 parent 1:classid 1:11 htb rate "$LIMIT_RATE"
|
||||
tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 match ip sport 8337 0xffff flowid 1:11
|
||||
tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 match ip sport 8338 0xffff flowid 1:11
|
||||
|
||||
echo "Bandwidth limit applied successfully."
|
||||
}
|
||||
|
||||
# 删除限速规则
|
||||
delete_limit() {
|
||||
echo "Removing bandwidth limit from interface $INTERFACE..."
|
||||
|
||||
# 删除上行规则
|
||||
tc qdisc del dev "$INTERFACE" root
|
||||
|
||||
# 删除下行规则
|
||||
tc qdisc del dev ifb0 root
|
||||
|
||||
echo "Removing bandwidth limit..."
|
||||
tc qdisc del dev "$INTERFACE" root 2>/dev/null
|
||||
tc qdisc del dev ifb0 root 2>/dev/null
|
||||
ip link set ifb0 down 2>/dev/null
|
||||
echo "Bandwidth limit removed successfully."
|
||||
}
|
||||
|
||||
# 根据用户输入执行操作
|
||||
case "$1" in
|
||||
add)
|
||||
# 启用下行流量接口 ifb0
|
||||
modprobe ifb
|
||||
ip link set ifb0 up
|
||||
|
||||
add_limit
|
||||
;;
|
||||
del)
|
||||
delete_limit
|
||||
|
||||
# 禁用下行流量接口 ifb0
|
||||
ip link set ifb0 down
|
||||
;;
|
||||
*)
|
||||
echo "Invalid option: $1"
|
||||
echo "Usage: $0 {add|delete}"
|
||||
echo "Usage: $0 {add|del}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
Loading…
Reference in New Issue
Block a user