Im tried to build a queue tree for the up and download.
The queue tree works only for the download. The upload is not shaped.
I think its maybe a problem with the NAT.
Whenever I have done hierarchical queue tree setups like that, I have never had a packet-mark set for the parent, it is always unset (i.e. !packet-mark yes but NOT packet-mark=no-mark). Only child queues with no children of their own have a packet mark generally. Iâm not sure what happens if a queue has children and also has a packet mark set. Parent queues like that generally do not match traffic directly, all traffic would instead go into a child queue.
Using prerouting or postrouting in mangle is fine, you do not need to switch to forward.
I think I remember that if you use interfaces you need to tag one direction on the bridge and the other one on the port. Then it works.
but it wonât work if you tag both on the port.
This I found quit strange so due to this I now tag DL via IP address: DL is destination âlocal IP addressesâ,
UL is âsourceâ local IP address and packet mark them accordingly.
Works like a charme
(you still use only connections from the parent mangle rule that marks in interface/out interface WAN.
So local traffic wonât get hit.
I tired to mark the connections. No success. ;-((
I also tried the simple queues but there i have problems with the priority
I would like to splitt my 50Mbit Internet to the different departments in the company. I also would like to set the priority to different departments if the internet line is full.
priority is missing for some of the âleafâ queueâs
marking is only relevant for âleafâ queues
So currently there are 5 classes usable in each direction: mgmt_up/down, voice_up/down, no_mark_up/down, office_up/down & public_up/down. Marking should be fhese classes only.
Comment: In-interface WAN = downlink (coming into the router)
Outinterface WAN= Uplink (leaving the router towards internet etc.)
This is also why you do NAT on outinterface WAN and not IN-interface WAN .
Then as others said, you need to mark connections coming through that WAN interface first
and allow passthrough to process this connection/packet right then and add more granularity (GUEST packets, ETHx packets etc)!
Keep in mind there is only one mark possible regardless of the chain, therefore you need to create an absolute hierarchy.
As example if you mark packet in pre-routing with tag âAll-DLâ, and then in foward chain tag âGUEST_DLâ, the ALL-DL mark is gone and replaced by GUEST-DL.
You can do : mark pre-routing with tag âAll-DLâ, and then in foward chain tag âAll-DL-GUEST_DLâ, if you want to keep the granularity.
Last but not least the NAT should really have no impact on the routing it the routing table is correct and you do not route based on connection or packet marks.
(have you any mangle based routing like for failover?)
BECAUSE if you set mangle marks for load balancing for example, they can ruin/conflict with the bandwidth marks (as they might replace them as mentioned above).