Tak jsem si s tím traffic shapingem trochu zaexperimentoval a rád bych zkonzultoval, zda je výsledek OK (viz výpis konfigurace na konci).
Myšlenka je tam taková, že se pro různé rychlosti downloadu a uploadů uživatelů vytvoří příslušné Queue Type i vč. 15 sekundových burstů
Následně se vytvoří Queue Tree, kde nejvyšší kořeny jsou fyzická rozhraní (resp. 2 bridge), tj. "br-lan" pro download a "br-wan" pro upload. Obojí s max-limit na 1 Gbit (dle omezení fyzického rozhraní). Následně se vytvoří podtřída "br-lan-inet", reps. "br-wan-inet", kam bude spadat veškerý internetový provoz. Tahle by tam nemusela vůbec být, ale je to jen pro jistotu, kdyby kromě přístupu do netu bylo v budoucnu potřeba řídit i jiný provoz na rozhraní. No a pak už koncové listy stromu pro jednotlivé uživatele. Na závěr jsem v každém stromu ještě přidal skupinu "trash", kam by měl spadnout provoz, který by se neoznačil jako uživatelský.
Ve firewallu jsem vypnul fasttrack, aby markování paketů fungovalo.
V manglu pak budou jumpy dle adresního rozsahu a markování paketů jednotlivých uživatelů.
Je to takto správně?
/queue type
add kind=pcq name=down_10M pcq-burst-rate=15M pcq-burst-threshold=8M pcq-burst-time=15s pcq-rate=10M
add kind=pcq name=up_5M pcq-burst-rate=7M pcq-burst-threshold=3M pcq-burst-time=15s pcq-rate=5M
/queue tree
add max-limit=1G name=br-lan-all parent=br-lan priority=1 queue=ethernet-default
add max-limit=1G name=br-wan-all parent=br-wan priority=1 queue=ethernet-default
add max-limit=1G name=br-lan-inet parent=br-lan-all priority=5 queue=pcq-download-default
add max-limit=1G name=br-wan-inet parent=br-wan-all priority=5 queue=pcq-upload-default
add name=uzivatel1-down packet-mark=uzivatel1 parent=br-lan-inet priority=5 queue=down_10M
add name=uzivatel1-up packet-mark=uzivatel1 parent=br-wan-inet priority=5 queue=up_5M
add max-limit=1M name=trash-up packet-mark=trash parent=br-wan-all queue=pcq-upload-default
add max-limit=1M name=trash-down packet-mark=trash parent=br-lan-all queue=pcq-download-default
add name=uzivatel2-down packet-mark=uzivatel2 parent=br-lan-inet priority=5 queue=down_10M
add name=uzivatel2-up packet-mark=uzivatel2 parent=br-wan-inet priority=5 queue=up_5M
/ip firewall filter
add action=fasttrack-connection chain=forward comment=fasttrack connection-state=established,related disabled=yes hw-offload=yes
/ip firewall mangle
add action=jump chain=forward dst-address=192.168.10.0/24 jump-target=markdown-192-168-1-0-24
add action=jump chain=forward src-address=192.168.10.0/24 jump-target=markup-192-168-1-0-24
add action=mark-packet chain=markdown-192-168-1-0-24 dst-address=192.168.10.104 new-packet-mark=uzivatel1 passthrough=no
add action=mark-packet chain=markdown-192-168-1-0-24 dst-address=192.168.10.117 new-packet-mark=uzivatel2 passthrough=no
add action=mark-packet chain=markup-192-168-1-0-24 new-packet-mark=uzivatel1 passthrough=no src-address=192.168.10.104
add action=mark-packet chain=markup-192-168-1-0-24 new-packet-mark=uzivatel2 passthrough=no src-address=192.168.10.117
add action=mark-packet chain=forward new-packet-mark=trash passthrough=yes