首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ubuntu中安装Bind9后,反向DNS解决方案无法工作

在Ubuntu中安装Bind9后,反向DNS解决方案无法工作
EN

Unix & Linux用户
提问于 2020-08-30 19:37:46
回答 1查看 1.5K关注 0票数 -1

我在我的ubuntu服务器上安装了DNS服务器(bind9),我可以使用nslooup和dig从主机名到ip地址进行名称解析;但是,当我试图进行反向查找时,会出现一个错误

代码语言:javascript
复制
nslookup 192.168.137.5 
** server can't find 5.137.168.192.in-addr.arpa: NXDOMAIN

该ip地址是本地服务器的ip地址,也是安装了bind9的名称服务器。如果我做了转发查找工作很好

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
$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.1

reverse.example.com

代码语言:javascript
复制
$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.
EN

回答 1

Unix & Linux用户

发布于 2020-08-31 07:34:11

基于forward.example.com区域文件,reverse.example.com区域文件应该如下所示:

代码语言:javascript
复制
$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.

在反向区域中不应该有AAAAA记录,除非在分区委托中作为胶水记录。

原始的反向区域文件坚持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证书时可能会遇到问题。

所以你的前场区域应该是这样的:

代码语言:javascript
复制
$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.1
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/607098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档