6.4 Using MultiSite through a Firewall

The MultiSite store-and-forward facility cannot operate through a firewall unless you configure MultiSite differently. Passing through a firewall is usually accomplished by granting access via specific ports and IP addresses. Because store-and-forward picks any available port number on each end to make the connection, there is no single port number (or even small range of port numbers) to which special access can be granted.

This section describes several ways to use MultiSite through a firewall:

Using Electronic Mail

You can use an existing electronic mail mechanism as the transport. On the sending end, compress and encode the update packet; then send the resulting data to a specific mail alias at the receiving site. On the receiving end, redirect the mail alias to a script that decodes and decompresses the incoming information. To ensure that a mail message is not too large to be delivered, you can generate packets no larger than a specific size by using the -maxsize option, the shipping.conf file (UNIX), or the MultiSite Control Panel (Windows).

Advantages:

Disadvantages:

Notes:

Using FTP

The ftp utility can transport packets. On the sending end, the MultiSite administrator or a script creates and compresses the packet, and uses ftp to transfer the file to a location outside the firewall. This location, or dropsite, must be accessible by MultiSite administrators at other sites. Receiving sites poll the dropsite, looking for any new files. When new files arrive, the receiving sites retrieve them via ftp, decompress them, and process them as usual.

Advantages:

Disadvantages:

Using Custom Software

A custom TCP application can accept data and send it from one site to a waiting application at another site. Guidelines for simple applications that send data are often described in the network programming documentation provided by the vendor. If the sending and receiving applications use a fixed port number, the administrator can configure the firewall to permit access.

Advantages:

Disadvantages:

Installing Store-and-Forward on a UNIX Firewall Host

NOTE: Because of security concerns, we recommend that you use this method only if other methods are unsuitable for your site. This method is not available for Windows firewall hosts.

An alternative to using mail, ftp, or custom software is to install the store-and-forward software on a "firewall host," a host that can communicate through the firewall. MultiSite synchronization commands can forward data intended for systems on the other side of the firewall to this host. The software on this host then forwards packets through the firewall to the next hop. To specify the range of port numbers to be used on the host, you can use the environment variables CLEARCASE_MIN_PORT and CLEARCASE_MAX_PORT. In Figure 24, the hosts that communicate through the firewall are the firewall hosts; they have the MultiSite store-and-forward software installed on them, but not ClearCase software. The replica server hosts have Rational ClearCase and MultiSite installed on them.

Figure 24 Store-and-Forward Configuration

This section describes issues you must consider before installing MultiSite on a firewall host and gives instructions for installation.

Firewall Issues

Before enabling shipping_server on a firewall host, consider the following issues:

Installing shipping_server on a Firewall

On UNIX, the ClearCase Product Family installation includes an option to install only the shipping_server software. Follow the instructions in the Installation Guide for the ClearCase Product Family and select only the shipping_server-only option. Do not install ClearCase on the firewall host.

On Windows, there is no installation option for installing only the shipping_server software.

Controlling Ports Used by albd_server and shipping_server

The environment variables CLEARCASE_MIN_PORT and CLEARCASE_MAX_PORT specify the range of port numbers that the albd_server and shipping_server can allocate for communication purposes. When the server needs to assign a port number, it starts with the value of CLEARCASE_MIN_PORT and continues through the range until it reaches CLEARCASE_MAX_PORT. If a port in the range cannot be allocated, the server sleeps and then tries the ports again.

When shipping_server detects that the port environment variables are set, it tries to use TCP to make the connection with the albd_server on the receiving host. If this connection fails, shipping_server tries UDP. Therefore, if you have TCP connectivity, you do not have to enable UDP or open UDP ports on the firewall host.

Running an individual shipping_server does not require more than two ports at a time. When there are multiple requests to be sent, shipping_server forks. Child processes handle individual requests. The shipping_server starts no more than 10 child processes (and starts that many only if there are 10 requests to process simultaneously), so the maximum range is 20 ports. If the range is smaller, it may result in failed attempts, which can be retried later.

Guidelines for Setting Port Values

The value range for CLEARCASE_MIN_PORT is 1024 through 65534, and the value range for CLEARCASE_MAX_PORT is 1025 through 65535. The value of CLEARCASE_MAX_PORT must be greater than the value of CLEARCASE_MIN_PORT.

NOTE: We recommend that you use the range 49152 through 65535, which is the Dynamic/Private Port Range. If you use a value within the Registered Ports range (1024 through 49151), the shipping.conf parser prints an informational message.

Specifying Port Values

To specify minimum and maximum port values, set the CLEARCASE_MIN_PORT and CLEARCASE_MAX_PORT environment variables in the following places: