I found myself in a similar situtation and just set all icmp to go out a
single interface:
pass in on $int_if route-to { ($dsl_2_if $dsl_2_gw) } proto { icmp } from any
to any keep state
And for incoming connections for ssh that go to a given interface I added
these:
pass in quick on $dsl_1_if reply-to ($dsl_1_if $dsl_1_gw) proto tcp
Of course, my setup is different because I have certain protocol/host groups
mapped to given interfaces..but hope this can help a little.
------------------------
On Thursday 20 March 2008 12:44:24 pm you wrote:
> I try to implement loadbalacing using two ISP's, with explanation from
> http://www.openbsd.org/faq/pf/pools.html
> Everything work well (except ftp), but i see with tcpdump, packets that
> outgoing on $ext_if1 from $ext_if2 and vice versa. Generally this are
> icmp request's.
> I don't understand why this happening because have last two rules (from
> web explanation), that prevent this situation.
> Even if i try to log packets for this rules, i don't see any packet.
> To be more clear, rules that prevent packet to outgoing on wrong
> interface are:
>
> 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
>
> Still with this rules, i see with tcpdump packets that outgoing on wrong
> interface.
> Where is the problem?