Hi everyone,

I'm trying to build a PF / ALTQ ruleset that handles traffic between 3
internal interfaces and 1 external, so that the internal interfaces
can have different priorities on the available bandwidth they can get
from the external interface. I don't know if that's possible with only
ALTQ rules, or if I'll have to use tagging, so I'm trying to
understand some simple setups before.

While reading the example #2 on the PF user's guide
(http://www.openbsd.org/faq/pf/queueing.html#example2), I came across
the following ruleset:


boss      = "192.168.0.200"
...
altq on fxp0 cbq bandwidth 1.5Mb queue { std_ext, www_ext, boss_ext }
...
queue boss_ext       bandwidth 500Kb priority 3 cbq(borrow)
...
# filter rules for fxp0 outbound
pass out on fxp0 from $boss to any keep state queue boss_ext    <<<-------


Where fxp0 is the external interface (internet). My question is about
that last rule above. Assuming that NAT is working so that the "boss"
is able to surf the web, and since NAT translations happen before the
filtering rules, then the rule above shouldn't work... right? The fxp0
interface would be able to filter only on already translated addresses
(its own address), and not on unstranslated addresses, like
192.168.200, which is the "boss" IP, on a different subnet. Would a
rule like that work?

If that setup works, I might be able to implement my original idea, by
doing something like:
pass out on fxp0 from 192.168.0.5 to any keep state queue traffic1_ext
pass out on fxp0 from 192.168.2.5 to any keep state queue traffic2_ext
pass out on fxp0 from 192.168.5.5 to any keep state queue traffic3_ext

Thanks for any ideas =)

Leonardo Rodrigues

Reply via email to