在同一台服务器上使用 DDNS 和第二个从属服务器进行 DNS 委派

在同一台服务器上使用 DDNS 和第二个从属服务器进行 DNS 委派

我有两台运行 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

根据您问题的描述,我看到两种可能的解决方案:

  1. 只需在搜索列表中列出两个域名即可。然而,这意味着“hostname.ddns.example.com”将仅从“hostname”解析,尽管显然“hostname.example.com”可能优先,具体取决于搜索列表中域名的顺序。

  2. 配置您的名称服务器,使其除了作为 example.com 的一部分提供服务外,还像 TLD 一样为 ddns 区域提供服务。使用同一个区域文件来实际服务多个区域非常简单 — 只需确保在文件本身内仅使用相对名称(如果您自动生成文件,而无法控制输入或不输入的内容,则可能会出现问题)。

相关内容