我在我的ubuntu服务器上安装了DNS服务器(bind9),我可以使用nslooup和dig从主机名到ip地址进行名称解析;但是,当我试图进行反向查找时,会出现一个错误
nslookup 192.168.137.5
** server can't find 5.137.168.192.in-addr.arpa: NXDOMAIN该ip地址是本地服务器的ip地址,也是安装了bind9的名称服务器。如果我做了转发查找工作很好
nslookup example.com
Server: 192.168.137.5
Address: 192.168.137.5#53
Name: example.com
Address: 192.168.137.5
Name: example.com
Address: ::1以下是我的配置文件共计3个: named.config.local、forward.example.com、reverse.example.com named.conf.local
zone "example.com" IN {
type master;
file "/etc/bind/forward.example.com";
};
zone "137.168.192.in-addr.arpa" IN {
type master;
file "/etc/bind/reverse.example.com";
};forward.example.com
$TTL 604800
@ IN SOA example.com. root.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS home-server.example.com.
@ IN A 192.168.137.5
@ IN AAAA ::1
home-server IN A 192.168.137.5
wintop IN A 192.168.137.1reverse.example.com
$TTL 604800
@ IN SOA example.com. root.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS home-server.
@ IN PTR example.com.
@ IN AAAA ::1
home-server IN A 192.168.137.5
host IN A 192.168.137.5
wintop IN A 192.168.137.1
10 IN PTR home-server.example.com.
11 IN PTR wintop.example.com.发布于 2020-08-31 07:34:11
基于forward.example.com区域文件,reverse.example.com区域文件应该如下所示:
$TTL 604800
$ORIGIN 137.168.192.in-addr.arpa.
@ IN SOA example.com. root.example.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS example.com.
5 IN PTR example.com.
1 IN PTR wintop.example.com.在反向区域中不应该有A或AAAA记录,除非在分区委托中作为胶水记录。
原始的反向区域文件坚持IP地址192.168.137.10为home-server.example.com,192.168.137.11为wintop.example.com,这与您的前向区域不一致。
并且声称IPv6本地主机地址::1是愚蠢的。在相反的区域,它根本没有影响,在前进的区域,它是错误的。当客户端询问“home-server.example.com在哪里?”时,您的前向区域将得到服务器的答复:“对于IPv4,为192.168.137.5;对于IPv6,为:1”。然后客户会想:“嗯。我是IPv6 6--基本上像Windows以来所有的现代操作系统一样,所以这个名字只是用来指我的一种奇特的方式?太好了,我不需要通过任何外部网络连接才能到达它!我可以自己处理这个请求!”...And,除非这个请求实际上来自home-server.example.com,否则这可能不是你想要的。
请记住,DNS服务器只是将记录传递给客户端,根本没有任何解释;客户机才是真正使用这些信息的客户机。
您可能还必须考虑哪一个是192.168.137.5的规范名称:它是home-server.example.com还是example.com?您可能必须将其中一个名称作为另一个名称的别名( CNAME记录);否则,在成功验证两个名称的SSL/TLS证书时可能会遇到问题。
所以你的前场区域应该是这样的:
$TTL 604800
$ORIGIN example.com.
@ IN SOA example.com. root.example.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS example.com.
@ IN A 192.168.137.5
home-server IN CNAME example.com.
wintop IN A 192.168.137.1https://unix.stackexchange.com/questions/607098
复制相似问题