Figure 4
Scenario 2 (Wrong way but it works)
Using the same network we used in Scenario 1 we can get around this by changing the setting in the Server Publishing rule to “Requests appear to come from the ISA Server” (Figure 5). This setting basically NATs the connection so that all traffic is seen as coming from the ISA internal interface.
Figure 5
Now the publishing rule works but a Netmon trace (Figure 6 ) taken on the SMTP server shows that every request is seen as coming from the ISA Server (10.1.1.254).
Figure 6
Although this now works it is NOT an ideal situation. There are some applications that may want the original client IP address in order to function properly. All that this is doing is “working around” an incorrect network setup.
Scenario 3 (Correct way)
In this scenario we have the same ISA Server and the same SMTP Server except now the default gateway is set to be the IP address of the ISA Server which is doing the publishing (Figure 7). (Note: The default gateway for the published server does not have to be the ISA Server but it must ultimately route out through the ISA Server or it will still fail.) Remember that the Published Server is basically a SecureNAT client to the ISA Server so the routing infrastructure will need to support that. For more on this please see the article
Setting up the default gateway for SecureNAT clients at Microsoft TechNet Library.
Figure 7
Now the publishing rule works and we can see the IP address of the client in the Netmon trace taken on the SMTP Server.
Figure 8
Conclusion
In this article I demonstrated several ways in which ISA Server could publish a Server and 1 common mistake made by ISA Administrators. Although ISA Server is very flexible and will allow you to publish servers even when the network is not necessarily set up the way that it should be this may not always be your best option.
Author
Keith Abluton
Security Support Engineer
Microsoft CSS Forefront Security Edge Team
Technical Reviewers
Billy Price
Security Support Engineer
Microsoft CSS Forefront Security Edge Team
Yuri Diogenes
Security Support Engineer
Microsoft CSS Forefront Security Edge Team