Instant Messaging(即時消息)是在Microsoft Exchange 2000 Server中首次被引入的重要組件。它實現了企業級的即時消息,與Microsoft提供的即時消息(Hotmail或者MSN)不同之處在于,每個企業為自己提供消息服務。大家都知道,即時消息是以電子郵件作為登錄名,而企業用戶的電子信箱也是一致的格式,這樣使每個雇員可以更方便地聯系到企業中的其他聯系人。相信大家對Instant Messaging在企業內部網(Intranet)中的部署已經比較熟悉,較Exchange 2000 Server中的其他組件來說,Instant Messaging在Intranet中是一個易于安裝、易于使用的組件,本文旨在討論Instant Messaging在企業網中部署的基礎上,實現通過防火墻后,運行于Internet上的Instant Messaging。在本文中,我們部署的即時消息以單一電子郵件域為準,如果您的企業中有多個電子郵件域,或者說企業中有多個即時消息服務器,請參照文章中提供的相關鏈接。
1、Internet即時消息部署的基本準備
Exchange 2000 Server中的Instant Messaging提供了聯系人之間即時會話、即時溝通服務,聯系人之間通過聯系人當前狀態可得知相互之間的在線狀況,因此,它提供了一種更好的服務響應能力。
為支持Internet用戶登錄到您企業中的Exchange即時消息服務器,您必須聯系您的ISP(Internet Service Provider),將您申請的域名解析到相應的IP地址。有兩種方式來實現Internet即時消息,第一種就是在Internet上放置一臺Exchange服務器,使用即時消息路由器來實現與企業內部Exchange即時消息服務器的通訊,但這臺直接暴露在Internet上的Exchange是十分不安全的。因此我們需要考慮的是另外一種,即客戶端通過企業防火墻直接登錄到企業內部的Exchange服務器,也就是說,您的域名解析到您防火墻的外部IP地址即可。[注釋1]
眾所周知,Exchange 2000中的服務是與Windows 2000中的IIS5.0緊密集成的。在您配置Exchange 2000的即時消息組件后,在IIS在默認Web站點中有一個名稱為InstMsg的虛擬目錄,通過這個虛擬目錄的配置決定驗證客戶身份的方式。為提高即時消息服務器的響應能力,您可以在同一臺服務器上創建一個即時消息專用的IIS虛擬服務器,您需要為這個站點指定IP地址,主機頭[注釋2],身份驗證方式等。針對即時消息使用的IIS站點,您應該配置為“Windows集成驗證”方式。創建這個新的IIS虛擬服務器后,請在瀏覽器中使用指定的主機頭訪問這個站點,確保這個站點的默認頁可以正常顯示。
在企業網絡中,除了Exchange 2000扮演了消息傳遞的重要角色外,ISA Server在安全方面也起到了不可估量的作用。今天在此我們不是要講ISA的安全配置,而是在ISA上需要發布即時消息服務器,以提供Internet用戶訪問。關于如何發布一個Web站點,此處不再一一講述,推薦您參照微軟PSS文檔:Configure the Web Publishing Service to Work with Internet Security and Aclearcase/" target="_blank" >cceleration Server in Windows 2000,,其中不同之處
圖1:指定IP地址
發布Web站點后,請先嘗試在Internet上是否可以通過mycorp.com(一個假設的域名,下文相同)訪問到這個即時消息服務器站點,這一步對即時消息在Internet上的成功部署很重要。
最后,關注一下Windows 2000中的名字解析問題。假設您創建一個Windows 2000域時使用的域名是mycorp.com,在您運行ping mycorp.com時,返回的IP地址是DC(Domain Controller)的IP地址。如果您的即時消息服務器恰好在DC上,那么您不需要做額外的工作;如果您的即時消息服務器在其他計算機上,您必須在DNS中創建一條新的記錄,可以使mycorp.com這個域名解析到內部的即時消息服務器,而且mycorp.com恰好是即時消息使用的IIS虛擬服務器的主機頭,下文也會提及,其實這個記錄恰好是即時消息服務器所需要的RVP記錄[注釋3]。
到此為止,我們有一點需要注意一下:即內外域名一致性問題。假設您在InterNIC注冊的域名是mycorp.com,那么您企業網絡中Windows 2000域的其中一個域名也應該為mycorp.com,并且mycorp.com這個域名應為即時消息服務器的IIS站點的主機頭,只有這樣,Internet用戶才可以通過域名來傳遞身份驗證信息。
上面所列的幾個準備工作,對于成功實現Internet即時消息是必不可少的,尤其是內外域名的一致性及域名的解析問題上,在即時消息中,不正確的DNS解析往往導致即時消息客戶端登錄失敗。在您繼續閱讀之前,請先確認這些問題已經不復存在,同時請確認指定的即時消息IIS站點可以正常訪問。
[注釋1]默認情況下,ISP可能會把這個FQDN,即完全合格域名解析到您的IP,在下文會講到,即時消息客戶需要使用與mycorp.com相對應的IP,因此,必須將domain.com解析到與同一個IP或者另外一個IP地址。
[注釋2]這個主機頭并不是一個普通的A記錄,它應該是您企業網絡中Windows 2000的DNS域名,格式為mycorp.com。
[注釋3]RVP記錄,即rendezvous protocol,這是一個WebDAV協議擴展的子集,所有與即時消息服務器相關的通訊,都需要通過RVP。
2、配置Internet即時消息服務器
首先,我們創建一個最基本的Exchange 2000即時消息環境,創建這臺即時消息虛擬服務器[注釋4]后,他可以為企業內部網提供強大的消息通訊功能。
1.創建即時消息虛擬服務器
我們假設您在安裝Exchange 2000時已經安裝了即時消息服務。下面的過程將幫助您創建一臺即時消息虛擬服務器:
啟動Exchange System Manager管理器,依次打開Administrative GroupsàFirst Administrative GroupsàServersàServer NameàProtocols,右擊Instant Messaging(RVP)àNewàInstant Messaging Virtual Server,啟動創建即時消息虛擬服務器向導。創建過程中,在選擇IIS站點時,選擇您創建的為即時消息單獨配置的IIS站點,然后系統將自動顯示Windows 2000的DNS域名,這個域名應該恰好是這個IIS站點的主機頭,也是您企業電子郵件域的后綴,接下來一個很重要的步驟是,確保選擇了”Allow this server to host user accounts”,如圖1所示,這樣這完成了即時消息虛擬服務器的創建,同時,您也相當于完成了RVP記錄的創建,RVP記錄默認使用的IP可能會與您實際使用的即時消息服務器的IP不符,您需要在DNS管理程序中修復它。打開DNS管理程序,依次打開“正向搜索區域àmycorp.comàTCP”,確認RVP記錄存在,并且IP與目標IP相符。
圖1:配置虛擬服務器
2.設置密碼策略
即時消息使用與用戶信箱一樣的密碼。為支持用戶在企業內部與Internet環境下使用即時消息,必須把域密碼策略設置為:Store password using reversible encryption for all users in the domain[注釋5]。啟動“活動目錄用戶與計算機”管理程序,右擊默認的DNS域名à屬性à組策略à編輯默認域策略,依次打開Computer ConfigurationàWindows SettingsàSecurity SettingsàPassword Policy,雙擊Store password using reversible encryption for all users in the domain,結果應與圖2相類似:
圖2:設置域密碼策略
然后在DC上運行secedit /refreshpolicy MACHINE_POLICY /enforce,確保組策略被刷新。
3.啟動用戶訪問即時消息
默認情況下,用戶是被禁用即時消息功能的,您需要為每個用戶啟用即時消息服務。打開“活動目錄用戶與計算機”管理程序,選擇您希望啟用即時消息功能的用戶,右擊用戶名àExchange TaskàEnable Instant Messaging,此時需要您在活動目錄查找即時消息服務器[注釋3]。如圖3所示:
圖3:查找即時消息虛擬服務器
4.為Internet訪問做準備
為支持Internet用戶通過防火墻登錄到企業中的Exchange計算機,您的即時消息服務器必須支持“輪詢”功能。Exchange 2000 SP1以前的任何一個版本都不支持該功能。即時消息客戶端通過HTTP 80端口登錄到即時消息服務器,然后服務器使用大于或者等于1024的一個隨機端口號發送通知到客戶端,結果因為數據包被防火墻阻擋,導致無法正常連接,如圖4所示:
圖4:不支持輪詢的即時消息
為此,微軟在Exchange 2000 SP1解決了這個問題。SP1支持客戶端在指定的時間內保持與服務器的連接,當服務器需要投遞通知給客戶時,直接通過現有的連接傳遞到客戶端,而無須再隨機產生端口來傳遞消息。圖5顯示的是啟用輪詢功能后,即時消息用戶通過防火墻與服務器的通訊過程:
圖5:支持輪詢的即時消息
為實現即時消息的輪詢功能,您需要在即時消息服務器上修復注冊表。強烈建議您在修改注冊表之前先進行備份,運行regedit32.ext,打開注冊表編輯器,瀏覽到下列路徑:
,如果沒有InstantMessaging鍵,請首先創建這個鍵。表格1列出了需要添加的注冊表項,添加所有的值后,務必重新啟動Exchange計算機,使這些值生效。
鍵名稱 數值 其他說明
PollSupport 1 該值決定是否支持輪詢,0表示不支持
PollLifeTimeDefault 57600 以秒為單位,決定在服務器上請求緩存的時間
PollLifeTimeMinimum 57600
PollLifeTimeMaximum 57600
PollMsgLifeTimeDefault 864000 以秒為單位,決定消息在服務器上緩存的時間
PollMsgLifeTimeMinimum 864000
PollMsgLifeTimeMaximum 864000
PollMsgLimit 0xFFFFFFF該值決定緩存在服務器上的消息數量
PollMsgKByteLimit 0xFFFFFFF該值決定在一次訂閱中緩存消息的最大KB數量,0xFFFFFFFF表示不限制
PollDropMsgLifeTime 864000 該值決定消息維持在服務器上的時間
[注釋4]Exchange即時消息有兩種虛擬服務器,一種稱為即時消息路由器,提供多個即時消息主服務器之間的消息路由,它不負責用戶賬號;另一種為即時消息主服務器,它負責用戶之間的消息傳遞,并且負責用戶賬號等作用。本文使用的是主服務器,即時消息路由器不在本文所討論的主題內。
[注釋5]對于通過代理服務器的身份驗證或者支持Windows Digest身份驗證,這個密碼策略的配置是強制性的,Digest驗證允許通過HTTP來實現安全的明文驗證,您也可以在IIS站點中配置即時消息服務器使用Digest驗證。
3、客戶端的相關配置
對于客戶端來說,并沒有復雜的配置。但我建議您安裝最新版的Exchange Messaging客戶端程序。為確保您的客戶可以在Internet上登錄到Exchange即時消息服務器,首先您需要確認在Internet上,客戶通過瀏覽器可以打開mycorp.com這個域名的默認頁,mycorp.com是在配置IIS站點時輸入的主機頭,如果打開默認頁失敗,您需要重新檢查ISA及IIS站點的相關配置。
對于Windows 98及Windows NT4.0的計算機,不論是在企業內部還是在Internet上,如果這些客戶計算機使用即時消息,您需要為這些客戶計算機安裝Windows 2000活動目錄組件---DSClient,Windows 98版的DSClient程序在Windows 2000安裝光盤\Clients\Win9x中提供,Windows NT 4.0版的DSClient程序在微軟站點可以下載。
最后,啟動Exchange Messaging客戶端程序,從主菜單中選擇“工具à選項à帳戶”,在Exchange帳戶一欄中,輸入您的登錄名,這個登錄名稱為您的電子郵件地址[注釋6],再單擊旁邊的“高級”按鈕,如圖6所示:
圖6:客戶端參數指定
在“Exchange 連接配置”對話框中,選擇“輪詢”,并且輸入1-15之間的一個數字,系統默認為10分鐘,如果您輸入超出范圍的數字,系統會提示出錯。指定所有參數后,退出選項菜單,程序返回到請求登錄的界面,如圖7所示:
圖7:客戶端登錄
此時,如果您的計算機已經連接到Internet,單擊“單擊這里登錄”就可以嘗試連接到Exchange即時消息服務器。如果您登錄Windows網絡的賬號與您即時消息賬號不符,登錄過程會失敗,系統要求您輸入正確的用戶名與密碼,然后就可以正常登錄了。如圖8所示。
圖8:身份驗證
[注釋6]作為一個良好的解決方案,您應該為客戶提供一致的登錄名稱,盡管即時消息可以使用不同于電子郵件域的后綴,但這同樣會增加您花費在、解析等方面的費用。如您的電子郵件域后綴為mycorp.com,則用戶電子郵件地址為,您應該為用戶創建一個使用作為登錄名稱的即消息服務器,而不是使用。
4、總結
Exchange 2000即時消息給我們帶來的不僅僅是一種通訊手段,更是一種利用現有的網絡構架實現高效率通訊的一種解決方案。對于已經實現企業內部即時消息的企業而言,將您的即時消息擴展到Internet,您將從中必定獲益非淺。本文中所提及的過程,也僅是點到為止,在實際配置過程中,您可能會碰到更多問題。希望文末提供的一些鏈接對您有所幫助。而且本文中示例使用的防火墻是軟件防火墻,加之ISA同時又是代理服務器,存在一個緩存問題,有時候會導致聯系人狀態信息不正確,因此,如果條件允許的話,建議您使用硬件防火墻,這在速度與狀態信息的正確檢測兩方面會更加理想。
相關鏈接:
White Paper - Exchange 2000 Instant Messaging Setup
White Paper - Instant Message Polling and Fixed Port Callback Delivery
Exchange 2000 Server Instant Messaging Authentication Does Not Succeed