<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Exchange-Genie &#187; momt</title>
	<atom:link href="http://www.exchange-genie.com/category/momt/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.exchange-genie.com</link>
	<description>This blog is dedicated to Microsoft Exchange</description>
	<lastBuildDate>Sun, 05 Sep 2010 22:45:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>RPC Client Access service</title>
		<link>http://www.exchange-genie.com/2009/09/momt-mapi-on-the-middle-teir/</link>
		<comments>http://www.exchange-genie.com/2009/09/momt-mapi-on-the-middle-teir/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 21:35:05 +0000</pubDate>
		<dc:creator>Exchange Genie</dc:creator>
				<category><![CDATA[E14]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange genie]]></category>
		<category><![CDATA[exchange 14]]></category>
		<category><![CDATA[exchange 2010]]></category>
		<category><![CDATA[mapi]]></category>
		<category><![CDATA[momt]]></category>
		<category><![CDATA[rpc array]]></category>
		<category><![CDATA[rpc client access array]]></category>

		<guid isPermaLink="false">http://www.exchange-genie.com/?p=732</guid>
		<description><![CDATA[Updated 8/18/2010 One of the major changes with Exchange 2010 is related to the mapi end point. In all previous versions of Exchange the Outlook client (using mapi) would connect directly to an Exchange mailbox server, with Exchange 2010 the Outlook client will connect to an Exchange server running the CAS role as its mapi [...]]]></description>
			<content:encoded><![CDATA[<p>Updated 8/18/2010</p>
<p>One of the major changes with Exchange 2010 is related to the mapi end point. In all previous versions of Exchange the Outlook client (using mapi) would connect directly to an Exchange mailbox server, with Exchange 2010 the Outlook client will connect to an Exchange server running the CAS role as its mapi end point for all connection except public folder access which will go direct to the mailbox server.</p>
<p>As you will discover later in this blog a common issue that user experience if they are running Outlook 2003 is related to the default configuration requiring encryption to be enabled on the Outlook client or connections will fail. I will go into more detail later on this topic.</p>
<p>When a user opens Outlook today a number of items occur but the main one I am going to talk about is the connection from the client directly to the mailbox server to retrieve their mail via mapi-rpc. </p>
<p>How clients connected pre Exchange 2010</p>
<p> <a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/mapitombx.jpg"><img class="alignnone size-full wp-image-759" title="mapitombx" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/mapitombx.jpg" alt="mapitombx" width="251" height="186" /></a></p>
<p>Some of the issues with this configuration even when using an SCC or CCR cluster is during a failover the client connection point will be disrupted even if only for a few moments. This also means that clients are making a direct connection to the server which is limited to 60k connections to the information store. This does not mean 60k users, as client makes a number of connections to the system.</p>
<p>As the Exchange team looked at how they can better scale Exchange 2010 one of the new techniques was to move the client connection endpoint to the CAS server instead of the mailbox server. This allows for a number of things to happen.</p>
<ol>
<li>During a database move/failover the client end point does not go down and makes the move seamless to the user</li>
<li>If you reach the 60k port limit you just add an additional CAS server to the rpc array</li>
</ol>
<p> <a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/maptocas.jpg"><img class="alignnone size-medium wp-image-760" title="maptocas" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/maptocas-300x104.jpg" alt="maptocas" width="300" height="104" /></a></p>
<p>Let’s take a look at our Exchange settings….</p>
<p><strong>How do I know what my mapi end point is?</strong></p>
<p>At first thought you may think this is configured per user however that is not the case. To find out what your rpc client end point is you need to run the following command<span style="color: #339966;"> get-mailboxdatabase “yourdatabase” | fl  name,rpc*</span> the output of this command will show you each  RpcClientAccessServer associated with each database.</p>
<p>By default there is no rpc array configured, the name of a random CAS server in the same AD site will be directly associated with each database.</p>
<p>Let’s run our command and see what settings we have  get-mailboxdatabase | fl  name,rpc*</p>
<p>You can see that our  RpcClientAccessServer points to my CAS server</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/1.JPG"><img class="alignnone size-medium wp-image-762" title="1" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/1-300x66.jpg" alt="1" width="300" height="66" /></a></p>
<p>Let’s create a new mailbox database in EMC:</p>
<p>Open EMC -&gt; Organization Configuration -&gt; mailbox</p>
<p> <a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/newdb01.jpg"><img class="alignnone size-full wp-image-774" title="newdb01" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/newdb01.jpg" alt="newdb01" width="203" height="77" /></a></p>
<p>Right click and select New Mailbox database</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/newdb1.jpg"><img class="alignnone size-full wp-image-763" title="newdb1" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/newdb1.jpg" alt="newdb1" width="192" height="148" /></a></p>
<p>I am going to call my database <span style="color: #339966;">rpcservercheck <span style="color: #000000;">and specify the server as E14Ex1</span></span></p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/newdb2.jpg"><img class="alignnone size-medium wp-image-764" title="newdb2" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/newdb2-300x258.jpg" alt="newdb2" width="300" height="258" /></a></p>
<p>Specify the logs and database path</p>
<p>C:\db\db and c:\db\logs</p>
<p>**note I dont recommend these location but this is just a lab **</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/newdb3.jpg"><img class="alignnone size-medium wp-image-765" title="newdb3" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/newdb3-300x256.jpg" alt="newdb3" width="300" height="256" /></a></p>
<p>Click <span style="color: #339966;">New</span> to complete the database</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/newdb4.jpg"><img class="alignnone size-medium wp-image-766" title="newdb4" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/newdb4-300x256.jpg" alt="newdb4" width="300" height="256" /></a></p>
<p>Now that we create the new database lets run our command again:</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/newdbcheck.jpg"><img class="alignnone size-medium wp-image-767" title="newdbcheck" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/newdbcheck-300x90.jpg" alt="newdbcheck" width="300" height="90" /></a></p>
<p>You can see the new database also shows the CAS server, since I only have one CAS in this environment they are configured the same.</p>
<p><strong>Outlook Profile</strong></p>
<p>After setting up an Outlook profile let’s take a look at see that our mapi end point is now the CAS server</p>
<p>With Outlook 2007 click <span style="color: #339966;">Tools &#8211; Accounts Settings</span></p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/ol4.bmp"><img class="alignnone size-full wp-image-782" title="ol4" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/ol4.bmp" alt="ol4" /></a></p>
<p>Select the profile and click <span style="color: #339966;">Change</span></p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/ol5.jpg"><img class="alignnone size-full wp-image-783" title="ol5" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/ol5.jpg" alt="ol5" width="234" height="225" /></a></p>
<p>We can see that our <span style="color: #339966;">Microsoft Exchange Server</span> information points to the CAS  fqdn and not our mailbox server</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/ol2.jpg"><img class="alignnone size-medium wp-image-785" title="ol2" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/ol2-300x224.jpg" alt="ol2" width="300" height="224" /></a></p>
<p>If we hold down <span style="color: #339966;">CTR and right click the Outlook system tray icon </span>we can bring up our connection status</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/ol6.jpg"><img class="alignnone size-full wp-image-784" title="ol6" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/ol6.jpg" alt="ol6" width="233" height="212" /></a></p>
<p>You can see that all Directory and mail connections are now going to the CAS server with 1 exception, public folders. Yes, public folders calls are still direct connections from the client to the mailbox server hosting the public folder.</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/ol3.jpg"><img class="alignnone size-medium wp-image-786" title="ol3" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/ol3-300x182.jpg" alt="ol3" width="300" height="182" /></a></p>
<p><strong>WireShark</strong></p>
<p>If we use a network sniffer  to capture traffic from our client 192.168.1.59 we can see that NSPI and MAPI requests from Outlook are all directed to the CAS</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/wireshark.jpg"><img class="alignnone size-medium wp-image-788" title="wireshark" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/wireshark-300x209.jpg" alt="wireshark" width="300" height="209" /></a></p>
<p><strong>How does this work?</strong></p>
<p>On each CAS server there is a new service that runs called the MSExchangeRPC which runs as  Microsoft.Exchange.RpcClientAccess.Service.exe and listens on port 6001 for HTTP connection and uses dynamic ports by default for tcp/ip connections</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/service.jpg"><img class="alignnone size-medium wp-image-789" title="service" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/service-266x300.jpg" alt="service" width="266" height="300" /></a></p>
<p>By default when you install Exchange 2010 the files that makeup this service will be located in  C:\Program Files\Microsoft\Exchange Server\V14\Bin</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/service2.jpg"><img class="alignnone size-medium wp-image-790" title="service2" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/service2-300x63.jpg" alt="service2" width="300" height="63" /></a></p>
<p>When connections are made to the CAS server by the mapi client, the CAS server then creates a channel to the mailbox server to retrieve the mailbox data.  The CAS server will create a maximum of 100 Rpc connections to the mailbox server</p>
<p><img title="maptocas" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/maptocas-300x104.jpg" alt="maptocas" width="300" height="104" /></p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/cas.JPG"></a></p>
<p><strong>Encryption</strong></p>
<p>As I briefly mentioned in the introduction by default Exchange requires the client to connect with encryption enabled.  This is not set on each database but on each rpc server and can be found with the following command  Get-RpcClientAccess | fl server,encrypt*</p>
<p> [PS] C:\&gt;Get-RpcClientAccess | fl server,encrypt*</p>
<p>Server             : E14-EX1</p>
<p>EncryptionRequired : True</p>
<p>Server             : E14-EX2</p>
<p>EncryptionRequired : True</p>
<p> Server             : E14CAS1</p>
<p>EncryptionRequired : True</p>
<p>After running the command you can see that each CAS and Mailbox server has this configuration. You may ask why would the mailbox server require this is all the client connections are direct to the CAS? You may recall that I stated above that the clients still connects direct to the mailbox server  for public folder access.</p>
<p><strong>How do I know if my Outlook client is setup to use encryption?</strong></p>
<p>Let’s look in our Outlook client to see this setting:</p>
<p>Using the same steps as before open your Outlook settings -&gt; click More Settings</p>
<p> <a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/encryption1.jpg"><img class="alignnone size-full wp-image-800" title="encryption1" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/encryption1.jpg" alt="encryption1" width="182" height="130" /></a></p>
<p>Select the Security Tab</p>
<p> <a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/encryption2.jpg"><img class="alignnone size-medium wp-image-801" title="encryption2" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/encryption2-300x60.jpg" alt="encryption2" width="300" height="60" /></a></p>
<p>We can see that Outlook 2007+ defaults to having encryption enabled however Outlook 2003 does not</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/encryption32.jpg"><img class="alignnone size-medium wp-image-804" title="encryption3" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/encryption32-300x104.jpg" alt="encryption3" width="300" height="104" /></a></p>
<p> If you have a large number of Outlook 2003 users you have a few options:</p>
<ol>
<li>Use Group Policy to enable this setting</li>
<li>Disable this settings on the Exchange Server with the  Get-RpcClientAccess | Set-RpcClientAccess -EncryptionRequired:$false</li>
</ol>
<p><span style="color: #ff0000;">**Recommended configuration is to keep encryption enabled**</span></p>
<ol>
<li>Have users manually enable this setting</li>
<li>script</li>
</ol>
<p><span style="color: #ff0000;">**Note this will also affect Outlook Anywhere users (formerly Rpc.https) **</span></p>
<p><strong>Configuring an Rpc Array</strong></p>
<p>Now that we have a basic understanding of how MOMT is used lets configure our first Rpc Array. You can use NLB or a hardware Load Balancer like F5 for the rpc array as either is supported however you cannot use NLB if your server is multi roled and a member of a DAG.</p>
<p>The dns entry for the array should not use a public dns name and only needs to be resolvable to the internal network.</p>
<p>Lets start with the Get-ClientAccessArray command just to show that we do not currently have an array</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/1.jpg"><img class="alignnone size-medium wp-image-821" title="1" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/1-300x70.jpg" alt="1" width="300" height="70" /></a></p>
<p>1. <strong>Create a DNS entry</strong> for your array name (I am going to use Site1Array.ExchangeGenie.local)</p>
<p>a. Open the DNS administration tool</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns01.jpg"><img class="alignnone size-full wp-image-823" title="dns01" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns01.jpg" alt="dns01" width="120" height="29" /></a></p>
<p>b. Select the appropriate DNS Zone (for me .ExchangeGenie.local)</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns5.jpg"><img class="alignnone size-full wp-image-822" title="dns5" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns5.jpg" alt="dns5" width="239" height="108" /></a></p>
<p>c. Right click and create a new host record (a cname would work as well)</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns1.jpg"><img class="alignnone size-full wp-image-817" title="dns1" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns1.jpg" alt="dns1" width="181" height="59" /></a></p>
<p>d. Input the name and Ip for the record</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns2.jpg"><img class="alignnone size-medium wp-image-818" title="dns2" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns2-300x297.jpg" alt="dns2" width="300" height="297" /></a></p>
<p>e. Click Add Host</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns3.jpg"><img class="alignnone size-full wp-image-819" title="dns3" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns3.jpg" alt="dns3" width="85" height="40" /></a></p>
<p>F. Click Done</p>
<p>G. Validate the record had been created</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns4.jpg"><img class="alignnone size-medium wp-image-820" title="dns4" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns4-300x26.jpg" alt="dns4" width="300" height="26" /></a></p>
<p> H. Lets use Nslookup to validate the record is seen</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns6.jpg"><img class="alignnone size-medium wp-image-825" title="dns6" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/dns6-300x122.jpg" alt="dns6" width="300" height="122" /></a></p>
<p><strong><span style="text-decoration: underline;">Create an RPC Array</span></strong></p>
<p>From an EMS window we will use the new-clientaccessarray command if you use the help &#8230;. get-help new-clientaccessarray, we can see the command takes in<span style="text-decoration: underline;"> <span style="text-decoration: underline;">2 require parameters</span><strong> </strong></span><strong>FQDN</strong> and<strong> Site</strong></p>
<p>If you dont know your AD site information you can use the get-ADSite command to get that information</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/get-adsite.jpg"><img class="alignnone size-medium wp-image-827" title="get-adsite" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/get-adsite-300x68.jpg" alt="get-adsite" width="300" height="68" /></a></p>
<p>As you can see I have renamed my default site to <strong>GenieSite1</strong></p>
<p><span style="color: #339966;">New-ClientAccessArray -Name Site1Array.ExchangeGenie.Local -fqdn Site1Array.ExchangeGenie.Local -Site GenieSite1</span></p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/newarray.jpg"><img class="alignnone size-medium wp-image-828" title="newarray" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/newarray-300x28.jpg" alt="newarray" width="300" height="28" /></a></p>
<p>As you can see we now have a new array called Site1Array.ExchangeGenie.Local</p>
<p><span style="color: #ff0000;">**Note the memeber paramenter will show every Exchange 2010 CAS in the AD site of the Array, which CAS server actually participate are based on the NLB nodes **</span></p>
<p><span style="color: #000000;">Does this mean you are done?</span></p>
<p><span style="color: #000000;">No,  creating an array but its self does nothing we have 2 additional steps <span style="text-decoration: underline;">1. create the NLB for the Array</span> and <span style="text-decoration: underline;">2. associate the array to our database</span>.</span></p>
<p><strong>Creating an NLB for our Array</strong></p>
<p>I am going to use WNLB for this blog which is a viable option however for large organization a hardware load balancer is advised.</p>
<p>If NLB is not installed on your CAS server you will need to do that first.</p>
<p>1. Open Server Manager</p>
<p>2.  Select Features</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/11.jpg"><img class="alignnone size-full wp-image-830" title="1" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/11.jpg" alt="1" width="125" height="37" /></a></p>
<p>3.  Select Network Load Balancing</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/2.jpg"><img class="alignnone size-medium wp-image-831" title="2" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/2-300x155.jpg" alt="2" width="300" height="155" /></a></p>
<p>4. Click Next</p>
<p>5. Click Install</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/3.jpg"><img class="alignnone size-medium wp-image-832" title="3" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/3-300x222.jpg" alt="3" width="300" height="222" /></a></p>
<p> 6. Click close after the installation completes successfully</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/4.jpg"><img class="alignnone size-medium wp-image-835" title="4" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/4-300x225.jpg" alt="4" width="300" height="225" /></a></p>
<p>7. Launch NLB Manager</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/5.jpg"><img class="alignnone size-full wp-image-836" title="5" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/5.jpg" alt="5" width="198" height="25" /></a></p>
<p>8.  From the file menu click<span style="color: #339966;"> Cl</span><span style="color: #339966;">uster -&gt; New</span></p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/6.jpg"><img class="alignnone size-full wp-image-837" title="6" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/6.jpg" alt="6" width="172" height="59" /></a></p>
<p>9. Input the IP address or hostname of the CAS server and click Connect</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/7.jpg"><img class="alignnone size-medium wp-image-838" title="7" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/7-300x61.jpg" alt="7" width="300" height="61" /></a></p>
<p>10.  Select Next</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/8.jpg"><img class="alignnone size-medium wp-image-839" title="8" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/8-300x282.jpg" alt="8" width="300" height="282" /></a></p>
<p>11. Select Next unless you need to add an additional dedicated ip to the server</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/9.jpg"><img class="alignnone size-medium wp-image-840" title="9" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/9-300x274.jpg" alt="9" width="300" height="274" /></a></p>
<p>12. Click Add to add the VIP for the cluster ** this should match the ip that we used to create our dns record for the array**</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/10.jpg"><img class="alignnone size-medium wp-image-841" title="10" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/10-300x268.jpg" alt="10" width="300" height="268" /></a></p>
<p>13.  Enter the IP asscociated with the array and click OK</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/111.jpg"><img class="alignnone size-medium wp-image-843" title="11" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/111-300x242.jpg" alt="11" width="300" height="242" /></a></p>
<p>14.  Click Next</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/12.jpg"><img class="alignnone size-full wp-image-842" title="12" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/12.jpg" alt="12" width="91" height="45" /></a></p>
<p>15.  Enter an FQDN that will be associated with the NLB, I have selected Mulicast for my cluster mode however please select the method that best fits your environment.</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/13.jpg"><img class="alignnone size-medium wp-image-844" title="13" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/13-300x274.jpg" alt="13" width="300" height="274" /></a></p>
<p>16.  Click Next</p>
<p>17. Click Remove to delete the default listening ports</p>
<p> You can choose to listen on all ports however lets use the minimum required for the array which we will later scope down even lower. The minimum ports required will be 135, 1024-65535</p>
<p>a.   Click Add</p>
<p>b.  Remove the check box &#8220;All&#8221; so that we can scope which IP the ports listens on</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/14.jpg"><img class="alignnone size-medium wp-image-845" title="14" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/14-300x68.jpg" alt="14" width="300" height="68" /></a></p>
<p>c.  Add port 135 &#8211; 135 TCP and click OK</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/15.jpg"><img class="alignnone size-medium wp-image-846" title="15" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/15-246x300.jpg" alt="15" width="246" height="300" /></a></p>
<p>d. Report for port 1024 -65535 TCP and click OK</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/16.jpg"><img class="alignnone size-medium wp-image-848" title="16" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/16-242x300.jpg" alt="16" width="242" height="300" /></a></p>
<p>18.  Click Finish to complete building the NLB</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/17.jpg"><img class="alignnone size-medium wp-image-849" title="17" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/17-300x279.jpg" alt="17" width="300" height="279" /></a></p>
<p>Validate the NLB has been created properly</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/18.jpg"><img class="alignnone size-medium wp-image-852" title="18" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/18-300x212.jpg" alt="18" width="300" height="212" /></a></p>
<p> <strong>Associating the Array with databases</strong></p>
<p> The final step for us is to associate the client array with our existing databases.  Any new databases will be automatically associated with the array in that site.</p>
<p>Lets open our Outlook client so we can see our current settings</p>
<p><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/current.jpg"><img class="alignnone size-medium wp-image-855" title="current" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/current-300x181.jpg" alt="current" width="300" height="181" /></a></p>
<p>Let&#8217;s use the following command to set our new array on all the current databases we have created </p>
<p><span style="color: #339966;">Get-MailboxDatabase | Set-MailboxDatabase -RpcClientAccessServer site1array.exchangegenie.local</span></p>
<p><span style="color: #ff0000;">**Please note the above command would do all databases you can use the –server switch to scope the databases returned you can use something like this to scope the site</span></p>
<p><span style="color: #ff0000;">C:\&gt;Get-ExchangeServer | where {$_.isMailboxServer -eq $true -and $_.Site -eq &#8216;ExchangeGenie.Local/Configuration/Sites/GenieSite1&#8242;} | Get-MailboxDatabase **</span></p>
<p><span style="color: #000000;">We can validate the array association with the following command  </span><span style="color: #339966;">Get-MailboxDatabase | fl rp*</span></p>
<p><span style="color: #339966;"><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/a1.jpg"><img class="alignnone size-medium wp-image-854" title="a1" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/a1-300x60.jpg" alt="a1" width="300" height="60" /></a></span></p>
<p><span style="color: #ff0000;">***Please note it could take a few minute for this information to get updated for clients do to the store cache**</span></p>
<p>If we look at our client setting, they will get updated with autodiscover if the client is Outlook 2007+, for Outlook 2003 the client should be redirected after connecting to the current configured server.</p>
<p><span style="color: #000000;"> <a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/after1.jpg"><img class="alignnone size-medium wp-image-862" title="after" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/after1-300x206.jpg" alt="after" width="300" height="206" /></a></span></p>
<p><span style="color: #000000;">You can see that all communication (except pf) is now connecting to our new client array</span></p>
<p><span style="color: #ff0000;"> </span></p>
<p><strong>Scoping the Mapi Ports</strong></p>
<p>By default when you open your Outlook client it attempts to make a connection to the rpc port ( 135) on the server andnegotiate a dynamic port above 1024 for usage.  If there are no firewalls between the clients and servers then you dont mind all the traffic however in many scenarios there are firewalls between the client network and servers.  To keep from the requirement of open port 135 and 1024 &#8211; 65535 you can make a few simple modifications to your CAS server to reduce the number of ports that are required to be open on the firewall.</p>
<p>There are 3 modifications you must make 1. Mapi which is a registry key change 2. Addres Book (NSPI) which is modifed in the config file and 3. Referral Service (RFR) modified in the config file.</p>
<p>We can restrict Rpc Client Access Array to a single port for each of the following settings Mapi,Address Book, and Referral Service let’s take a look at the default configuration below:</p>
<p>Key:HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeRPC\ParametersSystem</p>
<p>Value:TCP/IP Port</p>
<p>Type:DWORD</p>
<p><span style="color: #ff0000;">*Note you will need to modify the same registry key on mailbox servers that host the public folder role </span></p>
<p>Earlier you saw the network wireshark data with the server making connections to the CAS on radom high number ports, in this section we are going to scope the port range down to 3 ports of our choosing.  Please note the client will still need access to port 135 for the initial connection.</p>
<p><span style="text-decoration: underline;"><strong>Scoping the CAS server ports</strong></span></p>
<p>1. Open the regsitry editor (start -&gt; run -&gt; regedit</p>
<p>2. browse to HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeRPC</p>
<p>3. Create a new key <span style="color: #339966;">ParametersSystem (Right click new-&gt; key)</span></p>
<p><span style="color: #339966;"><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/22.jpg"><img class="alignnone size-full wp-image-873" title="2" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/22.jpg" alt="2" width="158" height="51" /></a></span></p>
<p><span style="color: #000000;">4. Create a new Dword <span style="color: #339966;">TCP/IP Port</span></span></p>
<p><span style="color: #000000;"><span style="color: #339966;"><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/11.JPG"><img class="alignnone size-full wp-image-871" title="1" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/11.JPG" alt="1" width="226" height="86" /></a></span></span></p>
<p><span style="color: #000000;">5. Input a port I have selected 50000</span></p>
<p><span style="color: #000000;"><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/41.jpg"><img class="alignnone size-medium wp-image-875" title="4" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/41-300x169.jpg" alt="4" width="300" height="169" /></a></span></p>
<p><span style="color: #000000;">6. Restart the Microsoft Exchange RPC Client Access Service</span></p>
<p><span style="color: #000000;"><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/61.jpg"><img class="alignnone size-medium wp-image-876" title="6" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/61-300x52.jpg" alt="6" width="300" height="52" /></a></span></p>
<p><span style="color: #000000;">7.  Open a command window and run NetStat -na </span></p>
<p><span style="color: #000000;"><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/51.jpg"><img class="alignnone size-medium wp-image-877" title="5" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/51-300x32.jpg" alt="5" width="300" height="32" /></a></span></p>
<p><span style="color: #000000;">We can see that we are connecting the CAS server on port 50,000 and 135</span></p>
<p><span style="color: #ff0000;">**You will need to repeat these steps for any mailbox server this is hosting a public folder database**</span></p>
<p><span style="color: #000000;">8.  Open<span style="color: #339966;"> Microsoft.Exchange.AddressBook.Service.Exe.config</span>  with notepad (default location is C:\Program Files\Microsoft\Exchange Server\V14\Bin)</span></p>
<p><span style="color: #000000;"><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/81.jpg"><img class="alignnone size-medium wp-image-880" title="8" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/81-300x106.jpg" alt="8" width="300" height="106" /></a></span></p>
<p><span style="color: #ff0000;">*** This option has changed in  Exchange 2010 SP1 and is now configured via a registry key</span></p>
<ul>
<li>Address book Registry change HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeAB\Parameters\ RpcTcpPort</li>
</ul>
<p><span style="color: #000000;">9.  Modify the section “RpcTcpPort” to the port you desire, I am going to use 50,001 since I used 50,000 for the mapi port</span></p>
<p><span style="color: #000000;">10. Restart the Microsoft Exchange Active Directory Topology Service (note this will stop all the Exchange services)</span></p>
<p><span style="color: #000000;">11. Open a command window and run Net<span style="color: #339966;">Stat -na</span></span></p>
<p><span style="color: #000000;"><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/91.jpg"><img class="alignnone size-medium wp-image-879" title="9" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/91-300x76.jpg" alt="9" width="300" height="76" /></a></span></p>
<p><span style="color: #000000;">You can see we are now listeing on port 50,000 for map and port 50,001 for Address Book</span></p>
<p><span style="color: #000000;">If we open Outlook again and run a netstat -na from our client we can see that we are connecting to the CAS server on port 50,001 and 50,001 and to our mailbox on port 50,000</span></p>
<p><span style="color: #000000;">CAS IP 192.168.1.60 and Mailbox 192.168.1.57 and CAS Array 192.168.1.61</span></p>
<p><span style="color: #000000;"><a href="http://www.exchange-genie.com/wp-content/uploads/2009/09/101.jpg"><img class="alignnone size-medium wp-image-882" title="10" src="http://www.exchange-genie.com/wp-content/uploads/2009/09/101-300x154.jpg" alt="10" width="300" height="154" /></a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.exchange-genie.com/2009/09/momt-mapi-on-the-middle-teir/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>
