最近遇到了一個比較棘手的問題,用戶遠程桌面沒法鏈接,個人博文中以前也寫到了一篇遠程桌面排錯,可是此次的和以前的大不相同服務器
= = 緣由排查步驟ide
1)首先固然是查看報錯,這個是我本身機器上截圖的,報錯信息都同樣spa
2)首先查看服務器是否開啓了遠程訪問3d
3)查看目標是否能夠ping通日誌
4)查看服務是否正常啓動orm
5)若是要正常遠程到目標必須能夠telnet到目標的遠程端口,默認爲3389,這個端口不通,咱們以前已經將防火牆關閉了blog
6)本機上telnet 127.0.0.1 3389,這麼作的話能夠排除外界因素的干擾,固然仍是不通事件
7)而後我在本機使用netstat -ano 命令查看監聽的端口是否有3389,並無找到3389端口,5800和5900端口是VNC服務器的端口,也是一款遠程軟件,還好有它否則都無法排錯ip
Proto Local Address Foreign Address State PIDci
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 924
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:1311 0.0.0.0:0 LISTENING 2260
TCP 0.0.0.0:5800 0.0.0.0:0 LISTENING 2344
TCP 0.0.0.0:5900 0.0.0.0:0 LISTENING 2344
TCP 0.0.0.0:9083 0.0.0.0:0 LISTENING 1488
TCP 0.0.0.0:9527 0.0.0.0:0 LISTENING 1740
TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING 636
TCP 0.0.0.0:49153 0.0.0.0:0 LISTENING 248
TCP 0.0.0.0:49154 0.0.0.0:0 LISTENING 532
TCP 0.0.0.0:49183 0.0.0.0:0 LISTENING 744
TCP 0.0.0.0:49214 0.0.0.0:0 LISTENING 736
TCP 0.0.0.0:49219 0.0.0.0:0 LISTENING 4200
TCP 10.124.84.165:3181 0.0.0.0:0 LISTENING 2036
TCP 10.124.84.165:5900 10.124.84.17:61778 ESTABLISHED 2344
TCP 10.124.84.165:49155 10.124.84.62:135 TIME_WAIT 0
TCP 10.124.84.165:49156 10.124.84.62:49159 TIME_WAIT 0
TCP 10.124.84.165:49162 10.124.84.61:135 TIME_WAIT 0
TCP 10.124.84.165:49163 10.124.84.61:49155 TIME_WAIT 0
TCP 10.124.84.165:49184 10.124.84.62:49155 TIME_WAIT 0
TCP 10.124.84.165:49188 9.9.200.232:80 CLOSE_WAIT 2028
TCP 10.124.84.165:49190 9.9.200.232:37527 ESTABLISHED 1836
TCP 10.124.84.165:49192 10.124.84.62:135 TIME_WAIT 0
TCP 10.124.84.165:49193 10.124.84.62:49155 TIME_WAIT 0
TCP 10.124.84.165:49220 10.124.84.62:135 ESTABLISHED 532
TCP 10.124.84.165:49221 10.124.84.62:49155 ESTABLISHED 532
TCP 10.124.84.165:49237 10.124.84.87:8014 ESTABLISHED 4040
TCP 10.124.84.165:49238 10.124.84.16:3183 ESTABLISHED 2036
TCP 10.124.84.165:49246 10.124.84.62:135 TIME_WAIT 0
TCP 10.124.84.165:49247 10.124.84.62:49155 ESTABLISHED 744
TCP 10.124.84.165:49265 9.9.200.232:80 CLOSE_WAIT 5260
TCP 10.124.84.165:49270 9.9.200.232:80 TIME_WAIT 0
TCP 10.124.84.165:49271 10.124.84.16:2059 TIME_WAIT 0
TCP 10.124.84.165:49273 9.9.200.232:80 TIME_WAIT 0
TCP 10.124.84.165:49278 10.124.84.102:445 ESTABLISHED 4
TCP 10.124.84.165:49282 111.108.54.16:80 SYN_SENT 12
TCP 127.0.0.1:36600 0.0.0.0:0 LISTENING 1836
TCP [::]:80 [::]:0 LISTENING 4
TCP [::]:135 [::]:0 LISTENING 924
TCP [::]:445 [::]:0 LISTENING 4
TCP [::]:1311 [::]:0 LISTENING 2260
TCP [::]:9527 [::]:0 LISTENING 1740
TCP [::]:49152 [::]:0 LISTENING 636
TCP [::]:49153 [::]:0 LISTENING 248
TCP [::]:49154 [::]:0 LISTENING 532
TCP [::]:49183 [::]:0 LISTENING 744
TCP [::]:49214 [::]:0 LISTENING 736
TCP [::]:49219 [::]:0 LISTENING 4200
UDP 0.0.0.0:123 *:* 540
UDP 0.0.0.0:500 *:* 532
UDP 0.0.0.0:4500 *:* 532
UDP 0.0.0.0:5355 *:* 12
UDP 0.0.0.0:9528 *:* 1740
UDP 0.0.0.0:36599 *:* 2028
UDP 0.0.0.0:58868 *:* 2028
UDP 0.0.0.0:58869 *:* 2028
UDP 0.0.0.0:58870 *:* 2028
UDP 10.124.84.165:3001 *:* 1740
UDP 127.0.0.1:51709 *:* 4040
UDP 127.0.0.1:52623 *:* 1488
UDP 127.0.0.1:52685 *:* 280
UDP 127.0.0.1:58867 *:* 1836
UDP 127.0.0.1:59657 *:* 744
UDP 127.0.0.1:59660 *:* 12
UDP [::]:123 *:* 540
UDP [::]:500 *:* 532
UDP [::]:4500 *:* 532
UDP [::]:5355 *:* 12
UDP [::]:9528 *:* 1740
8)端口都找不到,是否是有人修改了默認的3389端口,在註冊表以下路徑
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber查看值是否爲3389,我這裏並無修改,可是我考慮多是端口被佔用?
9)我就修改端口試試看吧,修改端口的話須要修改兩個值,修改完以後重啓RDS服務便可
基數調整爲十進制而後填入3390
從新啓動服務後就會生效
= = 考慮第三方因素
1)以前同事處理過一個問題,就是由於其餘服務佔用了3389端口後,修改端口就能夠訪問了,可是我處理的這臺服務器有一個不一樣點就是他本地都監聽不到端口
2)修改端口後依舊是以前的問題,以後聽客戶說他們有一塊心跳網卡,以前遠程仍是正常的,多是心跳網卡有關係,將心跳網卡禁用後,我重啓了服務器,好像和它沒什麼關係
3)考慮第三方服務形成了服務故障?cmd中輸入msconfig,這個操做須要重啓,我還關閉了殺毒軟件
4)多是RDS組件沒法使用3389端口?,我就下載了一些RDS組件的更新,系統是08R2企業版,前三個正常安裝,後面的不適用,沒有什麼影響,安裝完成後重啓
升級RDS相關的組件:
Package: Winscard.dll
-----------------------------------------------------------
KB Article Number (s) : 2531912
Language: All (Global)
Platform: x64
Package: Mstsc.exe
-----------------------------------------------------------
KB Article Number (s) : 2870165
Language: All (Global)
Platform: x64
Location: ( http://hotfixv4.microsoft.com/Windows%207/Windows%20Server2008%20R2%20SP1/sp2/Fix451420/7600/free/465746_intl_x64_zip.exe )
Package: mstscax.dll
-----------------------------------------------------------
KB Article Number (s) : 2925429
Language: All (Global)
Platform: x64
Location: ( http://hotfixv4.microsoft.com/Windows%207/Windows%20Server2008%20R2%20SP1/sp2/Fix495746/7600/free/474212_intl_x64_zip.exe )
Package:Win32k.sys
-----------------------------------------------------------
KB ArticleNumber (s) : 2866519
Language:All (Global)
Platform:x64
Package:termsrv.dll
-----------------------------------------------------------
KBArticle Number (s) : 2878424
Language:All (Global)
Platform:x64
Package:Winscard.dll
-----------------------------------------------------------
KBArticle Number (s) : 2833914
Language:All (Global)
Platform:x64
5)到事件查看器的如下路徑:Application and services log\Microsoft\Windows\Remote desktop service或者terminal service,而後我就發現了這條日誌,提示RDS服務啓動失敗
7)將RDS服務啓動類型設置爲自動,而後檢查服務器是否安裝了KB2621440 和 KB2667402,這兩個更新也是和RDS服務有關的,我檢查到服務器是將全部更新都安裝了的,若是想檢查是否安裝了哪一個更新能夠在cmd中中輸入 systeminfo > c:\xx.txt 而後點擊文本文檔查找KB號便可
補丁下載地址https://technet.microsoft.com/zh-cn/library/security/ms12-020.aspx
這個補丁是Windows 7 和 Server2008 可用的,在下方按照系統版本進行下載
8)基本尋常的方法都試過了,對比有問題和沒有問題的服務器,而後將沒有問題的服務器RDS文件替換到有問題的服務器,文件在Windows\System32目錄下,repcorekmts.dll \ rdpwsx.dll \ rdrmenmptylst.exe(而後從新啓動服務器,結果爲False)
= = 終極大招
1)一個問題不會平白無故的出現,最後我只能懷疑是有人動了註冊表中的值,最快捷最方便的解決方法即是將沒問題的服務器註冊表值導入到有問題服務器的註冊表中
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server下的兩個值導出
注意,這項操做兩臺服務器都要進行,有問題的服務器最好將註冊表項進行備份
2)而後把導出來的註冊表值在問題服務器上運行,就會進行導入操做,若是你是導出的Terminal Server這個項,是不能夠進行導入的
3)在導入完成後,要想讓註冊表生效最好是重啓一下服務器
4)重啓完成後,我已經能夠telnet到3389端口了,這是一個好消息,然而問題並無解決
5)客戶端在mstsc時出現了閃退的現象,和我以前的遠程桌面排錯服務有點類似
6)報錯圖以下,看下方,遠程許可服務器是可用的
7)形成此現象的緣由,這臺服務器導入的註冊表值中沒有配置遠程桌面主機服務,我將此服務器上的遠程桌面服務刪除,而後添加,這樣註冊表中才會存在遠程桌面主機服務的值,此時就能夠進行遠程桌面鏈接了
8)從新安裝遠程桌面服務
每一個人的環境不一樣,若是你的環境沒有遠程桌面許可服務器的話不要安裝此角色
問題處理完成,若是在導出註冊表項,準備導入後出現錯誤,多是導出的值損壞了,從新導出導入便可
最後在連接一個別人的博文,其中也寫到了一篇遠程桌面排錯的