Hi all,

I've a problem with a cluster of OpenBSD firewalls. I don't see an immediate
clean solution, but some of you may shed some light on it! ;)
The  two firewalls manage 50 vlans, each one has a corresponding carp
interface. The two firewalls exchange state information via pfsync on a
dedicated gigabit interface. For balancing reasons, one firewall is the
master for half the vlans, the other firewall is the master for the other
half. Everything is working well, except for the communications between
vlans the reside on different firewalls. As an example:

FW1 is master for:

vlan1
vlan2
vlan3

FW2 is master for:

vlan4
vlan5
vlan6

Communications between vlan1, vlan2 and vlan3 are fine. Communications
between vlan4, vlan5 and vlan6 are fine too. This is because they all reside
on the same physical firewall.
Communication between vlan[1-3] and vlan[4-6] fails, because traffic
originating from i.e. vlan1 and going to vlan4 does not get routed to FW2,
but remains on FW1 (since the vlan being up creates the local route, even if
the corresponding carp interface is down). This situation creates an
asimmetry in the traffic, that disrupts the state table. The state gets
created on the originating firewall, and while some of them get replicated
to the other firewall by pfsync, not all of them are (of course pfsync has
not been designed to be realtime, it does what it can!) thus breaking
reliable communication between vlans.
The only workaround I can think about now is to simply keep all the masters
on one firewall. Is there any other means to make it working as I intended
it? Perhaps shutting down the vlans for which the carp state is backup via
ifstated?

Thanks,
]\/[arco
-- 
I'm Winston Wolf, I solve problems.

Reply via email to