From 698c0d4f1eedc86a8b6df609bca499c43f6c1c3a Mon Sep 17 00:00:00 2001 From: Wartana Date: Thu, 26 Feb 2026 11:55:01 +0800 Subject: [PATCH] feat: Add RouterOS mangle and queue tree configurations for network traffic classification and shaping. --- 178-mangle.rsc | 83 ++++++++++++++++++++++++++++++++++++++++++++++ 178-queue-tree.rsc | 44 ++++++++++++++++++++++++ 2 files changed, 127 insertions(+) create mode 100644 178-mangle.rsc create mode 100644 178-queue-tree.rsc diff --git a/178-mangle.rsc b/178-mangle.rsc new file mode 100644 index 0000000..bd36735 --- /dev/null +++ b/178-mangle.rsc @@ -0,0 +1,83 @@ +# 2026-02-26 10:45:21 by RouterOS 7.21.2 +# software id = JRG5-1NLG +# +/ip firewall mangle +add action=mark-routing chain=prerouting comment=EXPIRED new-routing-mark=\ + EXPIRED passthrough=no src-address-list=EXPIRED +add action=mark-routing chain=prerouting comment=container dst-address-list=\ + !localNet new-routing-mark=container passthrough=no src-address=\ + 10.100.37.0/24 +add action=mark-routing chain=prerouting comment=SpeedTest disabled=yes \ + dst-address-list=speedtest new-routing-mark=*403 passthrough=no \ + src-address-list=localNet +add action=mark-routing chain=prerouting comment=ke_isp2 disabled=yes \ + dst-address=!103.138.63.180 dst-address-list=!localNet new-routing-mark=\ + *400 src-address-list=bali_10 +add action=mark-routing chain=prerouting comment=ke_isp2 disabled=yes \ + dst-address-list=!localNet new-routing-mark=*400 src-address-list=bali_20 +add action=mark-routing chain=prerouting comment=ke_isp2 disabled=yes \ + dst-address-list=!localNet new-routing-mark=bali_fiber src-address-list=\ + bali_30 +add action=mark-routing chain=prerouting comment=ke_isp2 disabled=yes \ + dst-address-list=!localNet new-routing-mark=*400 src-address-list=bali_50 +add action=mark-routing chain=prerouting comment=ke_isp2 disabled=yes \ + dst-address-list=!localNet new-routing-mark=*400 src-address-list=\ + bali_100 +add action=mark-routing chain=prerouting comment=ke_isp2 disabled=yes \ + dst-address-list=!localNet new-routing-mark=*400 src-address-list=\ + bali_150 +add action=mark-routing chain=prerouting comment=ke_isp2 disabled=yes \ + dst-address-list=!localNet new-routing-mark=bali_fiber src-address-list=\ + hemat +add action=mark-routing chain=prerouting comment=ke_isp3 disabled=yes \ + dst-address=!103.138.63.180 dst-address-list=!localNet new-routing-mark=\ + *400 src-address-list=star_10 +add action=mark-routing chain=prerouting comment=ke_isp3 disabled=yes \ + dst-address=!103.138.63.180 dst-address-list=!localNet new-routing-mark=\ + *402 src-address-list=gls_500 +add action=mark-routing chain=prerouting comment=ke_isp3 disabled=yes \ + dst-address-list=!localNet new-routing-mark=*402 src-address=\ + 192.168.171.0/29 +add action=mark-routing chain=prerouting comment=ke_isp3 disabled=yes \ + dst-address=!103.138.63.180 dst-address-list=!localNet new-routing-mark=\ + *402 src-address-list=gold_50 +add action=mark-packet chain=forward dst-address-list=EXPIRED \ + new-packet-mark=EXPIRED_dl passthrough=no +add action=mark-packet chain=forward new-packet-mark=EXPIRED_ul passthrough=\ + no src-address-list=EXPIRED +add action=mark-packet chain=forward dst-address-list=star_10 \ + new-packet-mark=star_10_dl passthrough=no +add action=mark-packet chain=forward new-packet-mark=star_10_up passthrough=\ + no src-address-list=star_10 +add action=mark-packet chain=forward dst-address-list=star_20 \ + new-packet-mark=star_20_dl passthrough=no +add action=mark-packet chain=forward new-packet-mark=star_20_up passthrough=\ + no src-address-list=star_20 +add action=mark-packet chain=forward dst-address-list=star_30 \ + new-packet-mark=star_30_dl passthrough=no +add action=mark-packet chain=forward new-packet-mark=star_30_up passthrough=\ + no src-address-list=star_30 +add action=mark-packet chain=forward dst-address-list=star_50 \ + new-packet-mark=star_50_dl passthrough=no +add action=mark-packet chain=forward new-packet-mark=star_50_up passthrough=\ + no src-address-list=star_50 +add action=mark-packet chain=forward dst-address-list=star_100 \ + new-packet-mark=star_100_dl passthrough=no +add action=mark-packet chain=forward new-packet-mark=star_100_up passthrough=\ + no src-address-list=star_100 +add action=mark-packet chain=forward dst-address-list=star_150 \ + new-packet-mark=star_150_dl passthrough=no +add action=mark-packet chain=forward new-packet-mark=star_150_up passthrough=\ + no src-address-list=star_150 +add action=mark-packet chain=forward dst-address-list=star_200 \ + new-packet-mark=star_200_dl passthrough=no +add action=mark-packet chain=forward new-packet-mark=star_200_up passthrough=\ + no src-address-list=star_200 +add action=mark-packet chain=forward dst-address-list=star_500 \ + new-packet-mark=star_500_dl passthrough=no +add action=mark-packet chain=forward new-packet-mark=star_500_up passthrough=\ + no src-address-list=star_500 +add action=mark-packet chain=forward dst-address-list=hemat new-packet-mark=\ + hemat_dl passthrough=no +add action=mark-packet chain=forward new-packet-mark=hemat_up passthrough=no \ + src-address-list=hemat diff --git a/178-queue-tree.rsc b/178-queue-tree.rsc new file mode 100644 index 0000000..2acc660 --- /dev/null +++ b/178-queue-tree.rsc @@ -0,0 +1,44 @@ +# 2026-02-26 10:45:59 by RouterOS 7.21.2 +# software id = JRG5-1NLG +# +/queue tree +add max-limit=10M name=EXPIRED_dl packet-mark=EXPIRED_dl parent=global +add max-limit=10M name=EXPIRED_ul packet-mark=EXPIRED_ul parent=global +add max-limit=3584M name=1_all_dl_Dimensi parent=global queue=default +add max-limit=3G name=5_all_ul_Dimensi parent=global queue=default +add max-limit=3G name=hemat_dl packet-mark=hemat_dl parent=1_all_dl_Dimensi \ + queue=hemat_dl_6m +add max-limit=500M name=hemat_up packet-mark=hemat_up parent=5_all_ul_Dimensi \ + queue=hemat_up_6m +add max-limit=3G name=star_20_dl packet-mark=star_20_dl parent=\ + 1_all_dl_Dimensi queue=pcq_dl_20m +add max-limit=3G name=star_30_dl packet-mark=star_30_dl parent=\ + 1_all_dl_Dimensi queue=pcq_dl_30m +add max-limit=3G name=star_50_dl packet-mark=star_50_dl parent=\ + 1_all_dl_Dimensi queue=pcq_dl_50m +add max-limit=3G name=star_100_dl packet-mark=star_100_dl parent=\ + 1_all_dl_Dimensi queue=pcq_dl_100m +add max-limit=500M name=star_20_ul packet-mark=star_20_up parent=\ + 5_all_ul_Dimensi queue=pcq_up_20m +add max-limit=500M name=star_30_ul packet-mark=star_30_up parent=\ + 5_all_ul_Dimensi queue=pcq_up_30m +add max-limit=500M name=star_50_ul packet-mark=star_50_up parent=\ + 5_all_ul_Dimensi queue=pcq_up_50m +add max-limit=500M name=star_100_ul packet-mark=star_100_up parent=\ + 5_all_ul_Dimensi queue=pcq_up_50m +add max-limit=3G name=star_200_dl packet-mark=star_200_dl parent=\ + 1_all_dl_Dimensi queue=pcq_dl_200m +add max-limit=500M name=star_200_ul packet-mark=star_200_up parent=\ + 5_all_ul_Dimensi queue=pcq_ul_200m +add max-limit=3G name=star_150_dl packet-mark=star_150_dl parent=\ + 1_all_dl_Dimensi queue=pcq_dl_150m +add max-limit=500M name=star_150_ul packet-mark=star_150_up parent=\ + 5_all_ul_Dimensi queue=pcq_up_150m +add max-limit=3G name=star_500_dl packet-mark=star_500_dl parent=\ + 1_all_dl_Dimensi queue=pcq_dl_500m +add max-limit=500M name=star_500_ul packet-mark=star_500_up parent=\ + 5_all_ul_Dimensi queue=pcq_ul_500m +add max-limit=2G name=star_10_dl packet-mark=star_10_dl parent=\ + 1_all_dl_Dimensi queue=pcq_dl_10m +add max-limit=500M name=star_10_ul packet-mark=star_10_up parent=\ + 5_all_ul_Dimensi queue=pcq_up_10m