I'd have prefered that a more experienced person answer this one, but
they don't seem to have, so be forewarned: everything I say here might
be wrong.  However, through the glory of mail lists, if I say something
wrong, fifty people will jump all over me, and Google will put it at the
top of the list when people google for my name. :)

Ralf Hornik Mailings wrote:
> Dear list,
> 
> I set up two OpenBSD 3.7 -stable firewalls using carp. Everything works
> except preemption.
> 
> When only one interface on the master side fails (pull the Cable) the
> regarding carp0 interface on the backup side becomes master. But not
> carp1.

Right.  Nothing's wrong with the master carp1, why should it demote
itself and have the backup take over?

> I waited some minutes, but carp1 keeps being backup until I do a simple
> ifconfig(8) on the master side. Then it changes immediately.

yep.
(though I'm not entirely sure I know what command you are typing by
"simple ifconfig(8)".)

> I can reproduce it, waiting some minutes, or only a fiew seconds. Once I
> do an ifconfig on the master side, the backup side becomes master on all
> carp's. Strange...?

not really, if you understand the modular approach here.

> My config:
...

> Can anybody reproduce it, and has a solution for this problem?
> Any help would be very nice! :-)

Look at the pieces here:
* CARP gives you redunancy on your INTERFACES...not your entire firewall.
* pfsync keeps your firewall state tables in sync, so either machine can
take over.

If you lose a box completely, your system is fine.  If you lose one
cable or one NIC or so on, you have a problem.

What you need is something that will watch all interfaces and shut down
ALL (forcing a COMPLETE fail-over) if something goes wrong with any.

That's a third part of the CARP toolset: ifstated(8) and ifstated(5).

Yes, that's missing from the PF FAQ, though I just tossed a couple links
in faq/pf/carp.html.  More will get added when I get more knowledge of
the topic (or Joel writes it :)

Nick.

Reply via email to