
我有兩台運行 BIND 的伺服器,第一台伺服器設定為兩個區域的主伺服器,第二台伺服器設定為這些區域的從伺服器。這些區域是 example.com 和 ddns.example.com。我正在運行 DDNS,並且在 ddns.example.com 中動態創建了數千個設備條目。我希望將 DDNS 與主 example.com 分開,因此我建立了一個單獨的區域來供 DHCP 伺服器更新。
考慮到這些區域託管在同一台伺服器上,是否可以進行從 example.com 到 ddns.example.com 的委派?例如,如果我的工作站的搜尋網域是 example.com 並指向其 DNS 提供者 10.1.10.1,我希望能夠解析 hostname.ddns。事實上,我可以解析hostname.ddns.example.com,但希望能夠只解析hostname.ddns。
或者,如果工作站的搜尋網域是 ddns.example.com,我需要更改哪些設定才能解析 web、ftp 等(它們都是父 example.com 區域中的主機)? ddns.example.com 區域是否需要轉送到 example.com 區域?同樣,所有區域都設定在同一台伺服器上,並將第二個伺服器設定為從屬伺服器。
命名.conf:
zone "example.com" IN {
type master;
file "example.com";
allow-update { none; };
}
zone "ddns.example.com" IN {
type master;
file "ddns.example.com";
allow-update { key dhcp-update; };
}
example.com 區域文件:
$ORIGIN .
$TTL 86400
example.com IN SOA ns1.example.com. hostmaster.example.com. (
serial, refresh, retry, etc.
)
NS ns1.example.com.
NS ns2.example.com.
$ORIGIN example.com.
ns1 A 10.1.10.1
ns2 A 10.1.10.2
web A 10.1.15.30
ftp A 10.1.15.31
host3 A 10.1.15.32
$ORIGIN ddns.example.com
NS ns1
NS ns2
ns1 A 10.1.10.1
ns2 A 10.1.10.2
答案1
看來你的問題與bind本身或DNS伺服器完全無關。不存在從子區域到父區域的「委託」或「轉發」之類的事情。您當然可以將 ftp 和 www 的 CNAME 添加到 ddns.example.com 區域,該區域將分別指向 ftp.example.com 和 www.example.com,我不確定這是否是您所要求的。
您實際需要做的就是在客戶端電腦上正確配置網域後綴搜尋清單。如果是 Windows,則在 TCP/IP 屬性中的某處列出 example.com 和 ddns.example.com。
答案2
從你的問題描述中,我看到兩個可能的解決方案:
只需在搜尋列表中列出這兩個網域即可。但是,這意味著「hostname.ddns.example.com」將從簡單的「hostname」解析,儘管顯然「hostname.example.com」可能優先,具體取決於搜尋清單中網域的順序。
設定您的網域伺服器,除了作為 example.com 的一部分提供服務之外,還可以像 TLD 一樣為 ddns 區域提供服務。使用同一個區域文件來實際服務多個區域是非常簡單的——只需確保僅在文件本身內使用相對名稱(如果您自動生成該文件而對進入或不進入的內容沒有太多控制,則可能會出現問題)。