I'm attempting to get a bridging firewall setup going... with two servers rigged as a fault tolerant pair.
CARP of course won't work in this setup... as I'm not sharing an IP. So... I'm using spanning tree protocol. so... graphically: Firewall A Host -- switch < | > switch -- Internet Firewall B I'm using pfsync between A & B on a dedicated interface... and when I have pf enabled on both, I do see the states synchronized. But for now I have pf disabled as I'm having a problem I haven't been able to put my finger on yet. If I start a ping on Host, the pings are going through A, as spanning tree has the internet side port on B in blocking state. pings are happening fine. Now I pull the ethernet from A to the internet... pings stop of course... I can watch host B (via brconfig) go from blocking to listening, to learning, to forwarding. Block for 20 or so seconds, then listening for 15 or so seconds, then learning for 15 or so seconds... then forwarding. Once forwarding is working, I can use a different virtual console on the host to ping a different host.. that's working fine. BUT the original ping still doesn't being responding again (or a separate new ping to the same IP) for 7 minutes. Since the address learning (which when things recover I can see changes) had a 4 minute timeout I thought it would be that... but shortening it, or adding -learn to the two bridge interfaces on the two firwewalls doesn't help. The switchover time can be made faster... by power cycling the two switches on each side of the firewall pairs after the interface goes into forward. This drops the switchover time to about 1.5 minutes. Even tcpdump -i <internal interface> on the B firewall won't show the pings... Part of this is the layer 2 learning that is going on in the two switches... currently for staging these are two non managed switches. In production the firewalls will bridge two VLANs on a large Cisco switch. And the currently plan was to have spanning tree turned off on the Cisco switch... letting the firewalls manage spanning tree amongst themselves. 7 minutes is not an acceptable failover time for existing connections. Anyone ever do anything like this before ? I'm guessing that some custom configuration is going to be required on the Cisco switch ports to decrease this switchover time to something more acceptable... More host tuning/etc may be required as well.. So.. here's the config info... fxp0 has an IP fxp1 has no IP the bridge is fxp0 and fxp0, and here is the contents of the bridgename.bridge0 file: on Firewall A on Firewall B --------------- ------------- blocknonip fxp0 blocknonip fxp0 blocknonip fxp1 blocknonip fxp1 add fxp0 add fxp0 add fxp1 add fxp1 ifpriority fxp0 2 ifpriority fxp0 2 ifpriority fxp1 4 ifproirity fxp1 4 ifcost fxp0 2 ifcost fxp0 2 ifcost fxp1 2 ifcost fxp1 2 stp fxp0 stp fxp0 stp fxp1 stp fxp1 timeout 30 timeout 30 up up Any suggestions ? Can this be made to work, or do I have to move to a routed firewall configuration and use CARP/PFSYNC ?? (wanted bridged firewalls for the 'transparency' and realtive ease of insertion into an existing network. Thanks, -- Curt