ISC-DHCP 和 BIND 9 DNS:/27 子网的 DDNS 更新失败

ISC-DHCP 和 BIND 9 DNS:/27 子网的 DDNS 更新失败

我在使用 ISC-DHCP 服务器进行 DDNS 更新时遇到问题。

我的 /etc/dhcp/dhcpd.conf 子网部分不起作用:

subnet 193.198.186.192 netmask 255.255.255.224 {
  range 193.198.186.200 193.198.186.222; # MT 20211210
  option subnet-mask 255.255.255.224;
  option domain-name-servers 161.53.235.3, 161.53.2.70;
  option domain-name "slava.alu.hr";
  ddns-domainname "slava.alu.hr";
  zone slava.alu.hr. {
   primary 127.0.0.1;
   key DDNS_UPDATE;
  }
  zone 192-27.186.198.193.in-addr.arpa. {
   primary 127.0.0.1;
   key DDNS_UPDATE;
  }
  option broadcast-address 193.198.186.223;
  option routers 193.198.186.193;
  default-lease-time 43200;
  max-lease-time 86400;
}

我的 193.198.186.192/27 的网络委派实际上是 192/27.186.198.193.in-addr.arpa。但他们似乎不愿意改变它。

看这里:

root@domac:~# host -t any 193.198.186.195
195.186.198.193.in-addr.arpa is an alias for 195.192/27.186.198.193.in-addr.arpa.
195.192/27.186.198.193.in-addr.arpa domain name pointer test-record.slava.alu.hr.
root@domac:~#

这要求我的 /etc/bind/named.conf.local 条目:

zone "192/27.186.198.193.in-addr.arpa" in {
        type master;
        file "/var/cache/bind/192-27.186.198.193.in-addr.arpa.db";
        allow-update { key DDNS_UPDATE; };
};

但是,ISC DHCPd 认为区域名称中的“/”是语法错误。

有没有办法告诉 BIND 或 ISC DHCPd 在 /etc/bind/named.conf.local 和 /etc/dhcp/dhcpd.conf 区域声明中接受不同的名称?

当我将 dhcpd.conf 中的声明更改为:

  zone 186.198.193.in-addr.arpa. {
   primary 127.0.0.1;
   key DDNS_UPDATE;
  }

并将 /etc/bind/named.conf.local 条目添加到:

zone "186.198.193.in-addr.arpa" in {
        type master;
        file "/var/cache/bind/192-27.186.198.193.in-addr.arpa.db";
        allow-update { key DDNS_UPDATE; };
};

然后动态 DHCPd 更新起作用:

Dec 10 15:42:59 domac dhcpd[11512]: DHCPREQUEST for 193.198.186.211 from e8:48:b8:5b:8c:46 (LAPTOP-MTODOROV) via 193.198.186.193
Dec 10 15:42:59 domac dhcpd[11512]: DHCPACK on 193.198.186.211 to e8:48:b8:5b:8c:46 (LAPTOP-MTODOROV) via 193.198.186.193
Dec 10 15:42:59 domac dhcpd[11512]: Added new forward map from LAPTOP-MTODOROV.slava.alu.hr to 193.198.186.211
Dec 10 15:42:59 domac dhcpd[11512]: Added reverse map from 211.186.198.193.in-addr.arpa. to LAPTOP-MTODOROV.slava.alu.hr

我可以从我的 DNS 服务器的领域中看到它:

root@domac:~# host laptop-mtodorov.slava.alu.hr
LAPTOP-MTODOROV.slava.alu.hr has address 193.198.186.211
root@domac:~# host -t any 193.198.186.211
211.186.198.193.in-addr.arpa domain name pointer LAPTOP-MTODOROV.slava.alu.hr.
root@domac:~#

...但现在 DNS 委派已失效。我不可能将整个 186.198.193.in-addr.arpa. 区域用作我们域的子网,而且他们也不会批准中央 DNS 服务器上的动态更新。

我似乎无法同时拥有这两者,除非有办法指示 DHCP 或 BIND 将区域添加到 BIND 中与 DHCP 中名称不同的区域。

我似乎已经没有选择了。

如果您知道答案,非常感谢。

问候,马文

附言

我尝试了以下方法,但没有效果:

zone "192-27.186.198.193.in-addr.arpa" in {
        type master;
        file "/var/cache/bind/192-27.186.198.193.in-addr.arpa.db";
};

zone "186.198.193.in-addr.arpa" in {
        type master;
        file "/var/cache/bind/192-27.186.198.193.in-addr.arpa.db";
        allow-update { key DDNS_UPDATE; };
};

(两个区域具有相同的文件。)

我得到的是:

root@domac:/etc/bind# named-checkconf
/etc/bind/named.conf.local:49: writeable file '/var/cache/bind/192-27.186.198.193.in-addr.arpa.db': already in use: /etc/bind/named.conf.local:44
root@domac:/etc/bind#

不错的尝试 :-( 程序员足够聪明,可以阻止这种黑客攻击!

知道如何让两个区域引用同一个区域数据库吗?一个区域与分配的委派区域匹配,另一个区域186.198.193.in-addr.arpa与 ISC DHCP 仅知道如何更新的区域匹配。

  1. 我甚至尝试用192/27.186.198.193.in-addr.arpa引号括起来以避免语法错误,但我得到了这个:

    十二月 10 23:17:45 domac dhcpd[26555]: /etc/dhcp/dhcpd.conf 第 187 行: 需要主机名。 十二月 10 23:17:45 domac isc-dhcp-server[26545]: /etc/dhcp/dhcpd.conf 第 187 行: 需要主机名。 十二月 10 23:17:45 domac isc-dhcp-server[26545]: 区域“192/27.186.198.193.in-addr.arpa。”十二月 10 23:17:45 domac isc-dhcp-server[26545]: ^ 十二月 10 23:17:45 domac isc-dhcp-server[26545]: 遇到配置文件错误 -- 退出 十二月 10 23:17:45 domac isc-dhcp-server[26545]: 退出。 十二月 10 23:17:45 domac dhcpd[26555]: 区域“192/27.186.198.193.in-addr.arpa。”

所以,这也行不通。唯一的希望是找到一种方法,使用两个区域名称的同一个 DNS 区域数据库。我想这种情况并不罕见,应该有针对这种情况的规定吧?

马文

相关内容