> > yet this does not:
> > rdr on $ext proto tcp from any to <web_servers_ext> port 80 ->
> > \
> > <web_servers_int> round-robin sticky-address
>
> There was a bug fixed recently where pf would fail to select a
> translation when a rule did not have an explicit (or implicit) address
> family (IPv4/v6). This was backported to 3.6-stable, maybe you have an
> older kernel. To test the theory, add 'inet' to your rule, which makes
> the address family explicit.
>
> If this is not the problem, describe exactly how 'it is not working'.
Mea culpa. I really should have given you more to go on. :-(
That said, when looking at a tcpdump -netttvvvi pflog0 port 80, it was
as you suspected: pf apparently wasn't selecting an appropriate
translation rule so connections were getting blocked my the default
block rule.
As described, simply changing to rule to this:
rdr on $ext inet proto tcp from any to <web_servers_ext>
port 80 -> \
<web_servers_int> round-robin sticky-address
makes everything pass through like a champ. Now to grab an updated
3.6-stable. :-)
Thanks so much.
Kevin