萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 網路基礎知識

Windows DNS 伺服器實現泛域名解析:GUI 與區域檔案雙軌操作指南

場景與價值

企業內部常部署大量子域名服務 (如 app1.corp.example.com、app2.corp.example.com…)。逐筆建立 A 記錄維護成本極高。泛域名解析 (Wildcard DNS) 允許單一記錄 *.corp.example.com 覆蓋所有未明確定義的子域名,大幅簡化管理。

Windows Server 2003 / 2008 / 2012 / 2016 / 2019 / 2022 通用 GUI 方法 (支援 * 主機名)

  1. 開啟 DNS 管理員 (dnsmgmt.msc)。
  2. 展開伺服器 → 正向查閱區域 → 右鍵目標區域 (如 corp.example.com) →「新增主機 (A 或 AAAA)」。
  3. 名稱欄輸入 * (星號),IP 位址填入目標伺服器 IP (如 192.168.10.100)。
  4. 按「新增主機」→ 完成。區域中將出現 * 節點,對應一筆 A 記錄。
  5. 驗證:用戶端 ping random.corp.example.com、nslookup test123.corp.example.com 應解析至 192.168.10.100。

※ Windows 2000 DNS 不支援 GUI 直接輸入 *,需用區域檔案法或建立 * 子域再加空主機名記錄 (見下)。

Windows 2000 專用:區域檔案手工編輯法

  1. 開啟區域檔:%SystemRoot%\System32\dns\corp.example.com.dns (記事本,管理員權限)。
  2. 在檔案末尾新增一行:
    * IN A 192.168.10.100
    (或完整格式:* 3600 IN A 192.168.10.100,TTL 3600 秒)。
  3. 存檔 → DNS 管理員右鍵區域 →「重新載入」或重啟 DNS 服務 (net stop dns && net start dns)。

Windows 2000 替代 GUI 法:建立 * 子域 + 空主機名

  1. 右鍵區域 →「新增網域」→ 名稱輸入 * → 確定 (建立 *.corp.example.com 子域)。
  2. 右鍵新建的 * 子域 →「新增主機」→ 名稱留空、IP 填 192.168.10.100 → 新增主機。
  3. 效果等同泛域名記錄。

驗證與測試

# 用戶端
ping arbitrary.corp.example.com
nslookup arbitrary.corp.example.com
dig arbitrary.corp.example.com +short

# 伺服器端除錯
dnscmd /enumrecords corp.example.com * /type A
# 或查看區域檔確認 * 記錄存在

注意事項與最佳實踐

  • 優先順序:明確定義的子域名記錄 (如 www、mail) 優先於泛域名 * 記錄。泛域名僅匹配不存在的子域名。
  • CNAME 泛域名:同理可建立 * IN CNAME target.example.com,指向標準化主機名,便於 IP 變更只改一處。
  • 安全性:泛域名會將任意子域名解析至同一 IP,惡意子域名 (惡意軟體 C2、釣魚頁面) 也會生效。建議:
    ① 僅在內部/受信區域使用。
    ② 搭配 DNS 防火牆 (Response Policy Zone, RPZ) 封鎖惡意子域名。
    ③ 監控異常子域名查詢 (Passive DNS/日誌分析)。
  • DNSSEC:簽署區域時,泛域名記錄同樣需簽署 (NSEC/NSEC3 覆蓋)。
  • TTL 設定:建議 300-3600 秒,平衡變更生效速度與快取效率。

PowerShell 自動化建立 (Server 2012+)

Add-DnsServerResourceRecord -ZoneName "corp.example.com" -A -Name "*" -IPv4Address "192.168.10.100" -TimeToLive 01:00:00
# 驗證
Get-DnsServerResourceRecord -ZoneName "corp.example.com" -Name "*" -RRType A
copyright © 萬盛學電腦網 all rights reserved