特別推薦msn 下戴網站: http://www.zwzpyg.com/?p=369

2011年5月10日星期二

解決MSN無法登錄問題的意外收穫

解決MSN無法登錄問題的意外收穫
最近在運維過程中,遇到了兩個歷史悠久而且截然不同的疑難問題。但巧合的是,兩個問題殊途同歸,最後居然使用了同樣的解決方法。為了慶祝送別這兩個問題,也為了和大家共同學習,共同進步,現在把解決問題的詳細過程獻出來和大家分享。

最近在運維過程中,遇到了兩個歷史悠久而且截然不同的疑難問題。但巧合的是,兩個問題殊途同歸,最後居然使用了同樣的解決方法。為了慶祝送別這兩個問題,也為了和大家共同學習,共同進步,現在把解決問題的詳細過程獻出來和大家分享。
先對問題進行一下描述啊。第一個問題就是MSN無法登錄!估計很多朋友看到這個題目就要暗自點頭,大有一見如故的感覺。這個問題非常普遍,在我們公司更是由來已久。無論用戶的級別高低,無論使用的MSN版本新舊,總有一部分不和諧的用戶會跑來反映自己的MSN無法登錄。按理說,即時通訊軟件很不受網管待見,應該學會在夾縫裡求生存,登錄方式應該手段繁多,花樣翻新。什麼封裝成HTTP,HTTPS,什麼通過Web代理,Socks代理,加密代理登錄等等,應該讓網管覺得MSN登錄真是防不勝防,堵不勝堵才好。可MSN倒好,我們還沒想限制呢,它先自己頂不住了。
為了解決這個問題,勞動人民可是想了不少主意,大家上網搜了不少辦法。什麼導入證書法,什麼在瀏覽器中勾選自動檢測設置啊,這些方法倒也不是一無是處,可奇怪的是有些辦法在張三的機器上行,在李四的機器上就不行,搞來搞去,也沒有一個通用的解決辦法。最可氣的是有些用戶第一天能登錄,第二天就不能登錄了,搞得大家每次登錄MSN時心情都忐忑不安,充滿了憧憬和期待。以前在MSN中配置代理服務器登錄還是比較靠譜的一招,我們在TMG服務器上也配置了防火牆策略,希望用戶通過HTTPS協議登錄MSN服務器。可後來配置Web代理基本上就毫無作用了。很長一段時間以來,遇到用戶無法登錄MSN,大家都很頭疼去進行技術支持。對比一下吃苦耐勞,從不挑肥揀瘦的QQ,這MSN跟別人的差距可真不是一星半點。
第二個問題也是一個老問題了,WPAD和WSUS之間有衝突。這個問題聽起來挺匪夷所思的,WSUS是乾嘛的,WSUS是用於給客戶機自動更新微軟補丁的;WPAD是乾嘛的,WPAD是自動在客戶機的Web代理或防火牆客戶端上配置代理服務器的。咋一看這兩者之間沒什麼關聯,可奇怪的是只要一啟用WPAD,客戶機能自動發現代理服務器的同時會立即和WSUS服務器失去聯繫。為了解決這個奇怪的問題,我們在微軟特意開了CASE,可微軟抓了不少包進行分析,最後也沒分析出什麼結果。結果呢,這個CASE就一直掛在那了。問題沒解決,我們只能在WPAD和WSUS之間選擇Kill一個了,WSUS是負責更新補丁的,安全問題應該優先保證,所以只能委屈一下WPAD了。
介紹完現有的問題後,再來介紹一下是怎麼解決問題的。我們先在MSN問題上找到了突破口,查詢微軟Technet三月份的安全博客時,忽然發現有篇文章介紹MSN登錄原理,文章提到如何希望MSN通過代理服務器登錄服務器,僅僅配置Web代理是不夠的, MSN只是在完成登錄的部分工作時使用到Web代理!注意,這也就意味著如果僅僅在MSN中配置下圖所示的Web代理,是無法完成MSN登錄的。

通過在客戶機上抓包分析,發現MSN登錄時要做很多工作,要聯繫一些的服務器,要聯繫一些的服務器,還要聯繫一些*.live.com和*.msn.com的服務器。當MSN訪問這些服務器時,有部分工作可以由Web代理完成,但有些工作是不能通過Web代理的。那剩下的登錄工作應該交給誰呢?答案是Winhttp代理!

4 条评论: