Sunday, November 1, 2009

Issue in MS Exchange 2007 SP1 version

Recently we had to provide a MS OCS 2007 R2 test account for one of our clients. To be able to test all the features of the product we had to give him an email account as well. When we made some tests to see if everything was working as expected we found out that the RPC over HTTPS connectivity was broken and the email autoconfiguration was not working any more. Looking backward we found out that the last major change in our system was to upgrade our MS Exchange 2007 system to SP1. We made some extensive search and we found out that the problem is generated by the usage of TCP/IPv6.
Windows Server 2008 has made TCP/IPv6 the default communication protocol stack over which connections are made by clients connecting to the server that is running Microsoft Exchange. The RPCProxy component tries to connect to the DSProxy component through port 6004 over TCP/IPv6. However, the DSProxy component does not listen on the TCP/IPv6 stack, which causes connection requests from the RPCProxy component to fail.
As a solution, in Exchange 2007 SP1, for clients to connect by using Outlook Anywhere when the Client Access server is running on Windows Server 2008, TCP/IPv6 connectivity must be manually disabled on all Exchange servers that have the Client Access server role installed.
Multiple-server technology
To disable TCP/IPv6 in a multiple-server topology where the Client Access server role is not running on the same Exchange server as the Mailbox server role

1.Under Network Connections, select the network adapter, and then click Properties.
2.In the properties window, click to clear the check box for Internet Protocol Version 6 (IPv6).
(Clearing this check box causes the RPCProxy component on the Client Access server to use TCP/IPv4 to talk to the DSProxy component on the Mailbox server)
3.Click Start, and then click Run.
4.Type regedit in the Open box.
5.Using Registry Editor, locate the following registry key:
HKEY_Local_Machine\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters
6.Right-click the Parameters key, click New, and then click DWORD (32-bit) Value. For the key, add the following values:

Name: DisabledComponents
Data: 0xFFFFFFFF

7.Restart the Client Access server.

Single-server technology
The preceding procedure does not work for a single-server topology where the Client Access server role is running on the same Exchange server as the Mailbox server role. This is because the loopback interface (an interface that is used when communicating through TCP/IP to a process on the same computer) continues to use TCP/IPv6. In this case, you must perform the following steps to disable TCP/IPv6.
To disable TCP/IPv6 in a single-server topology where the Client Access server role is running on the same Exchange server as the Mailbox server role
1.Open the hosts file located at %SystemRoot%\system32\drivers\etc\ by using an editor such as Notepad.
(In this step, %SystemRoot% refers to the local hard disk where the Windows system files are located. )
2.Search for the line that contains the terms "::1" and "localhost"
3.Type a number sign (#) at the beginning and end of the line to make the line a comment.
4.Press ENTER and, on the next line, type the following lines to provide the TCP/IPv4 address, hostname, and FQDN name for the Exchange server that is running both the Client Access and Mailbox server roles:

TCP/IPv4 address           host name of the computer
TCP/IPv4 address           FQDN of the computer
5.Click Save, and then close the file.

This solution was taken from the MS Technet articles. It's not very difficult to solve the problem but it was a little bit difficult to find it :-).

No comments:

Post a Comment