绑定,强制在从属设备上更新区域

Abc*_*Xyz 9 bind

我有两个测试服务器主从:

主人正在更新奴隶,但速度很慢。如何加快速度。

大师 (192.168.0.122) /etc/named.conf

zone "domain.com." {
    type master;
    file "caching-example/domain.com.db";
    //allow-update { key rndc-key;};
    notify yes;
    also-notify    { 192.168.0.66; };
    allow-transfer { 192.168.0.66; };
};
Run Code Online (Sandbox Code Playgroud)

从 (192.168.0.66) /etc/named.conf

zone "domain.com" {
    type slave;
    file "caching-example/domain.com.db";
    //allow-update { key rndc-key; };
    //allow-transfer { none; };
    allow-notify { 192.168.0.122; };
    masters      { 192.168.0.122; };
}
Run Code Online (Sandbox Code Playgroud)

主 /var/named/caching-example/domain.com.db 区域

$TTL    3600
$ORIGIN domain.com.
@       IN      SOA     darkstar.example.net.    root.example.net. (
                 2012033101         ; Serial
                       3600         ; Refresh
                       1800         ; Retry
                     604800         ; Expire
                      43200 )       ; Negative Cache TTL

    IN      NS      darkstar.example.net.

@       IN      A       162.144.18.114
www     IN      A       162.144.18.114
Run Code Online (Sandbox Code Playgroud)

现在,当我手动更改 master /var/named/caching-example/domain.com.db zone

$TTL    3600
$ORIGIN domain.com.
@       IN      SOA     darkstar.example.net.    root.example.net. (
                 2012033102         ; Serial
                       3600         ; Refresh
                       1800         ; Retry
                     604800         ; Expire
                      43200 )       ; Negative Cache TTL

    IN      NS      darkstar.example.net.

@       IN      A       8.8.8.8
www     IN      A       8.8.8.8
Run Code Online (Sandbox Code Playgroud)

什么也没有发生 主机在 8.8.8.8 有 domain.com,从机在 162.144.18.114 有 domain.com。

dig @192.168.0.122 domain.com

domain.com.     3600    IN  A   8.8.8.8
Run Code Online (Sandbox Code Playgroud)

dig @192.168.0.66 domain.com

domain.com.     3600    IN  A   162.144.18.114
Run Code Online (Sandbox Code Playgroud)

在奴隶上试图使用 rndc 但没有成功 rndc refresh domain.com

zone refresh queued
Run Code Online (Sandbox Code Playgroud)

Master 正在更新一个 slave 但速度很慢,有什么办法可以加快速度吗?我发现负缓存 TTL 对更新时间负责,但绑定需要重新加载配置。可以自动更新吗?

是否可以从/在从属设备上强制更新区域?

** 编辑 **

Feb 16 01:00:21 darkstar named[1460]: client @0x7fec000bfea0 192.168.0.122#49018: received notify for zone 'domain.com'
Feb 16 01:00:21 darkstar named[1460]: zone domain.com/IN: notify from 192.168.0.122#49018: serial 2012033102
Feb 16 01:00:21 darkstar named[1460]: zone domain.com/IN: Transfer started.
Feb 16 01:00:21 darkstar named[1460]: transfer of 'domain.com/IN' from 192.168.0.122#53: connected using 192.168.0.66#51117
Feb 16 01:00:21 darkstar named[1460]: zone domain.com/IN: transferred serial 2012033102
Feb 16 01:00:21 darkstar named[1460]: transfer of 'domain.com/IN' from 192.168.0.122#53: Transfer status: success
Feb 16 01:00:21 darkstar named[1460]: transfer of 'domain.com/IN' from 192.168.0.122#53: Transfer completed: 1 messages, 5 records, 176 bytes, 0.003 secs (58666 bytes/sec)
Run Code Online (Sandbox Code Playgroud)

小智 13

迟回复您未回答的问题:

是否可以从/在从属设备上强制更新区域?

我只是想加速/强制传输并在我的奴隶上为每个过时的域使用它:

rndc retransfer domain.com
Run Code Online (Sandbox Code Playgroud)

  • 这应该是 Bind9 v9.11.0 或更高版本的答案。 (4认同)

Esa*_*nen 12

您的设置正在做它应该做的事情:

  1. 您修改区域文件,包括更新SOA序列号。
  2. 你跑rndc reload在主人身上。
  3. 主机发送通知/通知区域更改。
  4. 从设备请求区域传输。

BIND 不会监视文件更改,即它不会自动执行此操作是正常的。rndc reload每次修改后都必须在 master 上运行。从站不能强制主站重新加载配置/区域。

  • 这将使用主站的 NOTIFY 触发从站上的重新加载。然而,有时您想要一个未发布的从站(即没有 NS 记录),在这种情况下,这不起作用,因为主站不发送通知。OP 应该 (a) 为其辅助设备添加 NS 记录,以便接收通知,或者 (b) 在从设备上使用“rndc 重新传输”,如下面的答案所示 (2认同)