1、进入OpenWrt路由器的控制台:在浏览器中输入路由器的IP地址,进入路由器的管理页面,输入用户名和密码登录控制台。
2、安装net-tools:在控制台中输入以下命令,安装net-tools:
3、等待安装完成:安装过程中需要下载和安装相关的依赖包,需要等待一段时间。
4、验证安装:安装完成后,可以输入ifconfig或netstat等命令,验证net-tools是否已经成功安装。目前限速已经可以实现,但是限连接数由于iptables测connlimit模块不存在无法限速,hashlimit模块不正常也没法使用
限速脚本:
#!/bin/sh
# 定义进出设备(IDEV 内网接口,ODEV外网接口)
IDEV="br-lan"
ODEV="pppoe-wan"
# 定义总的上下带宽
UP="045mbit"
DOWN="37mbit"
# 定义每个受限制的IP上下带宽
#rate 起始带宽(默认限制,单IP限制带宽)
UPLOAD="01mbit"
DOWNLOAD="05mbit"
#ceil 最大带宽(当带宽有富余时单IP可借用的最大带宽,这个也是所有受限IP总带宽)
MUPLOAD="02mbit"
MDOWNLOAD="1mbit"
#内网IP段
INET="1921681"
# 受限IP范围,IPS 起始IP,IPE 结束IP。
IPS="140"
IPE="142"
# 清除网卡原有队列规则
tc qdisc del dev $ODEV root 2>/dev/null
tc qdisc del dev $IDEV root 2>/dev/null
# 定义最顶层(根)队列规则,并指定 default 类别编号
tc qdisc add dev $ODEV root handle 10: htb default 256
tc qdisc add dev $IDEV root handle 10: htb default 256
# 定义第一层的 10:1 类别 (上行/下行 总带宽)
tc class add dev $ODEV parent 10: classid 10:1 htb rate $UP ceil $UP
tc class add dev $IDEV parent 10: classid 10:1 htb rate $DOWN ceil $DOWN
#开始iptables 打标和设置具体规则
i=$IPS;
while [ $i -le $IPE ]
do
tc class add dev $ODEV parent 10:1 classid 10:2$i htb rate $UPLOAD ceil $MUPLOAD prio 1
tc qdisc add dev $ODEV parent 10:2$i handle 100$i: pfifo
tc filter add dev $ODEV parent 10: protocol ip prio 100 handle 2$i fw classid 10:2$i
tc class add dev $IDEV parent 10:1 classid 10:2$i htb rate $DOWNLOAD ceil $MDOWNLOAD prio 1
tc qdisc add dev $IDEV parent 10:2$i handle 100$i: pfifo
tc filter add dev $IDEV parent 10: protocol ip prio 100 handle 2$i fw classid 10:2$i
iptables -t mangle -A PREROUTING -s $INET$i -j MARK --set-mark 2$i
iptables -t mangle -A PREROUTING -s $INET$i -j RETURN
iptables -t mangle -A POSTROUTING -d $INET$i -j MARK --set-mark 2$i
iptables -t mangle -A POSTROUTING -d $INET$i -j RETURN
i=`expr $i + 1`
done查看OpenWrt网口型号的方法:
1、在控制面板-网络中,找到接口,
2、就能找到对应WAN口的IPv4地址。OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)