我有 VPS Ubuntu 15.04,并且在那里为我的一个外部域配置了 DNS。
这是'/etc/bind/named.conf.local'配置的示例:
zone "test.com" {
type master;
file "/etc/bind/zones/test.com.db";
};
并在 '/etc/bind/zones/test.com.db' 内
$TTL 600
test.com. IN SOA ns1.test.com. admin.test.com. (
2006081401
28800
3600
604800
38400
)
test.com. IN NS ns1.test.com.
test.com. IN NS ns2.test.com.
test.com. IN MX 10 mta.test.com.
test.com. IN A 111.111.111.111
* IN A 111.111.111.111
ns1.test.com. IN A 111.111.111.111
ns2.test.com. IN A 111.111.111.111
www IN A 111.111.111.111
mta
现在,如果我想使用另一个域示例“test.info”,我需要做什么?
也许创建新的区域和区域文件如下?:
zone "test.info" {
type master;
file "/etc/bind/zones/test.info.db";
};
和zones/test.info.db类似??
$TTL 600
test.info. IN SOA ns1.test.info. admin.test.info. (
2006081401
28800
3600
604800
38400
)
test.info. IN NS ns1.test.info.
test.info. IN NS ns2.test.info.
test.info. IN MX 10 mta.test.info.
test.info. IN A 111.111.111.111
* IN A 111.111.111.111
ns1.test.info. IN A 111.111.111.111
ns2.test.info. IN A 111.111.111.111
www IN A 111.111.111.111
mta
或者我只需要创建新的区域记录,例如:
zone "test.info" {
type master;
file "/etc/bind/zones/test.com.db";
};
并将其指向第一个域“test.com.db”文件?
答案1
通常,每个区域都会有一个单独的文件,但如果您特意想确保在多个区域中拥有完全相同的记录集,那么在某些条件下,可以从同一个文件支持多个区域。
- 区域文件只能以只读方式访问
named
(无动态更新区域、无从属区域等)。 - 区域文件必须仅包含具有相对所有者名称的记录(例如,
@
overexample.com.
、foo
overfoo.example.com.
等)。 - 这些区域确实具有完全相同(区域相关)的记录集。
简而言之,如果你想让事情简单化,只需做正常的事情并创建单独的文件即可。这样你就不用担心任何特殊的限制了。
答案2
在 named.conf.local 中,每个主机名一行
zone "test.com" { type master; file "/etc/bind/zones/test.com.db"; };
zone "test.info" { type master; file "/etc/bind/zones/test.info.db"; };
然后,为每个新主机名(域)创建一个 .db 文件,其中包含该特定主机名的所有 DNS 记录。