對于RDS來說,其最核心的角色是RD虛擬化主機和RD會話主機。對于前者來說,主要實現虛擬桌面服務,對于后者來說,主要實現應用程序虛擬化。當提供了后臺核心服務后,就需要使用RD連接代理來管理用戶訪問進程。
例如,當多臺服務器部署了會話主機池,在其中提供了多個虛擬程序,當客戶端訪問目標虛擬程序時,會隨機連接到某臺會話主機上。
該客戶端因為某些原因異常中斷訪問,再次進行連接時,RD連接代理可以自動幫助其恢復之前失去的連接。
RD Web訪問角色為用戶提供了訪問接口,RD網關可將RDS服務發(fā)布到Internet上,RD授權負責授權管理。打開服務器管理器,在左側選擇“遠程桌面服務”→“概述”項,可清晰的看到RDS服務的組成角色。
這里就先以在公網上發(fā)布Remote APP為例進行說明,在企業(yè)內網中存在名為Rserer1的服務器,作為RD會話主機,其IP為192.168.1.10。
Rserver2的服務器為連接代理,其IP為192.168.1.20。
Rserver3的服務器作為RD Web主 機,其IP為192.168.1.30。
“Rdgate”的主機作為RD網關服務器,其IP為192.168.1.31。這些主機都加入到域環(huán)境,DC的IP為192.168.1.2,在其上安裝了CA角色。
在域中任意主機(例如“Rserver1”)上打開服務器管理器,在左側的“所有服務器”項的右鍵菜單上點擊“添加服務器”項,在打開窗口中的“Active Directory”面板中的“名稱”欄中輸入“rserver”,找到并導入R s e r v e r 2,Rserver3等主機。同理,將“rdgate”主機也添加進來。
之后點擊菜單“管理”→“添加角色和功能”項,可以針對該服務器組進行操作。在向導界面中選擇“遠程桌面服務安裝”項,點擊下一步按鈕,選擇“標準部署”項。再選擇“基于會話的桌面部署”項,在下一步窗口中按照提示,依次設置Rserver2主機作為連接代理服務器,Rserver3主機為RD Web訪問服務器,Rserver1主機為RD會話主機。選擇“需要時自動重新啟動目標服務器”項,點擊部署按鈕,執(zhí)行具體的部署操作。
在服務器管理器左側選擇“遠程桌面服務”→“概述”項,在右側的點擊“創(chuàng)建會話集合”項,在向導界面中輸入集合的名稱(例如“APP_Pool”),之后選擇名為Rserver1的會話主機,在下一步窗口設置用戶組,即哪些用戶可以訪問該集合,默認為所有的域賬戶。再設置用戶配置文件路徑和容量,點擊創(chuàng)建按鈕創(chuàng)建該集合。
有了集合之后,就可以向其中添加應用程序。在左側選擇“集合”→“APP_Pool”項,在“RemoteApp程序”列表右側點擊菜單“任務”→“發(fā)布RemoteApp程序”項,選擇單個或者多個目標程序,將其發(fā)布出去。
當用戶訪問“https://rserver3.xxx.com/reweb”網址,因為沒有配置證書,所以會顯示“此網站的安裝證書存在問題”的警告,點擊“繼續(xù)瀏覽此網站”項,輸入合適的域賬戶名和密碼,在“RemoteApp和桌面”欄中雙擊目標程序,點擊連接按鈕,就可以運行該程序。對于工作組中的客戶端來說,其不受域架構信任,當其訪問RD會話主機時,首先需要在RDWeb主機上進行身份驗證,之后還要到RD代理主機上進行身份驗證。
為了針對RD連接代理,實現SSO單一登錄功能,同時為了實現安全訪問RDS服務,就需要使用證書加以應對。將RD Web,RD代理服務,RD網關等主機的多個域名綁定到單張證書上,實現多域名證書功能。
圖1 創(chuàng)建多域名證書
在域中任意主機(例如Rserver1)上運行“gpupdate/force”命令,使其信任CA證書頒發(fā)機構。運行“mmc”程序,在控制臺中點擊菜單“文件”→“添加/刪除管理單元”項,在打開窗口左側列表中選擇“證書”項,點擊“添加”按鈕,選擇“計算機賬戶”項,將其導入進來。
在控制臺左側選擇“證書”→“高級操作”→“創(chuàng)建自定義請求”項,在向導界面中選擇“Active Directory注冊策略”項,點擊下一步按鈕,在自定義請求窗口中的“模版”列表中選擇“Web服務器”項,在下一步窗口中選擇“Web服務器”項,在其詳細信息欄中點擊“屬性”按鈕,在打開窗口(如圖1)中的“使用者”面板中的“使用者名稱”列表中選擇“公用名”項,在“值”欄中輸入合適的名稱,例如“app.xxx.com”。
點擊“添加”按鈕,將其添加到列表中。在“類型”列表中選擇“DNS”項,在“值”欄中分別輸入并添加以上域名,例如rserver1.xxx.com,rserver3.xxx.com,rdgate.xxx.com等。
在“常規(guī)”面板中輸入有好名稱,在“私鑰”面板中的“密鑰選項”欄中選擇“使私鑰可以導出”和“允許私鑰存檔”項:點擊確定按鈕保存配置。在下一步窗口中點擊瀏覽按鈕,導出后綴為“.req”的請求文件。
點擊完成按鈕,返回控制臺。使用記事本打開上述請求文件,將其內容全部復制出來,在瀏覽器中訪問“https://192.168.1.2/certsrv”,在彈出頁面中點擊“申請證書”鏈接。
再點擊“高級證書申請”鏈接,在打開頁面中點擊“使用base64編碼的CMC或PKCS#10文件提交一個證書,或使用base64編碼的PKCS#7續(xù)訂證書申請”鏈接,在打開頁面中的“保存的申請”欄中粘貼申請文件內容,在“證書模板”列表中選擇所需的模板,例如Web服務器。點擊“提交”按鈕,在證書已頒發(fā)頁面中點擊“下載證書”鏈接,將后綴為“.cer”的證書文件下載到本地。
在控制臺左側的“證書”→“個人”項的右鍵菜單上點擊“所有任務”→“導入”項,選擇上述證書文件,點擊完成按鈕,將證書導入進來,該步驟其實就是讓公鑰和私鑰建立關聯(lián)。
選擇的“證書”→“個人”項,在右側選擇導入的證書,在其右鍵菜單上點擊“所有任務”→“導出”項,在向導界面中選擇“是,導出私鑰”項,在安全窗口中選擇“密碼”項,輸入密碼后,將其導出為獨立的PFX文件,例如“zhengshu.pfx”。這樣,就取得了包含多域名的證書。
在Rserver3等主機上執(zhí)行“gupdate /force”命令,使其信任根證書頒發(fā)機構。當然,如果從公網CA頒發(fā)機構獲取的證書,就無需執(zhí)行該操作。
圖2 為不同的RDS角色配置證書
在Rserver1上打開服務器管理器,在左側選擇“遠程桌面服務”→“集合”項,在右上角點擊“任務”→“編輯部署屬性”項,在部署屬性窗口左側點擊“證書”項,在管理證書窗口(如圖2)中的“角色服務”列表中選擇“RD Web訪問”項。
點擊“選擇現有的證書”按鈕,在打開窗口中點擊瀏覽按鈕,選擇上述“zhengshu.pfx”文件,輸入對應的密碼,選擇“允許向目標計算機上受信任的根證書頒發(fā)機構證書存儲中添加證書”項,將該證書導入到本地。點擊確定按鈕保存配置,返回上一級窗口點擊應用按鈕,可以看到RD Web訪問的狀態(tài)顯示為“成功”,表示證書配置完成。
按照同樣的方法,分別選擇“RD連接代理-啟用單一登錄”和“RD連接代理-正在發(fā)布”角色,分別配置證書。
當在客戶端訪問“https://rserver3.xxx.com/reweb” 網 址 的話,就會發(fā)現關于證書的警告消失了。對于工作組客戶端來說,需要訪問“http://192.168.1.2/certsrv”網址,依次點擊“下載CA證書、證書鏈或CRL”和“下載CA證書”鏈接,下載后綴為“.cer”的證書。
在該證書文件的右鍵菜單上點擊“安裝”項,在向導界面中選擇“將所有的證書放入下列存儲”項,點擊瀏覽按鈕 沒選擇“受信任的根證書頒發(fā)機構”項。
點擊下一步按鈕,完成證書的安裝操作。之后就可以順利訪問RD Web服務器。當工作組中的客戶端訪問時,因為具有了SSO認證功能,可以避免多次身份驗證的繁瑣。