|
|
本帖最后由 bzpc001 于 2025-2-22 16:51 编辑
网上找的别的同学的方案,加入了自己一部分的实际情况。写成了通用脚本。因为涉及到mangle标记,不建议CPU太弱的同学使用。
注意以下事项。
- 根据数据包的大小判断业务情况,因此适合大部分家庭网络环境。
- 采用HIB令牌桶进行队列整形,更好解决网络拥堵,使各种下载流量不会抢占其他应用的资源,并且最大化利用宽带。
- 迷你数据包---实时通讯,在线游戏。延迟最敏感,所以优先级最高。
- 小数据包--网页浏览,电子邮件。延迟敏感,所以优先级其次。
- 大数据包--流媒体。延迟不敏感,所以优先级低。
- 超大数据包--文件传输,下载。延迟超级不敏感,所以优先级最低。
- 脚本第一遍添加,第二遍是自动删除,不建议修改comment/备注,会使自动删除失效。
 - 使用前记得修改变量,突发上行/下行根据测速网站实际测量结果添加。
 - 如果你添加了太多其他mangle标记,请根据实际情况调整顺序。
- 自己测试时候,在满载的时候可以有效降低ping的延迟。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2025/2/22
----------------
感谢@Shinglee提出的问题,之前因为想把网页单独标记出来加速,后来感觉作用不大,可能标记没删干净,现在把加速网页设置成可选的,大家可以测试下给下反馈。
脚本字符超过论坛规定的了,下面的只是一部分,后半部分在后面的回复里面。
或者直接移步网盘下载
链接: https://pan.baidu.com/s/1mggGGMAUPf2choVtJX7zYg?pwd=b5ct 提取码: b5ct
- # 2025-02-20 13:38:10 by RouterOS 7.17.2
- # software id = 68Y1-YQ9F
- #
- # model = RB5009UG+S+
- # serial number = HE708XRPDD3
- ###############################################################################################
- #---------------------------------------------------------------------------------------------#
- ########################################################
- ########运行第一遍添加,第二遍删除,以此类推#################
- ########################################################
- #是否开启LOL加速,true/false
- :local lol true
- #局域网服务器端口,多个请以逗号隔开
- :local serviceport 2020
- #上行带宽
- :local maxUp 70M
- #上行突发
- :local maxUpBurst 200M
- #下行带宽
- :local maxDown 1024M
- #下行突发
- :local maxDownBurst 1280M
- #网桥名称
- :local bridgeName bridge
- #拨号名称
- :local pppoeName "pppoe-out1"
- #局域网网段
- :local localNat "10.0.0.0/16"
- #是否打开网页加速,true/false 默认关闭
- :local webSpenn false
- #---------------------------------------------------------------------------------------------#
- ###############################################################################################
- :local qosFound false
- # 遍历所有 queue tree 条目
- :foreach queue in=[/queue tree find comment=qos] do={
- # 获取该 queue tree 条目的 comment
- :local comment [/queue tree get $queue comment]
- # 如果 comment 是 "Qos",则标记为已找到
- :if ($comment = "qos") do={
- :set qosFound true
- }
- }
- # 如果找到 comment 为 "Qos" 的条目,则执行相应操作
- :if ($qosFound) do={
- /log info "找到已有条目,删除全部qos条目"
- /queue tree remove [find comment=qos]
- :log info "queue tree条目移除完毕"
- /ip firewall mangle remove [find comment=qos]
- :log info "ipv4标记移除完毕"
- /ipv6 firewall mangle remove [find comment=qos]
- :log info "ipv6标记移除完毕"
- } else={
- /log info "未找到qos条目,开始新建"
- /log info "开始建立IPV6标记"
- /ipv6 firewall mangle
- add comment=qos action=mark-packet chain=forward new-packet-mark=pack-smaller packet-size=0-256
- add comment=qos action=mark-packet chain=forward new-packet-mark=pack-small packet-size=257-512
- add comment=qos action=mark-packet chain=forward new-packet-mark=pack-normal packet-size=513-1024
- add comment=qos action=mark-packet chain=forward new-packet-mark=pack-big packet-size=1025-65535
- add comment=qos action=mark-packet chain=forward new-packet-mark=pack-icmpv6 protocol=icmpv6
- /log info "导入IPV6标记成功"
- #加入延时,不然日志输出不同步
- /delay 0.2s
- /log info "开始建立IPV4标记"
- /ip firewall mangle
- add comment=qos action=mark-connection chain=prerouting new-connection-mark=Conn src-address=$localNat
- add comment=qos action=mark-packet chain=forward connection-mark=Conn new-packet-mark=pack-tcp-smaller packet-size=0-256 protocol=tcp
- add comment=qos action=mark-packet chain=forward connection-mark=Conn new-packet-mark=pack-tcp-small packet-size=257-512 protocol=tcp
- add comment=qos action=mark-packet chain=forward connection-mark=Conn new-packet-mark=pack-tcp-normal packet-size=513-1024 protocol=tcp
- add comment=qos action=mark-packet chain=forward connection-mark=Conn new-packet-mark=pack-tcp-big packet-size=1025-65535 protocol=tcp
- add comment=qos action=mark-packet chain=forward connection-mark=Conn new-packet-mark=pack-udp-smaller packet-size=0-256 protocol=udp
- add comment=qos action=mark-packet chain=forward connection-mark=Conn new-packet-mark=pack-udp-small packet-size=257-512 protocol=udp
- add comment=qos action=mark-packet chain=forward connection-mark=Conn new-packet-mark=pack-udp-normal packet-size=513-1024 protocol=udp
- add comment=qos action=mark-packet chain=forward connection-mark=Conn new-packet-mark=pack-udp-big packet-size=1025-65535 protocol=udp
- add comment=qos action=mark-packet chain=forward connection-mark=Conn new-packet-mark=pack-icmp protocol=icmp
- :if ($webSpenn) do={
- add comment=qos action=mark-packet chain=forward connection-mark=Conn dst-port=$serviceport new-packet-mark=pack-download-web protocol=tcp
- add comment=qos action=mark-packet chain=forward connection-mark=Conn dst-port=80 new-packet-mark=pack-upload-web protocol=tcp
- add comment=qos action=mark-packet chain=forward connection-mark=Conn new-packet-mark=pack-upload-web protocol=tcp src-port=$serviceport
- add comment=qos action=mark-packet chain=forward connection-mark=Conn new-packet-mark=pack-download-web protocol=tcp src-port=80
- add comment=qos action=mark-packet chain=forward connection-mark=Conn dst-port=443 new-packet-mark=pack-upload-web protocol=tcp
- add comment=qos action=mark-packet chain=forward connection-mark=Conn new-packet-mark=pack-download-web protocol=tcp src-port=443
- }
- add comment=qos action=mark-packet chain=forward connection-mark=Conn dst-port=53 new-packet-mark=pack-upload-dns protocol=udp
- add comment=qos action=mark-packet chain=forward connection-mark=Conn new-packet-mark=pack-download-dns protocol=udp src-port=53
- /log info "导入IPV4标记成功"
- #加入延时,不然日志输出不同步
- /delay 0.2s
复制代码
|
评分
-
查看全部评分
|