无法通过辅助名称服务器对委派区域执行正向解析

无法通过辅助名称服务器对委派区域执行正向解析

我的组织的域名是示例.com。该组织的名称服务器名为ns1.example.comns2.example.com

我是子域名的管理员project.example.com. 我们的 IP 地址空间是10.0.0.0/22(10.0.0.0 - 10.0.3.255)

我有一个主名称服务器和一个辅助名称服务器(ns1.project.example.com (10.0.0.2)ns2.project.example.com (10.0.1.2), 分别)。

这些名称服务器是 Debian 9.5 下运行的 Bind 9.10.3。

我已经配置了这些区域(对于这些区域,我拥有权威或者委托了权威):

  • project.example.com
  • 0.0.10.in-addr.arpa
  • 1.0.10.in-addr.arpa
  • 2.0.10.in-addr.arpa
  • 3.0.10.in-addr.arpa

我所在组织的域名服务器在project.example.com命名空间到我的名称服务器。

对于我没有权限、没有委托、没有转发、没有缓存的名称的查询,我使用“仅转发”模式将查询转发到ns1.example.com/ns2.example.com

我已将命名空间的一部分拆分为子域子项目.example.com。此子域的 IP 地址空间为10.0.3.0/24

只有一个名称服务器子项目.example.com. 其主机名是ns1.sub.project.example.com (10.0.3.2)

该名称服务器是 CentOS 7.3 下运行的 Bind 9.9.4。

对于正向查找子项目.example.com,我委托给ns1.sub.project.example.com (10.0.3.2)。我确实有所需的胶水记录。

对于反向查找3.0.10.in-addr.arpa,我转发(而不是委托)给ns1.sub.project.example.com (10.0.3.2)我不能委托他人,因为我无法控制0.10.in-addr.arpa

问题

有一种特殊情况会导致无法正常工作。这种情况发生在我关闭主名称服务器以测试次要的名称服务器。

假设我在 Windows 台式机上打开命令提示符,它是my-host.example.com我无法查询主机-1.sub.project.example.com。请求超时。

当我在辅助名称服务器上运行 tcpdump 时ns2.project.example.com (10.0.1.2),我看到查询来自ns1.example.com。然而,与其将其委托给ns1.sub.project.example.com,它将其转发回ns1.example.com

重新表述本节的开头段落,如果我的基本的名称服务器ns1.project.example.com (10.0.0.2)正在运行。如果主名称服务器已关闭,并且辅助名称服务器ns2.project.example.com (10.0.1.2)受到质疑,这就是失败的案例。

我在下面附上了我的配置文件。

我该如何解决这个问题?

区域配置(NS 记录)

; project.example.com

@   NS   ns1
@   NS   ns2

sub   NS   ns1.sub

; Forward 3.0.10.in-addr.arpa rather than delegate it
; We can't delegate since we don't own 0.10.in-addr.arpa.
; That's why the line below is commented out.
; 203.240.10.in-addr.arpa.   NS   centos-s1.ipa

; Glue record
ns1.sub   A   10.0.3.2

project.example.com 主名称服务器配置

controls {};

acl "internal-hosts" { 10.0.0/22; 127/8; };
acl "external-hosts" { 10/8; 192.168/16; 172.16/12; };

view "internal-view" {
   match-clients { "internal-hosts"; };

   zone "project.example.com" {
      type master;
      file "db.project.example.com_internalView";
      forwarders { };
   };

   zone "0.0.10.in-addr.arpa" {
      type master;
      file "db.10.0.0";
      forwarders { };
   };

   zone "1.0.10.in-addr.arpa" {
      type master;
      file "db.10.0.1";
      forwarders { };
   };

   zone "2.0.10.in-addr.arpa" {
      type master;
      file "db.10.0.2";
      forwarders { };
   };

   zone "3.0.10.in-addr.arpa" {
      type forward;
      forwarders { 10.0.3.2; };
   };

   // Internal-only zone
   zone "31.172.in-addr.arpa" {
      type master;
      file "db.172.31";
      forwarders { };
   };
};

view "external-view" {
   match-clients { "external-hosts"; };

   zone "project.example.com" {
      type master;
      file "db.project.example.com_externalView";
      forwarders { };
   };

   zone "0.0.10.in-addr.arpa" {
      type master;
      file "db.10.0.0";
      forwarders { };
   };

   zone "1.0.10.in-addr.arpa" {
      type master;
      file "db.10.0.1";
      forwarders { };
   };

   zone "2.0.10.in-addr.arpa" {
      type master;
      file "db.10.0.2";
      forwarders { };
   };

   zone "3.0.10.in-addr.arpa" {
      type forward;
      forwarders { 10.0.3.2; };
   };
};

project.example.com 辅助名称服务器配置

controls {};

acl "internal-hosts" { 10.0.0/22; 127/8; };
acl "external-hosts" { 10/8; 192.168/16; 172.16/12; };

masters "my-master" { 10.0.0.2; };

view "internal-view" {
   match-clients { "internal-hosts"; };

   zone "project.example.com" {
      type slave;
      file "bak.project.example.com_internalView";
      masters { my-master; };
      forwarders { };
   };

   zone "0.0.10.in-addr.arpa" {
      type slave;
      file "bak.10.0.0";
      masters { my-master; };
      forwarders { };
   };

   zone "1.0.10.in-addr.arpa" {
      type slave;
      file "bak.10.0.1";
      masters { my-master; };
      forwarders { };
   };

   zone "2.0.10.in-addr.arpa" {
      type slave;
      file "bak.10.0.2";
      masters { my-master; };
      forwarders { };
   };

   zone "3.0.10.in-addr.arpa" {
      type forward;
      forwarders { 10.0.3.2; };
   };

   // Internal-only zone
   zone "31.172.in-addr.arpa" {
      type slave;
      file "bak.172.31";
      masters { my-master; };
      forwarders { };
   };
};

view "external-view" {
   match-clients { "external-hosts"; };

   zone "project.example.com" {
      in-view "internal-view";
   };

   zone "0.0.10.in-addr.arpa" {
      in-view "internal-view";
   };

   zone "1.0.10.in-addr.arpa" {
      in-view "internal-view";
   };

   zone "2.0.10.in-addr.arpa" {
      in-view "internal-view";
   };

   zone "3.0.10.in-addr.arpa" {
      // in-view "internal-view";
      type forward;
      forwarders { 10.0.3.2; };
   };
};

相关内容