QUEUES while using NAT?

I’m having trouble getting queues to work as expected on our new X86 based router running 3.0 beta 6

The outbound Ethernet port is hooked to a DSL Modem, and is configured for PPPoE.

We are using srcNAT to NAT the private Internal IP’s to Public IP’s on the outgoing ethernet port

The Internal subnet is 192.168.200.0/24

1st problem: When I make a simple queue that includes the entire subnet (192.168.200.0/24) and apply bandwidth Max Limits, it doesn’t work. No bandwidth limiting takes place. If I create a simple queue and specify a single IP in the internal subnet (192.168.200.5) it works as expected. What’s the problem?

2nd problem: With no other queues I followed the documenation in creating a PCQ queue using queue tree. The download works as expected, allowing each user of the queue a set amount of bandwidth (dynamically creating queue’s for each user). The upload does NOT work as expected. It allows ALL users to share the set bandwidth, but does NOT create dynamic queues for each user. I’m using the PPPoE outgoing Interface for this queue. I experimented with this a lot. I can’t seem to figure it out. Maybe it has something to do with the fact I’m using NAT? Maybe it has something to do with the fact that it’s a PPPoE interface?

3rd problem: This may just be a limitation, but I can’t seem to get simple queues and tree queues to work together at the same time. Is this possible? I was going to use a tree queue to do shapping of the entire interface traffic and use simple queues to do per user shapping. But when my simple queue download limits are ignored when both are setup. Oddly the upload limits seem to work.
Any help or suggestions would be greatly appreciated.

Thanks!

Hi,
did you get this working i have a very similar issue see my post http://forum.mikrotik.com/t/simple-queue-ignored-when-packets-marked-for-bandwidth-ctrl/47826/1
jas

When using NAT, you can not apply PCQ to interface queues, you must use Global-Out. If you look at the attached packet-flow diagram, NAT occurs between Global-out and Out-interface. That means PCQ applied to the upstream interface will see all traffic as coming from your external NAT IP, and not individual subscriber ip’s.

The solution is to apply the PCQ to Global-out. This creates a small problem since both upload and download traffic flow through global-out. To remedy this, you need to apply different packet marks to upload and download traffic, effectively doubling all your current packet marking rules.

Simple queues work on Global-out, and if you have a queue tree tied to Global-out along with a simple queue, the tree will be ignored. Given that you are doing NAT, and must use Global-out to apply PCQ, I would suggest just dropping the simple queues in favor of using PCQ rate to limit each user’s bandwidth.


If you haven’t seen it yet, Janis’s QoS MUM talk is an excellent resource for this type of work.
Video: http://www.tiktube.com/index.php?video=JpcD3eCChqGnDlJFJEEsCvExClIoEKDH=
Slides: http://mum.mikrotik.com/presentations/US09/megis_qos.pdf

If you have any trouble getting your queue tree rules working, post your config here and I will see if I can help.
@CC_DKP
packetflow.JPG

Simple queues work on Global-out, and if you have a queue tree tied to Global-out along with a simple queue, the tree will be ignored.

It’s the other way around. If you have simple queues and queue trees attached to globals the simple queues get ignored and the queue trees take. I know the documentation says different.
I hope it stays that way because at allows you to use queue trees with Hotspots, where you can’t turn off simple queues.

That does explain some results I have seen, but I wasn’t about to go against the mighty word of Janis on just my hunch.

@CC_DKP