The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes how to set up a cluster on a Cisco Email Security Appliance (ESA).
Cisco recommends that you have knowledge of these topics:
Note: In version 8.5+ the Centralized Management key is no longer required and also no longer be visible when added as it is an incorporated feature within the AsyncOS.
This document is not restricted to specific software and hardware versions.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
The problem is to avoid the continuous need for modification on each appliance whenever a configuration between a large group of ESAs needs to be centralized and kept in sync.
The ESA centralized management feature allows you to manage and configure multiple appliances at the same time, to provide increased reliability, flexibility, and scalability within your network. This allows you to manage globally while at the same time you comply with local policies.
A cluster consists of a set of machines with common configuration information. Within each cluster, the appliances can be further divided into machine groups, where a single machine can be a member of only one group at a time.
Clusters are implemented in a peer-to-peer architecture with no primary/secondary relationship. You can log into any machine to control and administer the entire cluster or group. This allows the administrator to configure different elements of the system on a cluster-wide, group-wide, or per-machine basis, founded on their own logical groups
Once all requirements are met, to create the cluster, you need to begin in the command line (CLI) of the first appliance.
Tip: Back up your current configuration on your appliance before you configure your cluster. From the GUI, System Administration > Configuration File. Uncheck the masked password box and save the configuration locally to your PC.
C370.lab> clusterconfig Do you want to join or create a cluster? 1. No, configure as standalone. 2. Create a new cluster. 3. Join an existing cluster over SSH. 4. Join an existing cluster over CCS. [1]> 2 Enter the name of the new cluster. []> NameOfCluster Should all machines in the cluster communicate with each other by hostname or by IP address? 1. Communicate by IP address. 2. Communicate by hostname. [2]> 1 What IP address should other machines use to communicate with Machine C370.lab? 1. 10.1.1.11 port 22 (SSH on interface Management) 2. Enter an IP address manually []> 1 Other machines will communicate with Machine C370.lab using IP address 10.1.1.11 port 22. You can change this by using the COMMUNICATION subcommand of the clusterconfig command. New cluster committed: DATE Creating a cluster takes effect immediately, there is no need to commit. Cluster NameOfCluster Choose the operation you want to perform: - ADDGROUP - Add a cluster group. - SETGROUP - Set the group that machines are a member of. - RENAMEGROUP - Rename a cluster group. - DELETEGROUP - Remove a cluster group. - REMOVEMACHINE - Remove a machine from the cluster. - SETNAME - Set the cluster name. - LIST - List the machines in the cluster. - CONNSTATUS - Show the status of connections between machines in the cluster. - COMMUNICATION - Configure how machines communicate within the cluster. - DISCONNECT - Temporarily detach machines from the cluster. - RECONNECT - Restore connections with machines that were previously detached. - PREPJOIN - Prepare the addition of a new machine over CCS.
C370.lab> clusterconfig Do you want to join or create a cluster? 1. No, configure as standalone. 2. Create a new cluster. 3. Join an existing cluster over SSH. 4. Join an existing cluster over CCS. [1]> 2 Enter the name of the new cluster. []> Test Should all machines in the cluster communicate with each other by hostname or by IP address? 1. Communicate by IP address. 2. Communicate by hostname. [2]> 1 What IP address should other machines use to communicate with Machine C370.lab? 1. 10.1.1.1 port 22 (SSH on interface Management) 2. Enter an IP address manually []> 2 Enter the IP address for Machine C370.lab. []> 10.1.1.1 Enter the port (on 10.66.71.120) for Machine C370.lab. [22]> 2222
Once this step is done, you have a cluster and all your configurations are moved from the Machine to the Cluster level. This is the configuration all other machines inherit when they are joined.
This section covers how to add any new appliances into your current cluster that you have previously or just created. Join a current cluster by either method is similar in approach, the only key point of difference is CCS requires an extra step to finalize it to allow the cluster to accept the newer appliance.
Note: The section indicated in bold in these next steps needs to be done exactly, with SSH, you must not say yes to CCS enabling.
C370.lab> clusterconfig Do you want to join or create a cluster? 1. No, configure as standalone. 2. Create a new cluster. 3. Join an existing cluster over SSH. 4. Join an existing cluster over CCS. [1]> 3 While joining a cluster, you will need to validate the SSH host key of the remote machine to which you are joining.
To get the public host key fingerprint of the remote host, connect to the cluster and run: logconfig -> hostkeyconfig -> fingerprint. WARNING: All non-network settings will be lost. System will inherit the values set at the group or cluster mode for
the non-network settings. Ensure that the cluster settings are compatible with your network settings (e.g. dnsconfig settings) Exception: Centralized Policy, Virus, and Outbreak Quarantine settings are not inherited from the cluster.
These settings on this machine will remain intact. Do you want to enable the Cluster Communication Service on C370.lab? [N]> Enter the IP address of a machine in the cluster. []> 10.66.71.120 Enter the remote port to connect to. This must be the normal admin ssh port, not the CCS port. [22]> Enter the name of an administrator present on the remote machine [admin]> Enter password: Please verify the SSH host key for 10.66.71.120: Public host key fingerprint: d2:6e:36:9b:1d:87:c6:1f:46:ea:59:40:61:cc:3e:ef Is this a valid key for this host? [Y]>
After the check, the appliance joins the cluster successfully.
This is similar in approach, the only difference is that before you decide to allow the new appliance into the current cluster, you need to log into the appliance that is active in the cluster.
On the active appliance in the cluster:
(Cluster test)> clusterconfig Cluster test Choose the operation you want to perform: - ADDGROUP - Add a cluster group. - SETGROUP - Set the group that machines are a member of. - RENAMEGROUP - Rename a cluster group. - DELETEGROUP - Remove a cluster group. - REMOVEMACHINE - Remove a machine from the cluster. - SETNAME - Set the cluster name. - LIST - List the machines in the cluster. - CONNSTATUS - Show the status of connections between machines in the cluster. - COMMUNICATION - Configure how machines communicate within the cluster. - DISCONNECT - Temporarily detach machines from the cluster. - RECONNECT - Restore connections with machines that were previously detached. - PREPJOIN - Prepare the addition of a new machine over CCS. []> prepjoin Prepare Cluster Join Over CCS No host entries waiting to be added to the cluster. Choose the operation you want to perform: - NEW - Add a new host that will join the cluster. []> new Enter the hostname of the system you want to add. []> ESA.lab Enter the serial number of the host ESA.lab. []> XXXXXXXXXXXXXX-XXXXXA Enter the user key of the host ESA2.lab. This can be obtained by typing
"clusterconfig prepjoin print" in the CLI on ESA.lab. Press enter on a blank line to finish.
Once you enter the SSH fingerprint (which is obtained when you log into the appliance that attempts to join your cluster and with the command clusterconfig prepjoin print
) in the previous code example and enter a blank line, it completes the prep join.
Note: If you run the PREPJOIN
option, you need to commit your changes to the primary ESA before you run clusterconfig
on the secondary ESA and join that appliance to your newly configured cluster. This is noted from the output throughout the operation: to join this appliance to a cluster with pre-shared keys, log in to the cluster machine, run the clusterconfig > prepjoin > new
command , enter the next details, and commit
your changes.
Then you can begin the join process on the appliance that atttempts to join in, for reference, call it ESA2.lab to match that of the previous step.
Note: The SSH-DSS key is in the next example.
ESA2.lab> clusterconfig Do you want to join or create a cluster? 1. No, configure as standalone. 2. Create a new cluster. 3. Join an existing cluster over SSH. 4. Join an existing cluster over CCS. [1]> 4 While joining a cluster, you will need to validate the SSH host key of the remote machine to which you are joining.
To get the public host key fingerprint of the remote host, connect to the cluster and run: logconfig -> hostkeyconfig -> fingerprint. WARNING: All non-network settings will be lost. System will inherit the values set at the group or cluster mode for
the non-network settings. Ensure that the cluster settings are compatible with your network settings (e.g. dnsconfig settings) Exception: Centralized Policy, Virus, and Outbreak Quarantine settings are not inherited from the cluster.
These settings on this machine will remain intact. In order to join a cluster over CCS, you must first log in to the cluster and tell it that this system is being added.
On a machine in the cluster, run "clusterconfig -> prepjoin -> new" with the following information and commit. Host: ESA2.lab Serial Number: XXXXXXXXXXXX-XXXXXA User Key: ssh-dss AAAAB3NzaC1kc3.......BrccM= Choose the interface on which to enable the Cluster Communication Service: 1. ClusterInterface (10.1.1.2/24: ESA2.lab) [1]> 1 Enter the port on which to enable the Cluster Communication Service: [2222] Enter the IP address of a machine in the cluster. []> 10.1.1.1 Enter the remote port to connect to. This must be the CCS port on the machine "10.1.1.1",
not the normal admin ssh port. [2222]>
Once this is confirmed, you see the SSH-DSS key. If it matches, you can accept the terms and the cluster is joined successfully.
Cluster configuration migrates:
Cluster configuration does not migrate:
websecurityadvancedconfig
command in the Command Line (for versions 8.5 and newer). Note: If you have content filters that reference quarantines that do not exist, they are invalidated until the referenced Policy Quarantine(s) has been configured on the machine.
In certain scenarios, it can be required that few ESAs in the Cluster work in a particular way than the rest. To achieve this, you do not need to create a new cluster and you can proceed with creation of Groups.
Note: The configurations that are made at Group level, takes precedence over the Cluster level configuration.
For the creation of Groups, create it from the ESA CLI. To begin the configuration, use the command clusterconfig --> ADDGROUP
:
(Machine esalab.cisco.com)> clusterconfig
This command is restricted to "cluster" mode. Would you like to switch to "cluster" mode? [Y]>
Cluster Cisco
Choose the operation you want to perform:
- ADDGROUP - Add a cluster group.
- SETGROUP - Set the group that machines are a member of.
- RENAMEGROUP - Rename a cluster group.
- DELETEGROUP - Remove a cluster group.
- REMOVEMACHINE - Remove a machine from the cluster.
- SETNAME - Set the cluster name.
- LIST - List the machines in the cluster.
- CONNSTATUS - Show the status of connections between machines in the cluster.
- COMMUNICATION - Configure how machines communicate within the cluster.
- DISCONNECT - Temporarily detach machines from the cluster.
- RECONNECT - Restore connections with machines that were previously detached.
- PREPJOIN - Prepare the addition of a new machine over CCS.
[]> ADDGROUP
Enter the name of the new cluster group to create.
[]> New_Group
Cluster group New_Group created.
To add ESAs from the current cluster to the new Group created, use the command SETGROUP:
(Machine esalab.cisco.com)> clusterconfig
This command is restricted to "cluster" mode. Would you like to switch to "cluster" mode? [Y]>
Cluster Cisco
Choose the operation you want to perform:
- ADDGROUP - Add a cluster group.
- SETGROUP - Set the group that machines are a member of.
- RENAMEGROUP - Rename a cluster group.
- DELETEGROUP - Remove a cluster group.
- REMOVEMACHINE - Remove a machine from the cluster.
- SETNAME - Set the cluster name.
- LIST - List the machines in the cluster.
- CONNSTATUS - Show the status of connections between machines in the cluster.
- COMMUNICATION - Configure how machines communicate within the cluster.
- DISCONNECT - Temporarily detach machines from the cluster.
- RECONNECT - Restore connections with machines that were previously detached.
- PREPJOIN - Prepare the addition of a new machine over CCS.
[]> SETGROUP
Choose the machine to move to a different group. Separate multiple machines with commas.
1. esalab.cisco.com (group ESA_Group)
[1]> 1
Choose the group that esalab.cisco.com must be a member of.
1. ESA_Group
2. New_Group
[1]> 2
esalab.cisco.com set to group New_Group.
To rename a current Group in the ESA Cluster, use the command RENAMEGROUP
:
(Machine esalab.cisco.com)> clusterconfig
This command is restricted to "cluster" mode. Would you like to switch to "cluster" mode? [Y]>
Cluster Cisco
Choose the operation you want to perform:
- ADDGROUP - Add a cluster group.
- SETGROUP - Set the group that machines are a member of.
- RENAMEGROUP - Rename a cluster group.
- DELETEGROUP - Remove a cluster group.
- REMOVEMACHINE - Remove a machine from the cluster.
- SETNAME - Set the cluster name.
- LIST - List the machines in the cluster.
- CONNSTATUS - Show the status of connections between machines in the cluster.
- COMMUNICATION - Configure how machines communicate within the cluster.
- DISCONNECT - Temporarily detach machines from the cluster.
- RECONNECT - Restore connections with machines that were previously detached.
- PREPJOIN - Prepare the addition of a new machine over CCS.
[]> RENAMEGROUP
Choose which group you wish to rename.
1. ESA_Group
2. New_Group
[1]> 2
Enter the new name of the group.
[New_Group]> Cluster_Group
Group New_Group renamed to Cluster_Group.
To delete a current group from the ESA Cluster, use the command DELETEGROUP
(Machine esalab.cisco.com)> clusterconfig
This command is restricted to "cluster" mode. Would you like to switch to "cluster" mode? [Y]>
Cluster Cisco
Choose the operation you want to perform:
- ADDGROUP - Add a cluster group.
- SETGROUP - Set the group that machines are a member of.
- RENAMEGROUP - Rename a cluster group.
- DELETEGROUP - Remove a cluster group.
- REMOVEMACHINE - Remove a machine from the cluster.
- SETNAME - Set the cluster name.
- LIST - List the machines in the cluster.
- CONNSTATUS - Show the status of connections between machines in the cluster.
- COMMUNICATION - Configure how machines communicate within the cluster.
- DISCONNECT - Temporarily detach machines from the cluster.
- RECONNECT - Restore connections with machines that were previously detached.
- PREPJOIN - Prepare the addition of a new machine over CCS.
[]> DELETEGROUP
Choose which group you wish to remove.
1. Cluster_Group
2. ESA_Group
[1]> 1
Choose the group that machines in Cluster_Group must be moved to.
1. ESA_Group
[1]> 1
Group Cluster_Group removed.
Note: When you add / remove machines in Cluster, the changes apply instantly to the appliances without a commit
. Whereas for ESA Groups, any actions related to it is applied to the ESAs only after a commit
.
Revision | Publish Date | Comments |
---|---|---|
3.0 |
09-Apr-2024 |
Recertification |
1.0 |
12-Dec-2016 |
Initial Release |