客戶端解析行為由 /etc/resolv.conf 控制,核心指令:
| 指令 | 功能 | 範例 |
|---|---|---|
domain | 指定本地域名,單標籤主機名將自動附加此域名 | domain example.com |
search | 定義搜尋域名列表 (最多 6 個),按順序嘗試補全主機名 | search example.com sub.example.com |
nameserver | 指定 DNS 伺服器 IP (非主機名);最多 3 個,按順序優先級遞減 | nameserver 192.168.1.1 |
最佳實踐:至少配置兩台 DNS 伺服器 (主 + 備);優先使用內網 DNS 解析內部資源,外部解析轉發至上游。
| 類型 | 角色定位 | 資料來源 | 更新機制 | 典型用途 |
|---|---|---|---|---|
| 主 DNS (Primary/Master) | 區域權威來源,唯一可寫入 | 本地區域檔 | 管理員手動修改區域檔 | 企業內網主域、公網權威 DNS |
| 從 DNS (Secondary/Slave) | 分擔查詢負載,提供高可用 | 從主 DNS 區域傳輸 (AXFR/IXFR) | 自動定期同步 (由 SOA Refresh 控制) | 備用解析、異地災備、負載分流 |
| 快取 DNS (Caching/Recursive) | 遞迴查詢並快取結果,提升響應速度 | 根域 → 頂級域 → 權威域 遞迴查詢 | 依據各記錄 TTL 自動過期 | 客戶端直連、ISP 區域解析、企業出口 |
類比:主/從 DNS 關係類似 Windows NT 域的 PDC/BDC;快取 DNS 類比瀏覽器快取,減少重複查詢開銷。
BIND 8 核心服務進程,啟動時讀取 /etc/named.boot (BIND 9 為 named.conf),載入所有區域配置。
; 註解行以分號開頭
directory /var/named ; 區域檔基礎路徑,可重複指定多個目錄
cache . named.ca ; 根域提示檔 (必須),含 13 組根伺服器 IP,可從 ftp://rs.internic.net/domain/named.ca 獲取
primary example.com example.com.zone ; 本機為 example.com 主 DNS,區域檔為 example.com.zone
secondary example.net 192.168.1.1 example.net.bak ; 本機為 example.net 從 DNS,主 DNS 為 192.168.1.1,備份檔 example.net.bak
forwarders 202.96.128.68 202.96.134.133 ; 轉發器:本機無法解析時轉發至指定 DNS (如 ISP DNS)
slave ; 從模式:所有查詢強制轉發至 forwarders,不做遞迴查詢
named -c /etc/named.boot -t /chroot/path -u named -g 前台運行觀察錯誤輸出named-checkzone example.com /var/named/example.com.zonedig @localhost example.com SOA、nslookup www.example.com 127.0.0.1logging 通道 (BIND 8 需修改原始碼或使用 syslog),關注 lame server、zone transfer failed 等關鍵字