Hi misc@, I am trying to setup a set of "carp"-ed firewalls as follow:
ISP 1 ISP 2 | | \ / _____ SWITCH # 1 _____ / | | \ / | | \ bge0 bge1 bge0 bge1 | / | / FW #1 FW #2 | \ | \ em0 em1 em0 em1 \ \________|____ \ \ | \ SWITCH #3 \ | \____ SWITCH #2 Each ISP has a modem plugged to SWITCH #1. FW#1 and FW#2 have bge0 set up for ISP 1 and bge1 set up for ISP 2 (one carp per ISP). FW#1 and FW#2 have em0 set up for switch #2 and em1 set up for switch #3 (one carp per switch). pfsync between FW#1 and FW#2 uses an inet alias on em0 (until IPSec is setup). FW#1 has sysctl net.inet.carp.preempt set to 1, everything was working as expected and I was having a ball plugging, unplugging, rebooting and `ifconfig`-ing interfaces ;-) Then ... I had to configure the firewall to have all hosts connected to SWITCH #2 use ISP 1, and all hosts connected to SWITCH #3 use ISP 2. At first, I read `man route` and after figuring out that it was not possible to setup a default gateway for each source subnet, I decided to try pf's ``route-to''. I was told that I should avoid using pf to "fix" routing issues. What do you suggest ? If it is PF, what would be the pf rules to have the route-to working and are they ok to use with carp ? I tried: pass in quick on em0 route-to ( bge0 $isp1_gw ) from any to !192.168.0.0/16 keep state pass in quick on em1 route-to ( bge1 $isp2_gw ) from any to !192.168.0.0/16 keep state (bge0 (carp2) and bge1 (carp3) setup each one with a different default route and the -mpath option) but while it "seemed" to work, carp doesn't seem to like it for some reason (unplugging some interfaces on current master causes a flood of CARP advertisements). Thanks for any hint !