Ubuntu 20.04 上的反向 DNS 区域出现 NXDOMAIN 错误

问题描述 投票:0回答:1

美好的一天!我有 Ubuntu 20.04,我希望按照以下配置创建本地 DNS 服务器(在 Core 上):

我用的是bind9。我用视图制作了前方区域,看起来效果很好。然后我尝试创建反向区域,但失败了。我不明白有什么问题。我读了很多教程并观看了很多视频。配置文件的内容对我来说似乎没问题。请帮助我))))

named.conf.local的内容如下:

named.conf.options的内容如下:

反向区域文件内容如下:

顺便说一句,我尝试不使用 ORIGIN 结果是一样的。服务器根本看不到反向区域。我遇到 NXDOMAIN 错误。

/etc/resolv.conf 的内容如下:

dns bind ipv6 ubuntu-20.04 bind9
1个回答
0
投票

这些条目对于 IPv6 反向区域来说太短。现在您正在为

fd01:1
或类似的东西定义 rDNS,而不是为
fd01::1

即使您使用缩写形式的 IPv6 地址,反向区域也需要具有完整的地址 – 无法以 rDNS 格式表达 ::

,因此您需要将 
fd01::1
 扩展为 
fd01:0000:0000:0000:0000:0000:0000:0001
,写出每个半字节,然后
然后反转。

BIND 的

arpaname

 工具或 Python 的 ipaddress 可以显示您需要的完整反向名称:

$ arpaname fd01::1 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.d.f.ip6.arpa
因为您的区域以 

1.0.d.f.ip6.arpa

 作为其原点,这意味着您需要 PTR 来:

1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 PTR core.adm.lab. 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 PTR srv-l.adm.lab.
是的,这很快就会变得烦人。


我曾经使用这个脚本来使 rDNS 区域生成更方便一点:

#!/usr/bin/env python3 # mkreverse -- Transform shorthand like "[2001:db8::1] PTR foo.bar." # into valid rDNS zone file entries. # # $ mkreverse < rdns.zone.in > rdns.zone import ipaddress import sys import time print("; generated at", time.strftime("%F %T")) for line in sys.stdin: if line.startswith("["): parv = line.strip().split() addr = ipaddress.ip_address(parv[0][1:-1]) print("%s." % addr.reverse_pointer, *parv[1:]) elif line.startswith("; ["): parv = line.strip().split() addr = ipaddress.ip_address(parv[1][1:-1]) print("%s." % addr.reverse_pointer, "PTR", *parv[2:]) else: line = line.replace("<serial>", time.strftime("%s")) print(line, end="") print("; end")
    
© www.soinside.com 2019 - 2024. All rights reserved.