簡單 實用
/queue type
add name=cake-down kind=cake cake-bandwidth=95M cake-diffserv=diffserv4 cake-mpu=64 cake-overhead=18
add name=cake-up kind=cake cake-bandwidth=48M cake-diffserv=diffserv4 cake-mpu=64 cake-overhead=18
cake-bandwidth:略低於實際 ISP 速度,避免 bufferbloat
cake-diffserv=diffserv4:小封包優先(DNS/VoIP/遊戲)
cake-mpu=64:保護小封包低延遲
cake-overhead=18:補正 Ethernet/PPPoE 標頭
95m 和48m 是我這邊的,你自己要改
mss clamp wan/lan
# LAN → WAN
add action=change-mss chain=forward out-interface=wanport protocol=tcp tcp-flags=syn new-mss=clamp-to-pmtu comment="LAN→WAN Auto MSS"
# WAN → LAN
add action=change-mss chain=forward in-interface=wanport protocol=tcp tcp-flags=syn new-mss=clamp-to-pmtu comment="WAN→LAN Auto MSS"
雙向 LAN ↔ WAN 自動調整 MSS
放在 forward chain 最上方
重要,二條不能合併成一條。chatgpt 原本說能,後來設定沒有效果
2.3 Packet Marking(上下行封包標記給 queue tree)
/ip firewall mangle
add action=mark-packet chain=forward in-interface=wanport new-packet-mark=download passthrough=yes comment="download: WAN→LAN"
add action=mark-packet chain=forward out-interface=wanport new-packet-mark=upload passthrough=yes comment="upload: LAN→WAN"
passthrough=yes 確保封包能被後續規則處理
download/upload 對應 queue tree 的 packet-mark
in-interface 要改你們自己的
邏輯
a.建立 mangle
b.建立 queue types
使用 Kind cake 自動智慧化 "SQM"
c.用 queues > tree 設定 global 上下
更新
/queue type
add cake-ack-filter=filter cake-autorate-ingress=yes cake-diffserv=diffserv8 cake-mpu=64 cake-overhead=18 \
kind=cake name=cake-down
add cake-ack-filter=filter cake-autorate-ingress=yes cake-diffserv=diffserv8 cake-mpu=64 cake-overhead=18 \
kind=cake name=cake-up
前提 cpu 效能高
以上是 chatgpt
以下是 G3 最佳化
cake-flowmode 是 CAKE 演算法的核心,決定了路由器如何將流量分類並進行「隔離」。
簡單來說,這決定了是「讓每台電腦公平」,還是「讓每個應用程式(連線)公平」。
以下是各個模式的詳細說明與適用場景:
1. triple-isolate (三重隔離) —— ★★★ 強烈推薦 (預設值)
這是 CAKE 最強大的模式,也是我建議您使用的模式。
運作方式:它會同時檢查「來源 IP」、「目的 IP」以及「通訊協定 (5-tuple)」。它將流量分為「大流量 (Bulk)」和「小流量 (Sparse)」。
效果:
即使是同一台電腦,正在全速下載 BT (大流量),同時在玩遊戲或 Ping (小流量)。
CAKE 會識別出這兩個是不同的「流」,並讓遊戲的小封包優先通過,不被自己的下載塞住。
適合:您的需求(極限使用 + 保護小流星)。它能防止單一應用程式霸佔所有頻寬。
2. dual-srchost (雙重來源主機)
運作方式:主要根據 來源 IP (Source IP) 來進行公平分配,同時也會看目的 IP。
效果:強制讓發送端「每台設備」獲得公平的頻寬,不管該設備開了多少條連線。
適合:上傳 (Upload) 方向。
防止家中某一台手機在備份照片到雲端時,把其他人的上傳頻寬全部吃光。
3. dual-dsthost (雙重目的主機)
運作方式:主要根據 目的 IP (Destination IP) 來進行公平分配,同時也會看來源 IP。
效果:強制讓接收端「每台設備」獲得公平的頻寬。
適合:下載 (Download) 方向。
防止某一台電腦在下載 Steam 遊戲時,導致其他人在看 Netflix 變模糊。它會強迫下載者讓出一部分頻寬給其他人。
4. flowblind (流量盲) —— ❌ 不推薦
運作方式:不區分流量是誰發的、去哪裡的。先進先出 (FIFO) 或簡單的隨機分配。
後果:如果有一個 BT 下載開了 500 個連線,它就會搶贏只有 1 個連線的網頁瀏覽。
適合:幾乎不適合現代家用/商用網路,除非你想節省極微小的 CPU 資源。
5. src-ip (僅來源 IP) & dst-ip (僅目的 IP)
運作方式:這是 dual- 模式的簡化版,只看單一方向的 IP hash。
缺點:在大量 NAT 環境下,雜湊 (Hash) 可能會碰撞,導致某些運氣不好的 IP 被誤判在一起排隊。
建議:既然你是 x86,效能足夠,直接用 dual- 系列或 triple-isolate 即可,不需要用這種簡化版。
總結:針對您的選擇建議
您提到**「不需要平均分配,極限使用網路即可,但不要塞住小流星」**。
這句話的技術翻譯就是:不要針對「設備 (Host)」做死板的公平限制,而是要針對「連線行為 (Flow)」做智慧管理。
最佳選擇:triple-isolate
原因:它允許單一設備跑滿 100% 頻寬(如果沒有其他人在用)。但只要有新的「小流星」(例如遊戲封包)進來,它會被識別為一個新的「稀疏流 (Sparse Flow)」,直接插隊優先處理。
指令再次確認 (針對您的需求):
/queue type
add cake-diffserv=diffserv4 cake-memlimit=256.0MiB cake-mpu=64 cake-nat=yes cake-overhead=18
cake-rtt-scheme=internet kind=cake name=cake-aggressive-down
add cake-ack-filter=filter cake-diffserv=diffserv4 cake-memlimit=256.0MiB cake-mpu=64 cake-nat=
yes cake-overhead=18 cake-rtt-scheme=internet cake-wash=yes kind=cake name=cake-aggressive-up
套用在 simple 就可以了
記得 overhead 每個都不一樣,pppoe 我的是 dhcp server 配發 wan ip
這部份設定好,就已經有SQM 最佳了,不用管其他
配合 mangle 小封包優先
add action=change-dscp chain=postrouting comment="Boost Small TCP ACK \E5\8A\A0\E9\80\9F TCP ACK (
\E5\B0\8F\E5\B0\81\E5\8C\85) - \E9\98\B2\E6\AD\A2\E4\B8\8A\E5\82\B3\E6\BB\BF\E8\BC\89\E6\99\82
\E4\B8\8B\E8\BC\89\E5\B4\A9\E7\9B\A4" new-dscp=46 out-interface-list=WAN packet-size=0-128
protocol=tcp tcp-flags=ack
Boost TCP SYN 加速 TCP SYN - 優先處理連線建立 (Handshake)
add action=change-dscp chain=postrouting comment="Boost TCP SYN \E5\8A\A0\E9\80\9F TCP SYN - \E5
\84\AA\E5\85\88\E8\99\95\E7\90\86\E9\80\A3\E7\B7\9A\E5\BB\BA\E7\AB\8B (Handshake)" new-dscp=
46 out-interface-list=WAN protocol=tcp tcp-flags=syn
沒得改了
小封包優先 不塞車
花了大概6小時一斷測試