模擬企業總部 (北京) 與分公司 (上海) DNS 架構:總部為父域權威,授權子域給分公司獨立管理;分公司透過轉發器解析父域/其他外部域名。
| 節點 | 角色 | IP | 權威區域 |
|---|---|---|---|
| DNS1 (北京) | 父域 Master | 192.168.100.60 | abc.com |
| DNS2 (北京子域) | 子域 Master | 192.168.100.70 | bj.abc.com |
| DNS3 (上海子域) | 子域 Master | 192.168.100.80 | sh.abc.com |
# /var/named/chroot/etc/named.rfc1912.zones
zone "bj.abc.com" IN {
type master;
file "bj.abc.com.db";
allow-update { none; };
};
# cp -p abc.com.db bj.abc.com.db
# vim bj.abc.com.db
$TTL 86400
@ IN SOA ns.bj.abc.com. master.sina.com. (
43 ; Serial
1M ; Refresh
1M ; Retry
1W ; Expire
1D ) ; Minimum
IN NS ns.bj.abc.com.
ns IN A 192.168.100.60 ; 注意:此處指向 DNS1 自身
www IN A 2.2.2.2
編輯父域區域檔 abc.com.db,新增:
sh.abc.com. IN NS ns.sh.abc.com.
ns.sh.abc.com. IN A 192.168.100.80
關鍵:父域必須同時包含子域 NS 記錄與該 NS 的 A 記錄,否則會產生循環依賴 (查詢 NS 需先解析 NS)。
同樣為 Master,獨立管理 bj.abc.com,配置同 DNS1 步驟 2。
# /var/named/chroot/etc/named.conf
options {
listen-on port 53 { 192.168.100.80; 127.0.0.1; };
allow-query { any; };
recursion yes;
dnssec-enable no;
dnssec-validation no;
};
# /var/named/chroot/etc/named.rfc1912.zones
zone "sh.abc.com" IN {
type master;
file "sh.abc.com.db";
allow-update { none; };
};
# cp -p abc.com.db sh.abc.com.db
# vim sh.abc.com.db
$TTL 86400
@ IN SOA ns.sh.abc.com. master.sina.com. (
43 ; Serial
1M ; Refresh
1M ; Retry
1W ; Expire
1D ) ; Minimum
IN NS ns.sh.abc.com.
ns IN A 192.168.100.80
www IN A 3.3.3.3
原因:上海 DNS3 無父域/北京子域權威記錄,且未配置轉發,遞迴查詢根域無法找到內部私有域名。
# /var/named/chroot/etc/named.conf
options {
...
forwarders { 192.168.100.60; }; # 轉發至父域 DNS1
forward only; # 僅轉發,不嘗試迭代查詢
};
# /var/named/chroot/etc/named.rfc1912.zones
zone "abc.com" IN {
type forward;
forwarders { 192.168.100.60; };
};
zone "bj.abc.com" IN {
type forward;
forwarders { 192.168.100.60; };
};
優勢:僅指定內部域名轉發,外部公開域名 (如 google.com) 仍走正常根域迭代查詢,不經由 WAN 鏈路轉發,節省頻寬、降低延遲、避免單點故障。
上海客戶端現在可成功解析:
www.sh.abc.com → 本地權威返回 3.3.3.3www.bj.abc.com → 轉發至 DNS1 → 返回 2.2.2.2www.abc.com → 轉發至 DNS1 → 返回父域 www 記錄www.google.com → 正常根域迭代查詢 → 返回公網 IP| 層級 | 配置要點 | 關鍵記錄 | 轉發策略 |
|---|---|---|---|
| 父域 (Master) | 定義所有子域委派 | 子域 NS + Glue A 記錄 | 無需轉發 (根域迭代) |
| 子域 (Master) | 獨立管理區域資料 | SOA、NS、A、CNAME 等 | 條件轉發至父域 (解析兄弟域/父域) |
| 子域 (Slave) | 從父/主同步區域 | 同 Master,唯讀 | 同 Master |
YYYYMMDDNN,每次修改遞增allow-transfer 僅限指定從節點 IP,allow-query 限制內網網段rndc status、區域傳送延遲、序列號一致性、關鍵 SRV/NS 記錄存活