Important Information about Firewall Builder 3.1.0
Firewall Builder v3.1.0 is internal testing release not intended
for publication. Please do not distribute it. This version is
preliminary, not suitable for production use, most likely has bugs
and is made available for download to make it possible for selected
users to test it and validate most important design decisions.
You can keep this window open while you are working with the
GUI or open it again using main menu Help/Release Notes.
Support for High Availability configurations
Test data file cluster.fwb with examples of different cluster
configurations is available for download here.
New object type "Cluster" (currently it is under Objects in the tree)
represents the HA pair. You configure policy and NAT rules in the
rule sets of this object rather than in the actual firewalls.
Here is what you need to do to set up HA configuration:
- Create your firewall objects. Assign platform and host os and
name interfaces as usual. Do not add any policy or NAT
rules. These are your real (member) firewalls. Interfaces should
have their real IP addresses (not CARP or VRRP addresses).
-
Create a Cluster object which you configure with proper platform
and host OS. Use the usual "New Object" menu or toolbar button
to create this object. Note that in order for the firewall
object to become a member of a cluster, their platform and host
os settings must match.
-
The Cluster object gets carp or vrrp interfaces. Name them
"carp0", "carp1", "vrrp0", "vrrp1" or whatever indexes they have
on your machines. You can add these when you create new cluster
object if choose manual method in the new cluster wizard. You
can add CARP/VRRP password and VRID at the same time, but if you
don't, you can add them later.
-
Besides interfaces, the Cluster object has a new child object
"State Sync Group". this group represents state synchronization
protocol. Currently pfsync is supported for OpenBSD and
conntrackd for Linux. To configure, double click it in the tree
to open it in the dialog and click "Manage Members". Select
interfaces of the member firewalls in the panel on the left hand
side and click arrow button to add them to the list on the
right. Use checkbox to select master. Click OK when done. They
should appear in the "members" table in the State Sync Group
dialog. Note that platform and host OS of the cluster object and
members must match, otherwise firewall objects do not appear in
the "members" dialog panel.
-
Each interface of the Cluster also has new child object besides
IP address, called "firewall:carp0:members" or similar to
this. These objects represent failover groups. Double click on
them to open in the dialog. Just like with State Sync Group,
there is a table for members and a button "Manage
Members". Click this button to add interfaces of the member
firewalls to the failover group of each cluster interface. Do
not forget to select the master.
-
Button "Edit protocol parameters" allows you to edit CARP or
VRRP password, VHID and other parameters for the failover
protocol.
-
There are few new checkboxes in the "Script" tab of the firewall object
dialog. These allow you to control whether the program will add
shell commands to create and configure vrrp/carp interfaces.
-
Compile by clicking right mouse button on the cluster object and
using menu item "Compile". This will in fact compile each member
firewall separately so you'll get .fw and .conf files for both
of them.
-
Again, you configure all the rules in the policy and NAT rule
sets that belong to the cluster object. If you put cluster's
interfaces in rules, the program replaces them with interfaces
of the member firewall when it compiles rules. If you put
cluster object in a rule, it is like if you put member firewall
object there instead, except the program automatically picks the
member firewall it compiles the policy for.
Changes in the support for bridging firewalls
Skip this if you do not use Firewall Builder to configure iptables
firewalls in bridging configuration. Otherwise, please read on.
Previous versions of Firewall Builder provided an attribute "bridge
port" in the dialog of the Interface object. If an interface marked
as "bridge port" was used in the "Interface" column of a policy
rule, fwbuilder policy compiler used "--physdev-in" or
"--physdev-out" option instead of conventional "-i" or "-o"
option. The attribute "bridge port" has been deprecated in the new
version. You need to make changes to your firewall and interface
objects manually in order to make your old configurations compile
properly with new version of Firewall Builder.
First, check if you have an interface object to represent the
bridge. Usually it will have a name br0 or similar. If you
do not have this interface object in the firewall in Firewall
Builder, please create it. Regardless whether this object existed
before or you just created it, open it in the editor and click
"Advanced Interface Settings" button in the dialog. This
button and the dialog it opens are new in this version of the
program. In the dialog that appears use drop-down menu "Device Type"
to set its type to "Bridge". Then click "OK" to close the
dialog and save configuration.
Next, find interface objects that should represent bridge ports and
simply drag them and drop under the interface br0 (copy/paste
works too). In the end, these interfaces become "children"
of br0 and should be located in the branch of the tree rooted
at br0. The program displays a comment "bridge port" next to
the name of an interface like this in the tree. Here is how it looks
like:
In this configuration we have bridge interface br0 and two
bridge ports eth0 and eth1. Note how eth0
and eth1 are located in the tree under br0, on the
same level as its ip address object.
This is it, bridge port interfaces will be recognized by the program
again and it will generate proper iptables configuration.