Topic: load balancing with pf and some sites time out

Hi

Last night I implemented a new load balancer for our office, its running
on FreeBSD7.0 and I'm using pf to do the load balancing for our two WAN
connections.

The problem that I'm having is that for some weird reason some sites are
timing out when we go to them, here are a few sites that doesn't work,
http://www.eurodns.com
http://www.microsoft.com
http://www.hsbc.co.uk
http://www.shutterstock.com
and a few more
even bsdforums big_smile

All the Microsoft sites are not working, MSN, Live and hotmail as well.

Here is what my pf rules looks like for the load balancer

#
# LOAD BALANCING
#
#  pass all outgoing packets on internal interface
pass out on $int_if from any to $lan_net
pass out on $wlan_if from any to $wlan_net
#  pass in quick any packets destined for the gateway itself
pass in quick on $int_if from $lan_net to $int_if
pass in quick on $wlan_if from $wlan_net to $wlan_if
#  load balance outgoing tcp traffic from internal network.
pass in on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin proto tcp from $lan_net to any flags S/SA modulate state
pass in on $wlan_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin proto tcp from $wlan_net to any flags S/SA modulate state
#  load balance outgoing udp and icmp traffic from internal network
pass in on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin proto { udp, icmp } from $lan_net to any keep state
pass in on $wlan_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin proto { udp, icmp } from $wlan_net to any keep state

#  general "pass out" rules for external interfaces
pass out on $ext_if1 proto tcp from any to any flags S/SA modulate state
pass out on $ext_if1 proto { udp, icmp } from any to any keep state
pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state
pass out on $ext_if2 proto { udp, icmp } from any to any keep state

#  route packets from any IPs on $ext_if1 to $ext_gw1 and the same for
#  $ext_if2 and $ext_gw2
pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any

The weird part is that I can ping the sites like shutterstock and eurodns but when I want to open there websites it times out or it just gets stuck at loading.

I even tried to route all traffic from the lan to use only one dsl line but nothing happens
here is that rule

# shutterstock
pass in quick on $int_if  route-to { ( $ext_if2 $ext_gw2 ) } proto tcp from $lan_net to 66.199.177.8 keep state
pass in quick on $wlan_if route-to { ( $ext_if2 $ext_gw2 ) } proto tcp from $wlan_net to 66.199.177.8 keep state

does any one have any idea why this is happening? Some sites like google and yahoo are flying but some sites doesn't work at all.

Thanks
hamba

Last edited by hamba (2008-04-01 12:50:05)

Re: load balancing with pf and some sites time out

Got it working smile

I had to change the states from flags S/SA modulate state to keep state

Thanks for reading
hamba