I have two OpenBSD 4.7 firewalls. I have tried to take them down to the
most basic configuration possible in my pf.conf ruleset while still passing
carp and state rule as suggested in the OpenBSD FAQ/Guide, however when I
reboot the master, the backup does not seem to have kept any state since my
SSH connections to the outside world die.
I have used tcpdump on the pfsync device and I see packets flying from both
firewalls, and I also added the "defer" option to pfsync since this seemed
to require confirmation of the pf state packet being added to another
firewall before the rule would be added to the master firewall. That seemed
like a good idea.
Carp failover works fine.
Here is my pfsync config from the master and backup:
# cat /etc/hostname.pfsync0
up syncdev vr2 defer
Here is my pf.conf
ext_if="vr0"
int_if="vr1"
pfsync_if="vr2"
Lo_if="lo0"
set skip on lo
pass # to establish keep-state
block in on ! lo0 proto tcp to port 6000:6010
match out on $ext_if from $int_if:network to any nat-to ($ext_if)
pass out on { $ext_if $int_if } proto carp keep state
pass on $pfsync_if proto pfsync