Does the outgoing balance example work?
Paul J. Pathiakis
pathiaki at pathiaki.com
Wed Dec 22 11:20:43 PST 2004
BTW, I should mention that this is load balancing. According to my logs,
traffic is going out both interfaces.... it's just not coming back.
P.
On Wednesday 22 December 2004 14:12, Paul J. Pathiakis wrote:
> Hi,
>
> I'm trying to get pf to load balance outgoing on two outbound lines (cable and dsl).
> My pf.conf is based on the example from the pf faq at www.openbsd.org. I've changed
> parameters to match my machine and I still can't get it to load balance outgoing
> connections on my machine. As soon as I enable the route-to rules for balancing, my
> web browser stops working and quite a few other utilities stop working. It connects
> to the site but the response never comes back. Is it possible that nat isn't working
> correctly? Is it possible that the return addresses aren't getting correctly set?
> How do I troubleshoot this? The example (below) seems pretty straight forward.
> I've enabled my pflog (made sure every filter is logging).
> I can check states with pfctl commands. I just can't see what's wrong. Is there anything
> that I'm missing (Please note that I changed the "default block all" to pass in all and pass
> out all.
>
> thanks!
>
> Paul P.
>
> lan_net = "192.168.0.0/24"
> int_if = "dc0"
> ext_if1 = "fxp0"
> ext_if2 = "fxp1"
> ext_gw1 = "68.146.224.1"
> ext_gw2 = "142.59.76.1"
>
> # nat outgoing connections on each internet interface
> nat on $ext_if1 from $lan_net to any -> ($ext_if1)
> nat on $ext_if2 from $lan_net to any -> ($ext_if2)
>
> # default deny
> #block in from any to any
> #block out from any to any
> pass in from any to any
> pass out from any to any
>
> # pass all outgoing packets on internal interface
> pass out on $int_if from any to $lan_net
>
> # pass in quick any packets destined for the gateway itself
> pass in quick on $int_if from $lan_net to $int_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
> # 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
>
> # 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
>
> _______________________________________________
> freebsd-pf at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-pf
> To unsubscribe, send any mail to "freebsd-pf-unsubscribe at freebsd.org"
>
More information about the freebsd-pf
mailing list