Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 07 Feb 2005 23:44:29 -0500
From:      "solarflux.org/pf" <pf-r@solarflux.org>
To:        freebsd-pf@freebsd.org
Subject:   Re: rule ordering
Message-ID:  <420843AD.7080201@solarflux.org>
In-Reply-To: <20050208010112.GC17904@mail.meangrape.com>
References:  <20050208010112.GC17904@mail.meangrape.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Jay wrote:
> I'm putting in a NAT rule for the first time.  My pf.conf is just edited
> from the original.
> 
> When I insert the NAT rule and run pfctl -n -f /etc/pf.conf, I get the
> following error message:
> 
> 	/etc/pf.conf:62: Rules must be in order: options, normalization,
> queueing, translation, filtering
> 
> A perfectly understandable error message -- queuing should be before
> translation.  As in the following snippet from my pf.conf:
> 
> 	# Queueing: rule-based bandwidth control.
> 	altq on $ext_1 priq bandwidth 256Kb queue { q_pri, q_def }
> 	queue q_pri priority 7
> 	queue q_def priority 1 priq(default)
> 
> 	pass out on $ext_1 proto tcp from $ext_1 to any flags S/SA \
> 		keep state queue (q_def, q_pri)
> 	pass in on $ext_1 proto tcp from any to $ext_1 flags S/SA \
> 	        keep state queue (q_def, q_pri)
> 
> 	# Translation: specify how addresses are to be mapped or redirected.
> 	nat on rl1 from 192.168.0.0/24 to any -> 209.223.7.161
> 
> Yup.  Looks like queueing before translation.  But that's the snippet
> that throws the error.  If I comment out all of the ALTQ rules, pfctl -n
> -f /etc/pf.conf works fine.  Also the same if I comment out the NAT
> rule.

You have pass rules (hence, filtering) in your queueing section; you
must only set up queueing in that section.  That's why commenting out
the nat rule or everything in your queueing section allow the pf.conf to
be parsed successfully.

-S





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?420843AD.7080201>