單一伺服器上基本 DirectAccess 部署的第一個步驟是針對部署所需的基礎結構執行規劃。 本主題描述基礎結構規劃步驟:
| Task | Description |
|---|---|
| 規劃網路拓撲和設定 | 決定放置 DirectAccess 伺服器的位置(位於邊緣,或網路位址轉換 (NAT) 裝置或防火牆後方),並規劃 IP 尋址和路由。 |
| 規劃防火牆需求 | 規劃允許 DirectAccess 通過邊緣防火牆。 |
| 計畫憑證需求 | DirectAccess 可以使用 Kerberos 或憑證進行客戶端驗證。 在此基本 DirectAccess 部署中,會自動設定 Kerberos Proxy,並使用 Active Directory 認證完成驗證。 |
| 規劃 DNS 需求 | 規劃 DirectAccess 伺服器、基礎結構伺服器和用戶端連線的 DNS 設定。 |
| 規劃 Active Directory | 規劃您的域控制器和Active Directory需求。 |
| 規劃組策略物件 | 決定您組織中所需的 GPO,以及如何建立或編輯 GPO。 |
規劃工作不需要以特定順序完成。
規劃網路拓撲和設定
規劃網路適配器和IP尋址
識別您想要使用的網路介面卡拓撲。 您可以使用下列任一項來設定 DirectAccess:
有兩張網路適配器 : 邊緣有一張網路適配器連線到因特網,另一張網路適配器連線到內部網路,或位於NAT、防火牆或路由器裝置後方,其中一張網路適配器連線到周邊網路,另一張網路適配器則聯機到內部網路。
在具有一張網路適配器的 NAT 裝置後方 - DirectAccess 伺服器會安裝在 NAT 裝置後方,而單一網路適配器會連線到內部網路。
識別您的IP尋址需求:
DirectAccess 使用 IPv6 搭配 IPsec 在 DirectAccess 用戶端電腦與公司內部網路之間建立安全連線。 不過,DirectAccess 不一定需要 IPv6 網際網路的連線能力,或內部網路的原生 IPv6 支援。 相反地,它會自動設定和使用 IPv6 轉換技術,以跨 IPv4 因特網(6to4、Teredo、IP-HTTPS)和跨 IPv4 專用內部網路 (NAT64 或 ISATAP) 通道 IPv6 流量。 如需這些轉換技術的概觀,請參閱下列資源:
根據下表設定必要的配接器和尋址。 針對在 NAT 裝置後方部署且使用單一網路配接器的情況,請僅使用 內部網路配接器 栏來設定您的 IP 位址。
Description 外部網路介面卡 內部網路介面卡1 路由需求 IPv4 內部網路和 IPv4 因特網 設定下列各項: - 具有適當子網掩碼的一個靜態公用 IPv4 位址。
- 因特網防火牆或本機因特網服務提供者 (ISP) 路由器的預設網關 IPv4 位址。設定下列各項: - 一個 IPv4 內部網路位址搭配適當的子網路遮罩。
- 內部網路命名空間的連線專用 DNS 後綴。 DNS 伺服器也必須在內部介面上設定。
- 請勿在任何內部網路介面上設定預設閘道。若要設定 DirectAccess 伺服器以連線到內部 IPv4 網路上的所有子網,請執行下列動作: 1.列出內部網路上所有位置的 IPv4 位址空間。
2.使用 路由新增 -p 或 netsh 介面 ipv4 新增路由 命令,將 IPv4 位址空間新增為 DirectAccess 伺服器的 IPv4 路由表中的靜態路由。IPv6 網際網路與 IPv6 內部網路 設定下列各項: - 使用 ISP 所提供的自動設定地址組態。
- 使用 route print 指令來確保 IPv6 路由表中存在指向 ISP 路由器的預設 IPv6 路由。
- 判斷 ISP 和內部網路路由器是否使用 RFC 4191 中所述的預設路由器喜好設定,以及使用比本機內部網路路由器更高的預設喜好設定。 如果這兩項都是肯定的,預設路由就不需要其他設定。 ISP 路由器的較高喜好設定等級可確保 DirectAccess 伺服器的預設 IPv6 路由作用有效,指向 IPv6 網際網路。由於 DirectAccess 伺服器是 IPv6 路由器,因此如果您有原生的 IPv6 基礎結構,網際網路介面也可以連線到內部網路上的網域控制站。 在此情況下,請將封包篩選器新增到周邊網路中的網域控制站,以防止連線到 DirectAccess 伺服器之網際網路對向介面的 IPv6 位址。
設定下列各項: - 如果您未使用預設喜好設定層級,請使用 netsh 介面 ipv6 set InterfaceIndex ignoredefaultroutes=enabled 命令來設定您的內部網路介面。 此命令可確保指向內部網路路由器的其他預設路由將不會新增至IPv6路由表。 您可以從 netsh 介面 show interface 命令的顯示結果中,取得內部網路介面的 InterfaceIndex。
當您有 IPv6 內部網路時,若要設定 DirectAccess 伺服器來連線到所有 IPv6 位置,請執行下列動作: 1.列出內部網路上所有位置的 IPv6 位址空間。
2.使用 netsh 介面 ipv6 新增路由 命令,將 IPv6 位址空間新增為 DirectAccess 伺服器的 IPv6 路由表中的靜態路由。IPv4 網際網路和 IPv6 內部網路 DirectAccess 伺服器會使用 Microsoft 6to4 配接器介面將預設 IPv6 路由流量轉送至 IPv4 網際網路上的 6to4 中繼伺服器。 您可以使用以下命令,為 IPv4 網際網路上的 Microsoft 6to4 中繼的 IPv4 位址設定 DirectAccess 伺服器(當公司網路中未部署原生 IPv6 時使用):netsh 介面 ipv6 6to4 set relay name=192.88.99.1 state=enabled。 Note
請注意下列事項:
- 如果 DirectAccess 用戶端已被指派公用的 IPv4 位址,它會使用 6to4 轉換技術連線到內部網路。 如果 DirectAccess 用戶端無法使用 6to4 連線到 DirectAccess 伺服器,則會使用 IP-HTTPS。
- 原生 IPv6 用戶端電腦不需要任何轉換技術,即可透過原生 IPv6 連線到 DirectAccess 伺服器。
規劃防火牆需求
如果 DirectAccess 伺服器位於邊緣防火牆後方,當 DirectAccess 伺服器位於 IPv4 因特網上時,DirectAccess 流量將需要下列例外狀況:
6to4 流量 - IP 通訊協定 41 輸入和輸出。
IP-HTTPS - 傳輸控制通訊協定 (TCP) 目的地連接埠 443,及 TCP 來源連接埠 443 輸出。
如果您要使用單一網路適配器部署 DirectAccess,並在 DirectAccess 伺服器上安裝網路位置伺服器,則也應該豁免 TCP 連接埠 62000。
Note
此豁免位於 DirectAccess 伺服器上。 所有其他例外狀況都在邊緣防火牆上。
當 DirectAccess 伺服器位於 IPv6 因特網上時,DirectAccess 流量需要下列例外狀況:
IP 通訊協定 50
UDP 目的地連接埠 500 輸入,及 UDP 來源連接埠 500 輸出。
使用其他防火牆時,請針對 DirectAccess 流量套用下列內部網路防火牆例外狀況:
ISATAP - 通訊協定 41 輸入和輸出
適用於所有 IPv4/IPv6 流量的 TCP/UDP
計畫憑證需求
IPsec 的憑證需求包括 DirectAccess 用戶端電腦在建立用戶端與 DirectAccess 伺服器之間的 IPsec 連線時所使用的電腦憑證,以及 DirectAccess 伺服器用來建立與 DirectAccess 用戶端的 IPsec 連線的電腦憑證。 對於 Windows Server 2012 R2 和 Windows Server 2012 中的 DirectAccess,使用這些 IPsec 憑證並非必要。 用戶入門精靈會將 DirectAccess 伺服器設定為 Kerberos Proxy 來執行 IPsec 驗證,而不需要憑證。
IP-HTTPS 伺服器。 當您設定 DirectAccess 時,DirectAccess 伺服器會自動設定為作為 IP-HTTPS Web 接聽程式。 IP-HTTPS 網站需要網站憑證,客戶端電腦必須能夠連接到用於憑證的證書撤銷清單(CRL)網站。 啟用 DirectAccess 精靈會嘗試使用 SSTP VPN 憑證。 如果未設定 SSTP,它會檢查電腦個人存放區中是否有 IP-HTTPS 憑證。 如果沒有可用的憑證,它會自動建立自我簽署憑證。
網路位置伺服器。 網路位置伺服器是用來偵測用戶端計算機是否位於公司網路的網站。 網路位置伺服器需要網站證書。 DirectAccess 用戶端必須能夠連絡 CRL 網站以取得憑證。 [啟用遠端訪問精靈] 會檢查計算機個人存放區中是否有網路位置伺服器的憑證。 如果沒有,它會自動建立自我簽署憑證。
下表摘要說明每一項的認證需求:
| IPsec 驗證 | IP-HTTPS 伺服器 | 網路位置伺服器 |
|---|---|---|
| 當您不使用 Kerberos Proxy 來進行驗證時,必須使用內部 CA 將電腦憑證簽發給 DirectAccess 伺服器和用戶端來進行 IPsec 驗證 | 公用 CA - 建議使用公用 CA 來發行 IP-HTTPS 憑證,這可確保 CRL 發佈點可在外部使用。 | 內部 CA - 您可以使用內部 CA 來發行網路位置伺服器網站憑證。 請確保CRL發佈點在內部網路中具有高可用性。 |
| 內部 CA - 您可以使用內部 CA 來發行 IP-HTTPS 憑證;不過,您必須確定CRL發佈點可從外部使用。 | 自簽憑證 - 您可以使用網路位置伺服器網站的自簽憑證;不過,您無法在多站點部署中使用自簽憑證。 | |
| 自我簽署憑證 - 您可以使用 IP-HTTPS 伺服器的自我簽署憑證;不過,您必須確定CRL發佈點可從外部使用。 自我簽署憑證無法在多站點部署中使用。 |
規劃 IP-HTTPS 和網路位置伺服器的證書
如果您想要針對這些用途布建憑證,請參閱 使用進階設定部署單一 DirectAccess 伺服器。 如果沒有可用的憑證,用戶入門精靈會自動建立自我簽署憑證以供這些用途使用。
Note
如果您手動配置 IP-HTTPS 和網路位置伺服器的憑證,請確保憑證具有主體名稱。 如果憑證沒有主體名稱,但具有替代名稱,DirectAccess 精靈將不會接受它。
規劃 DNS 需求
在 DirectAccess 部署中,下列專案需要 DNS:
DirectAccess 用戶端要求。 DNS 可用來解析不位於內部網路上的 DirectAccess 用戶端電腦的要求。 DirectAccess 用戶端嘗試連線到 DirectAccess 網路位置伺服器,以判斷它們是否位於因特網或公司網路上:如果連線成功,則用戶端會判斷為位於內部網路,且未使用 DirectAccess,並使用用戶端電腦網路適配器上設定的 DNS 伺服器解析用戶端要求。 如果連線不成功,則會假設客戶端位於因特網上。 DirectAccess 用戶端會使用名稱解析原則數據表 (NRPT) 來判斷解析名稱要求時要使用的 DNS 伺服器。 您可以指定客戶端應該使用 DirectAccess DNS64 來解析名稱,或替代的內部 DNS 伺服器。 執行名稱解析時,DirectAccess 用戶端會使用 NRPT 來識別如何處理要求。 用戶端要求 FQDN 或單一標籤名稱,例如 http://internal. 如果單一標籤名稱是要求,則會附加 DNS 後綴以建立 FQDN。 如果 DNS 查詢符合 NRPT 中的專案,且已針對專案指定 DNS4 或內部網路 DNS 伺服器,則會使用指定的伺服器來傳送查詢來解析名稱。 如果符合的項目存在,但沒有指定 DNS 伺服器,則表示此為豁免規則,並會套用一般名稱解析。
在 DirectAccess 管理主控台中將新尾碼新增至 NRPT 時,按一下 [偵測] 按鈕,即可自動探索尾碼的預設 DNS 伺服器。 自動偵測的運作方式如下:
如果公司網路是以 IPv4 為基礎或 IPv4 和 IPv6,則預設位址是 DirectAccess 伺服器上內部適配卡的 DNS64 位址。
如果公司網路是 IPv6 型,預設位址就是公司網路中 DNS 伺服器的 IPv6 位址。
Note
從 Windows 10,2020 年 5 月 10 日更新開始,用戶端不會再在其名稱解析原則表格 (NRPT) 中,所設定的 DNS 伺服器上註冊其 IP 位址。 如果需要 DNS 註冊,例如 「管理輸出」,可以在用戶端上使用此登錄機碼明確啟用它:
路徑:HKLM\System\CurrentControlSet\Services\Dnscache\Parameters
類型: DWORD
值名稱:DisableNRPTForAdapterRegistration
Values:
1 - DNS 註冊已停用 (自 Windows 10,2020 年 5 月更新以來的預設值)
0 - 已啟用 DNS 註冊
基礎結構伺服器
網路位置伺服器。 DirectAccess 用戶端會嘗試連線到網路位置伺服器,以判斷它們是否位於內部網路上。 內部網路上的用戶端必須能夠解析網路位置伺服器的名稱,但在位於互聯網時必須無法進行名稱解析。 為了確保發生這種情況,根據預設,網路位置伺服器的 FQDN 會新增為 NRPT 的豁免規則。 此外,當您設定 DirectAccess 時,會自動建立下列規則:
根域或 DirectAccess 伺服器網域名稱的 DNS 後綴規則,以及配置在 DirectAccess 伺服器上的內部網路 DNS 伺服器對應的 IPv6 位址。 例如,如果 DirectAccess 伺服器是 corp.contoso.com 網域的成員,就會為 corp.contoso.com DNS 尾碼建立規則。
網路位置伺服器之 FQDN 的豁免規則。 例如,如果網路位置伺服器 URL 是
https://nls.corp.contoso.com,就會為 FQDN nls.corp.contoso.com 建立豁免規則。
IP-HTTPS 伺服器。 DirectAccess 伺服器會作為 IP-HTTPS 接聽程式,並使用其伺服器證書向 IP-HTTPS 客戶端進行驗證。 IP-HTTPS 名稱必須由使用公用 DNS 伺服器的 DirectAccess 用戶端解析。
連線驗證器。 DirectAccess 會建立預設的 Web 探查,供 DirectAccess 用戶端電腦用來驗證內部網路的連線能力。 若要確保探查如預期般運作,必須在 DNS 中手動註冊下列名稱:
directaccess-webprobehost - 應該解析為 DirectAccess 伺服器的內部 IPv4 位址,或解析為僅限 IPv6 環境中的 IPv6 位址。
directaccess-corpconnectivityhost 應該解析為本地主機(回送)位址。 應建立 A 記錄,其值為 127.0.0.1,和 AAAA 記錄,該記錄的值由 NAT64 前置詞建構而成,其最後 32 位為 127.0.0.1。 您可以執行 cmdlet get-netnattransitionconfiguration 來擷取 NAT64 前綴詞。
您可以透過 HTTP 或 PING 使用其他網址來建立其他連線驗證程式。 每個連線驗證器必須有一個 DNS 記錄。
DNS 伺服器需求
- 針對 DirectAccess 用戶端,您必須使用執行 Windows Server 2008、Windows Server 2008 R2、Windows Server 2012、Windows Server 2012 R2、Windows Server 2016 或任何支援 IPv6 的 DNS 伺服器。
Note
在部署 DirectAccess 時,建議您不要使用執行 Windows Server 2003 的 DNS 伺服器。 雖然 Windows Server 2003 DNS 伺服器支援 IPv6 記錄,但 Microsoft 不再支援 Windows Server 2003。 此外,如果您的網域控制站因為檔案複寫服務問題而執行 Windows Server 2003,則不應部署 DirectAccess。 如需詳細資訊,請參閱 DirectAccess 不支援的設定。
規劃網路位置伺服器
網路位置伺服器是用來偵測 DirectAccess 用戶端是否位於公司網路的網站。 公司網路中用戶端不會使用 DirectAccess 連線到內部資源,而是直接連線。
用戶入門精靈會自動在 DirectAccess 伺服器上設定網路位置伺服器,而且當您部署 DirectAccess 時,會自動建立網站。 這可讓您進行簡單的安裝,而不需要使用憑證基礎結構。
如果您想要部署網路位置伺服器,而不使用自我簽署憑證,請參閱 使用進階設定部署單一 DirectAccess 伺服器。
規劃 Active Directory
DirectAccess 使用 Active Directory 和 Active Directory 組策略物件,如下所示:
Authentication. Active Directory 用於驗證。 DirectAccess 通道會使用 Kerberos 驗證,讓使用者存取內部資源。
群組原則物件。 DirectAccess 會將組態設定收集到套用至 DirectAccess 伺服器和用戶端的組策略物件。
安全性群組。 DirectAccess 使用安全組來收集並識別 DirectAccess 用戶端電腦和 DirectAccess 伺服器。 這些組策略會被套用至必要的安全組。
對 Active Directory 的需求
規劃 DirectAccess 部署的 Active Directory 時,需要下列需求:
至少一個安裝在 Windows Server 2016、Windows Server 2012 R2、Windows Server 2012、Windows Server 2008 R2 或 Windows Server 2008 上的域控制器。
如果域控制器位於周邊網路(因此可從 DirectAccess 伺服器的面向因特網的網路介面卡連線),應在域控制器上新增封包篩選器,以防止 DirectAccess 伺服器連線,從而阻止連線到該網路介面卡的 IP 位址。
DirectAccess 伺服器必須是網域成員。
DirectAccess 用戶端必須是網域成員。 客戶可以屬於:
與 DirectAccess 伺服器位於相同樹系中的任何網域。
與 DirectAccess 伺服器網域具有雙向信任關係的任何網域。
與 DirectAccess 網域所屬樹系具有雙向信任關係之樹系中的任何網域。
Note
- DirectAccess 伺服器不可以是網域控制站。
- 用於 DirectAccess 的 Active Directory 域控制器不得從 DirectAccess 伺服器的外部因特網適配卡連線(適配卡不得位於 Windows 防火牆的網域配置檔中)。
規劃組策略物件
當您設定 DirectAccess 時所設定的 DirectAccess 設定會收集到組策略物件 (GPO) 中。 將兩個不同的 GPO 設定為 DirectAccess,配置後按以下方式分發:
DirectAccess 用戶端 GPO。 這個 GPO 包含用戶端設定,包括 IPv6 轉換技術設定、NRPT 項目,以及「具有進階安全性的 Windows 防火牆」連線安全性規則。 GPO 會套用至為用戶端電腦指定的安全組。
DirectAccess 伺服器 GPO。 此 GPO 包含 DirectAccess 組態設定,這些設定會套用至部署中設定為 DirectAccess 伺服器的任何伺服器。 它包含具有進階安全性的 Windows 防火牆以及連線安全性規則。
設定 GPO 的方式有兩種:
Automatically. 您可以指定自動建立它們。 系統會為每個 GPO 指定一個預設名稱。 GPO 是由入門嚮導精靈自動建立。
Manually. 您可以使用 Active Directory 系統管理員預先定義的 GPO。
請注意,一旦 DirectAccess 設定為使用特定的 GPO,就無法將它設定為使用不同的 GPO。
Important
無論您是使用自動或手動設定的 GPO,如果您的用戶端將使用 3G,則必須新增原則以偵測速度緩慢的連結。 群組原則的路徑 :設定群組原則慢速連結偵測 是: 計算機配置/原則/管理範本/系統/群組原則。
Caution
在執行 DirectAccess Cmdlet 之前,請使用下列程式來備份所有 DirectAccess 組策略對象: 備份和還原 DirectAccess 組態
自動建立的 GPO
使用自動建立的 GPO 時,請注意下列事項:
自動建立的 GPO 會根據位置和鏈接目標參數套用,如下所示:
對於 DirectAccess 伺服器 GPO,位置和連結參數都會指向包含 DirectAccess 伺服器的網域。
建立用戶端 GPO 時,位置會設定為要在其中建立 GPO 的單一網域。 在每個網域中會查詢 GPO 名稱,如果存在,則會填入 DirectAccess 的設定。 連結目標會設定為在其中建立 GPO 的網域根目錄。 每個包含用戶端計算機的網域都會建立 GPO,而且 GPO 會連結到其個別網域的根目錄。
使用自動建立的 GPO 時,若要套用 DirectAccess 設定,DirectAccess 伺服器管理員需要下列許可權:
GPO 為每個網域建立許可權。
所有選取之用戶端網域根目錄的連結權限。
伺服器 GPO 網域根目錄的連結許可權。
GPO 需要建立、編輯、刪除和修改安全性許可權。
建議 DirectAccess 系統管理員具有每個必要網域的 GPO 讀取許可權。 這可讓 DirectAccess 在建立 GPO 時,確認具有重複名稱的 GPO 不存在。
請注意,如果連結 GPO 的正確許可權不存在,則會發出警告。 DirectAccess 作業將會繼續,但不會進行連結。 如果發出此警告,連結將無法自動建立,即使稍後新增許可權也不會改變。 系統管理員將必須改為手動建立連結。
手動建立的 GPO
使用手動建立的 GPO 時,請注意下列事項:
在執行「遠端存取入門精靈」之前,相關的 GPO 應該已經存在。
使用手動建立的 GPO 時,若要套用 DirectAccess 設定,DirectAccess 系統管理員需要手動建立 GPO 的完整 GPO 許可權(編輯、刪除、修改安全性)。
使用手動建立的 GPO 時,系統會搜尋整個網域來尋找 GPO 連結。 如果網域中未連結 GPO,則會在網域根目錄中自動建立連結。 如果沒有可建立連結的必要權限,系統就會發出警告。
請注意,如果連結 GPO 的正確許可權不存在,則會發出警告。 DirectAccess 作業將會繼續,但不會進行連結。 如果發出此警告,即使在稍後新增許可權,也不會自動建立連結。 系統管理員將必須改為手動建立連結。
從被刪除的 GPO 中恢復
如果意外刪除 DirectAccess 伺服器、用戶端或應用程式伺服器 GPO,而且沒有可用的備份,您必須移除組態設定,然後重新設定。 如果有備份可用,您便可以從備份還原 GPO。
DirectAccess 管理 會顯示下列錯誤訊息:找不到 GPO <GPO 名稱>。 若要移除組態設定,請執行下列步驟:
執行 PowerShell Cmdlet Uninstall-remoteaccess。
重新開啟 DirectAccess 管理。
您將會看到找不到 GPO 的錯誤訊息。 按一下 [移除組態設定]。 完成後,伺服器將會還原至未設定的狀態。