巧用 Azure DNS Private Resolver 實現 Azure Virtual Desktop 純內網訪問
內網訪問的技術邏輯
組件協同關係
- Azure Virtual Desktop(AVD):提供虛擬桌面與應用交付服務,需配置私有端點關閉公網訪問;
- Azure Private Link:為 AVD 的三大核心流程(初始訂閲發現、訂閲下載、主機池連接)創建私有端點,使 AVD 服務暴露在私有網絡中;
- Azure DNS Private Resolver:解決內網環境下的 DNS 解析問題 —— 一方面讓內網客户端解析 AVD 私有端點的 DNS 記錄,另一方面支持本地環境與 Azure 私有 DNS 區域的雙向解析,確保端到端連通性。
內網訪問架構圖
plaintext
本地內網/Azure內網客户端 → 私有網絡(VNet)→ DNS Private Resolver(解析AVD私有DNS記錄)→ AVD私有端點 → AVD主機池/工作區
優勢
- 安全隔離:所有 AVD 訪問流量均在私有網絡內傳輸,無公網暴露面,降低網絡安全風險;
- 合規適配:滿足數據傳輸不經過公網的合規要求,適用於高安全等級場景;
- 解析可靠:DNS Private Resolver 提供託管式高可用解析服務,避免自定義 DNS 服務器的運維負擔;
- 靈活擴展:支持本地環境、多區域 Azure 網絡的內網訪問擴展。
前置條件確認
- 私有端點子網(建議 / 24,用於部署 AVD 私有端點);
- DNS 解析器子網(兩個獨立子網,分別用於 DNS Private Resolver 的入站 / 出站端點,最小 / 28);
部署實現內網訪問
配置 AVD 私有端點(關閉公網訪問)
重新註冊 AVD 資源提供程序
在左側「設置」中選擇「資源提供程序」,搜索「Microsoft.DesktopVirtualization」:
選中該資源提供程序,點擊「重新註冊」,等待註冊狀態變為「已註冊」(通常耗時 1 分鐘內):
部署AVD 私有端點
主機池連接私有端點(sub-resource: connection)
登錄 Azure 門户,搜索「Azure Virtual Desktop」,進入「主機池」,選擇目標主機池:
左側「設置」中選擇「網絡」,切換至「私有端點連接」,點擊「+ 新建私有端點」:
基礎信息配置:
- 訂閲:目標訂閲;
- 資源組:與 AVD 同資源組;
- 名稱:私有終結點名稱
- 區域:與 AVD 環境同區域;
資源配置:
- 目標子資源:選擇「connection」:
虛擬網絡配置:
- 虛擬網絡:選擇目標 VNet;
- 子網:選擇目標子網;
- 私有 IP 配置:動態分配;
DNS 配置:
- 集成到私有 DNS 區域:選擇「是」,自動創建privatelink.wvd.microsoft.com私有 DNS 區域
點擊「查看 + 創建」,完成部署(約 3 分鐘):
工作區訂閲下載私有端點(sub-resource: feed)
進入 AVD「工作區」,選擇目標工作區:
左側「設置」中選擇「網絡」,切換至「私有端點連接」,點擊「+ 新建私有端點」:
基礎信息配置:名稱,其他與主機池私有端點一致:
資源配置:目標子資源選擇「feed」:
虛擬網絡配置:
- 虛擬網絡:選擇目標 VNet;
- 子網:選擇目標子網;
- 私有 IP 配置:動態分配;
確認無誤,點擊創建:
工作區初始發現私有端點(sub-resource: global)
在同一工作區的「網絡」頁面,再次點擊「+ 新建私有端點」:
設置名稱等基本信息,其他保持一致:
資源配置:目標子資源選擇「global」:
虛擬網絡與 DNS 配置同前,部署後自動創建privatelink-global.wvd.microsoft.com私有 DNS 區域:
確認無誤。點擊創建:
重啓 AVD 會話主機,使網絡配置生效。
關閉 AVD 公網訪問
進入 AVD 工作區的「網絡」頁面,切換至「公網訪問」:
選擇「禁用公網訪問,使用私有訪問」,點擊「保存」:
進入 AVD 主機池的「網絡」頁面,重複上述操作,關閉主機池公網訪問。
部署 Azure DNS Private Resolver(保障內網解析)
創建 DNS 解析器專用子網
進入目標 VNet 頁面,添加兩個獨立子網:
- 子網 1:名稱如 snet-inboundt,委託給Microsoft.Network/dnsResolvers;
- 子網 2:名稱如 snet-outbound,同樣委託給Microsoft.Network/dnsResolvers;
創建 Azure DNS Private Resolver
登錄 Azure 門户,搜索「DNS Private Resolver」,點擊「創建」;
基礎信息配置:
- 訂閲、資源組:與 AVD 同環境;
- 名稱:如 AVD-DNS-Reslover;
- 區域:與 VNet 同區域;
- 虛擬網絡:選擇目標 VNet;
配置入站端點:
- 名稱:如 AVD-Inbound;
- 子網:選擇 snet-inbound;
- IP 分配:靜態(推薦,便於本地 DNS 配置);
配置出站端點:
- 名稱:如 Outbound-AVDSub;
- 子網:選擇 snet-outbound;
配置規則集:
- 規則集名稱:如 Rule-AVD01;
- 關聯出站端點:選擇上述出站端點;
- 虛擬網絡鏈接:關聯目標 VNet;
- 暫不添加規則(後續按需配置);。
點擊「查看 + 創建」,完成部署:
配置內網 DNS 轉發(關鍵步驟)
Azure 內網客户端解析配置
本地環境解析配置
進入已創建的 DNS Private Resolver,查看「入站端點」的 IP 地址(如 10.101.1.4);
在本地 DNS 服務器(如 Windows DNS、BIND)中創建條件轉發器:
- 目標域名:wvd.microsoft.com、privatelink.wvd.microsoft.com、privatelink-global.wvd.microsoft.com;
- 轉發器 IP:DNS Private Resolver 的入站端點 IP;
保存配置,確保本地網絡與 Azure VNet 的 DNS 流量(UDP/TCP 53 端口)暢通。
驗證內網訪問有效性
測試 AVD 內網訪問
在測試客户端中,使用瀏覽器訪問地址:rdweb.wvd.microsoft.com/arm/webclient,使用有權訪問 AVD 的 Entra ID 賬號登錄:
驗證是否成功加載工作區中的應用 / 桌面(如 Command Prompt、Office 組件):
雙擊應用圖標,確認能正常連接並啓動(無公網訪問報錯);