dane johansen wrote:
Probably you run into this situation:

client (10.0.5.233 <http://10.0.5.233>) -> firewall (10.0.5.200 <http://10.0.5.200>) -> rdr -> server (10.0.5.81 <http://10.0.5.81>)

No servers see's that packet came in from the same subnet and goes directly to the client which does not expect reply from 10.0.5.81 <http://10.0.5.81> it expects reply from 10.0.5.200 <http://10.0.5.200>.

You may want to read this:

http://www.openbsd.org/faq/pf/rdr.html#reflect


I figured out what the problem is/was and the document you referenced helped me figure it out.

Basically my network is something like this


Internet   <--> ext_if <--> Machine <-->  vlan1/carp1 ( 10.0.1.0/24)
                                                  |
                                   vlan50/carp50 ( 10.0.5.0/24)

I was basically trying to get clients from vlan1 to load balance across machines on vlan50. Initially I had

rdr pass on vlan50 proto tcp to 10.0.5.200 port $ports_web -> 10.0.5.81

This doesn't work since traffic destined from 10.0.1.0 never hits interface vlan50. I had to put a rdr on the interface traffic was coming in from e.g. vlan1 so the correct working configuration is

rdr pass on vlan1 proto tcp to 10.0.5.200 port $ports_web -> 10.0.5.81

Thanks,

Vladimir

Reply via email to