命名配置文件
zone "evi.local" {
type master;
file "/etc/bind/evi.local.db";
};
zone "10.168.192.in-addr.arpa" {
type master;
file "/etc/bind/rev.10.168.192.in-addr.arpa";
};
vi evi.local.db
$TTL 604800
evi.local. IN SOA ns1.evi.local. root.evi.local. (
20180524 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
evi.local. IN NS ns1.evi.local.
ns1 IN A 192.168.10.10
www IN A 192.168.10.10
@ IN AAAA ::1
vi rev.10.168.192.in-addr.arpa
$TTL 604800
evi.local. IN SOA ns1.evi.local. root.evi.local. (
20180524 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
evi.local. IN NS ns1.evi.local.
10 IN PTR ns1.evi.local.
命名检查区域 evi.local evi.local.db
zone evi.local/IN: loaded serial 20180524
OK
命名检查区 rev.10.168.192.in-addr.arpa rev.10.168.192.in-addr.arpa
rev.10.168.192.in-addr.arpa:5: ignoring out-of-zone data (evi.local)
rev.10.168.192.in-addr.arpa:12: ignoring out-of-zone data (evi.local)
zone rev.10.168.192.in-addr.arpa/IN: has 0 SOA records
zone rev.10.168.192.in-addr.arpa/IN: has no NS records
zone rev.10.168.192.in-addr.arpa/IN: not loaded due to errors
我遗漏了什么?为什么 rev 文件中有错误?谢谢你的帮助,我需要这个用于考试...请帮忙
vi evi.local.db
$TTL 604800
@ IN SOA ns1.evi.local. root.evi.local. (
2018052401 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
evi.local. IN NS ns1.evi.local.
ns1 IN A 192.168.10.10
www IN A 192.168.10.10
vi rev.10 文件
$TTL 604800
@ IN SOA ns1.evi.local. root.evi.local. (
2018052401 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
IN NS ns1.evi.local.
10 IN PTR ns1.evi.local.
像这样 ?
答案1
您遇到了两个问题,这两个问题最终结合起来形成了第三个问题,进而导致了您所遇到的错误:
- 反向区域中的 SOA 记录设置不正确,并且
- 反向 DNS 区域不允许使用 A、AAAA 等记录,这意味着
- 您的整个反向 DNS 区域文件都是错误的,这就是
bind9
抱怨的原因。
rev.10.168.192.in-addr.arpa
192.168.10.0/24
处理区域名称为 的反向记录10.168.192.in-addr.arpa
。如果我将地址 192.168.10.15 分配给foo.bar
,将地址 192.168.10.16 分配给baz.foo.bar
,并且我希望反向查找能够反映这一点,则区域文件中的记录必须如下所示:
$TTL 604800
10.168.192.in-addr.arpa. IN SOA ns1.foo.bar. root.foo.bar. (
20180524 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
15 IN PTR foo.bar
16 IN PTR baz.foo.bar
请注意,反向区域采用数字 IP 查找,并具有用于 rDNS(反向 DNS)查找 IP 地址的 PTR 记录以获取其主机名。
与反向区域中的 *.foo.bar 地址相对应的等效正向查找区域foo.bar
如下:
$TTL 604800
foo.bar. IN SOA ns1.foo.bar. root.foo.bar. (
20180524 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN A 192.168.10.15
baz IN A 192.168.10.16
并且在您的网络中,如果由 提供服务的唯一“域”区域192.168.10.0/24
是*.foo.bar
,那么您将在 rDNS 中拥有与正向查找区域中的 A 记录直接对应的记录。
从你的评论来看,你不知道 BIND 如何工作,因此无法配置区域。除了建议您不是参加你正在参加的考试,你的区域文件需要以下是我输入的逐字逐句内容.请注意,我和其他人讨厌直接给用户提供这类问题的答案。所以请按照我所写的那样研究下面这些区域,否则你会绝不能够正确配置bind9
。 您还应该了解 BIND9 的实际工作原理真正了解这些区域在做什么。
对于evi.local.db
文件,使用正是这个:
$TTL 604800
$ORIGIN evi.local.
@ IN SOA ns1.evi.local. root.evi.local. (
2018052401 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS ns1.evi.local.
ns1 IN A 192.168.10.10
www IN A 192.168.10.10
对于rev.10.168.192.in-addr.arpa
文件,使用正是这个:
$TTL 604800
$ORIGIN 10.168.192.in-addr.arpa.
# IN SOA ns1.evi.local. root.evi.local. (
2018052401 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
IN NS ns1.evi.local.
10 IN PTR ns1.evi.local.
这些区域应该可以正常工作,并解决您所看到的问题。 我强烈建议你研究它们。 然而,在您的考试中,他们可能会$ORIGIN
用空字符替换这些线,然后@ IN SOA ...
您需要@
用实际的区域名称(在这些示例中设置为$ORIGIN
)替换符号。