我必须管理两个域名:compagny.com copagny.bigcompagny.com
我在 Debian Lenny 上使用 Bind9。
我想对两个域使用一个区域文件。
- 如果我请求 server.compagny.com,它将给我地址 10.0.0.1
- 如果我请求 server.compagny.bigcompagny.com,它会给我相同的地址 10.0.0.1
我不想为我的 DNS 服务器创建两倍相同的文件:维护起来太难了。
我怎样才能做到这一点 ?
谢谢
答案1
只需在您的文件中列出同一个文件两次即可named.conf
:
zone "example.com" IN {
type master;
file "example.com";
};
zone "subsidiary.example.com" IN {
type master;
file "example.com";
};
但是,你必须巧妙地处理区域文件的内容:
- 不要包含
$ORIGIN
声明 - 它是配置文件中隐含的 - 使用 '
@
' 来指代隐含的$ORIGIN
- 适当地使用相对域名(不是 FQDN)。
- 当返回哪个域名确实很重要时,请使用 FQDN
答案2
通过在 named.conf 中为每个域指定相同的区域文件,可以为多个域设置一个区域。但是,您给出的示例不是域,而是主机。我认为唯一可以轻松做到这一点的方法是使用通配符。任何其他方法都比简单地拥有单独的区域文件更难维护。