企業常面臨「單一公網 IP、多個內部 Web 站點、需對外發布不同域名」的架構挑戰。Windows DNS 伺服器提供兩種核心策略:逐一綁定 (A 記錄手工建立) 與 泛域名 (*.domain.com)。本文以 Windows Server 2003 DNS 為操作藍圖,詳細實作步驟、適用場景比較與 IIS 主機標頭配置整合。
場景假設
- 公網 IP:
61.155.52.180
- 主域名:
aaaa.com
- 子站點:
www.aaaa.com、bbbb.aaaa.com、cccc.aaaa.com、dddd.aaaa.com...
- IIS 版本:IIS 6.0 (Windows Server 2003)
方法一:逐一綁定法 — 精確控制、適用少量異構域名
DNS 端操作
- 開啟
dnsmgmt.msc → 右鍵伺服器名稱 → 新增區域 → 主要區域 → aaaa.com。
- 右鍵
aaaa.com → 新增主機 (A 記錄):
• 名稱:www → IP:61.155.52.180
• 名稱:(留空) → IP:61.155.52.180 (對應 aaaa.com 裸域名)
• 名稱:bbbb → IP:61.155.52.180
• 名稱:cccc → IP:61.155.52.180 ...
- 命令列驗證:
ping www.aaaa.com、ping bbbb.aaaa.com 全部解析至目標 IP。
IIS 端主機標頭配置
- IIS 管理員 → 右鍵「網站」 → 新增 → 網站。
- 網站描述:
www 主站;IP 位址:全部未指派;連接埠:80;主機標頭:www.aaaa.com。
- 主目錄指向對應實體路徑(如
D:\WebRoot\www),權限給「讀取」+「執行腳本」(ASP/ASP.NET)。
- 同法建立
bbbb.aaaa.com 站點,主機標頭填 bbbb.aaaa.com,主目錄指向 D:\WebRoot\bbbb。
優缺點
| 優點 | 缺點 |
| 每個域名解析可獨立指向不同 IP (未來擴充彈性) | 域名數量大時管理負擔重,易遺漏/錯漏 |
| 可針對特定子域名設定不同 TTL/權重/GeoDNS | 不支援動態新增子域名 (需腳本自動化) |
| 安全審計清晰,符合合規要求 | 泛域名無法實現「排除特定子域名」邏輯 |
方法二:泛域名法 — 批量解析、適用大量同構子域名
DNS 端操作 (GUI)
dnsmgmt.msc → 右鍵 aaaa.com → 新增主機。
- 名稱:
* (星號) → IP:61.155.52.180 → 新增主機。
- 驗證:
ping xxx.aaaa.com、ping yyy.aaaa.com 任意子域名皆解析成功。
DNS 端操作 (區域檔直改 — 更快)
- 開啟
%SystemRoot%\system32\dns\aaaa.com.dns (記事本)。
- 檔案末尾新增:
* IN A 61.155.52.180
- 儲存 → 右鍵區域 → 重新載入 或重啟 DNS 服務。
IIS 端配置 (關鍵:每個站點必須設定對應主機標頭)
泛域名僅解決「解析到 IP」,IIS 仍需靠 Host Header 分發請求:
- 站點 A:主機標頭
bbbb.aaaa.com
- 站點 B:主機標頭
cccc.aaaa.com
- ...以此類推
重要: 若 IIS 站點未設定主機標頭 (留空),所有請求將落入「預設網站」,導致域名分發失效。
優缺點
| 優點 | 缺點 |
| 一次設定,無限子域名自動生效 | 所有子域名強制指向同一 IP,無法單獨遷移 |
| 支援動態子域名 (SaaS 多租戶、用戶個性化域名) | 無法針對特定子域名設定不同解析記錄 (MX/TXT/CAA 等) |
| 區域檔極簡潔,維護成本極低 | 安全風險:惡意註冊 evil.aaaa.com 同樣生效,需應用層攔截 |
決策矩陣:如何選擇?
| 條件 | 推薦策略 |
| 子域名 < 20,且未來極少新增 | 逐一綁定法 |
| 子域名 > 50,或頻繁動態新增 (SaaS/用戶域名) | 泛域名法 |
| 部分子域名需指向不同 IP / 雲端服務 | 逐一綁定法 (或混合:泛域名 + 個別 A 記錄覆蓋) |
| 需對特定子域名簽發獨立 SSL 憑證 (非通配符) | 逐一綁定法 (方便驗證域名擁有權) |
| 合規要求完整 DNS 審計追蹤 | 逐一綁定法 |
進階整合:DNS 區域轉移與 DDNS 自動化
- 主/從 DNS 區域轉移:確保解析高可用。
- DHCP/DDNS 整合:客戶端自動註冊 A/PTR 記錄。
- PowerShell 自動化逐一綁定:
Add-DnsServerResourceRecordA -ZoneName aaaa.com -Name "newhost" -IPv4Address "61.155.52.180"
現代雲原生架構多採用 ExternalDNS + Ingress Controller 自動同步 Kubernetes Service/Ingress 域名至雲端 DNS (Route53/CloudDNS/Azure DNS),傳統 Windows DNS 逐一綁定/泛域名仍適用於混合雲、舊版應用、無 Kubernetes 環境的場景。