This guide will guide you step by step in order to deploy an ISA 2006 array in AD environment. It does not cover server publishing in any way. It just covers CSS, NLB and VIP configuration to get the array up and running.
This guide will be based on a setup of five computers in a lab environment configured as the exhibit below:

All of the computers are running Windows 2003 SP1
The environment consists of two network segments like:

Network A

IP: 10.42.43.0
Mask: 255.255.255.0
Router: 10.42.43.254

Network B

IP: 192.168.15.0
Mask: 255.255.255.0
Router: 192.168.15.254

Step 1, Install Configuration Storage Server

First we need to ensure that we have the CSS (Configuration Storage Server) installed. This server will hold the configuration for the enterprise and this is where the ISA servers will get their firewall configuration from.
The Configuration Storage server uses Active Directory Application Mode (ADAM) for storage. When you install the CSS, you also automatically install ADAM on the server.
The CSS may be one of the ISA servers, but my recommendation is to place this on a separate server on the inside, in our case Network B. You may also install an alternative CSS later on to be used as backup if the first CSS fails.
The communication between CSS and the ISA servers are done through MS Firewall Storage protocol, which is based on LDAP, outbound TCP protocol on port 2171.


Choose to install Configuration Storage Server on your separate windows 2003 server or one of your ISA servers. Click Next


Next would be to configure a new ISA server enterprise for our new array to exist in. Click Next

We´ll deploy this in an already configured AD environment, but we could also have chosen to deploy within workgroups or domains without trusts.
In the later case we would use certificates between the ISA servers and the CSS. This, however, will require a CA server. Click Next to finish up here.

Step 2, Create an array

Let the installation progress now and when it´s ready open up the ISA Server Management MMC and navigate to Array, rightclick and select New array

Type in the name for your new array and click Next

Type in the DNS name of the array to be used by Firewall Clients and click Next


Accept Default Policy and click Next


Specify what kind of firewall rules that will be available to this array and click Next


Let the installation progress now and when it´s ready open up the ISA Server Management MMC

Navigate to Firewall Policy


Add the ISA servers that belong to your array into the Managed ISA Server Computers in the Network Objects tab under Toolbox

Apply the changes.

Step 3, Install your ISA servers

This step must be repeated for each of your ISA servers that will be working in the array

This time we´ll choose to install just the ISA server services. Click Next


Enter the FQDN of the CSS or just browse the directory. Click Next

Let the installation progress now and when it´s ready open up the ISA Server Management MMC

If you got this error you probably forgot to add the ISA servers that belong to your array into the Managed ISA Server Computers in the Network Objects tab under Toolbox as seen in Step 3

Now the ISA server must join the array we created earlier. Click Next

Choose the array. In our example the name of the array is Skynet

Since the ISA server and the CSS belong to the same AD we´ll use Windows authentication


Accept probed value is it´s correct or specifiy the IP range of the Internal interface
Let the installation progress now and when it´s ready open up the ISA Server Management MMC

Step 4, Configure network objects

Now NLB (Network Load Balancing) and VIP (Virtual IP) must be configured.


Navigate to Enterprise Networks

Edit the Internal properties. Add the internal IP range. Click OK Navigate to Networks under your array configuration


Click Add Network and select the Internal object. Click OK

Click Add Adapter and select the Internal interfaces for ALL your ISA servers belonging to the array. Click OK all the way back to MMC main window.
Choose Enable Load Balancing Integration from the Tasks tab in the right section of MMC and a wizard will start


Now enter the VIP (Virtual IP) for each Interface and click Next to finish the wizard.

Step 5, Finishing up and some notes

Just a note regarding CARP here. I´ve myself encountered problems when configuring systems like payment aso. These systems can be quite sensitive to changes in the client session, especially if the session all of a sudden changes IP.
These sessions must then be configured as so called Sticky Sessions that will remain the same as long as communication is established.
If you have this problem then disable CARP.

Now look at your Server status. If everything is OK you should have small green icons indicating that there are not problems. If you see small timers instead it´s just because the CSS have not yet retrieved status information from your ISA servers.
To test the configuration using ICMP (ping) you might have to make some temporary changes to the System Policy as seen below


Now you should be able to do a ping from a host on Network B to a host on Network A and kill one of the ISA servers. All you should notice is a few Request time out before the surviving firewall takes over.