如何使从属设备的从属设备与其主设备同步

如何使从属设备的从属设备与其主设备同步

全部处理

我有 3 个 NS 安装。
即 NS0、NS1、NS2。

NS0 (192.168.1.123) 是 PowerDns。
其 (狙击) 配置:

disable-axfr=no
also-notify=192.168.8.78,192.168.8.79
allow-axfr-ips=127.0.0.0/8,::1,192.168.8.78,192.168.8.79
master=yes

NS1(192.168.8.78)是 BIND9。
它的配置是:

options {
          directory "/var/cache/bind";
          query-source address 192.168.8.78;
          notify-source 192.168.8.78;
          transfer-source 192.168.8.78;
          port 53;
          allow-new-zones yes;
          listen-on { 192.168.8.78; 127.0.0.1; };
          listen-on-v6 { none; };
          notify no;
          recursion no;
          allow-transfer { 192.168.8.79; };
          allow-notify {192.168.1.123;};
          also-notify {192.168.8.79;};
};

logging {
        channel default_file {
                file "/var/log/named/named.log" size 200m;
                severity info;
                print-time yes;
                print-severity yes;
                print-category yes;
        };
        category default{ default_file; };
};

zone "zonecatalog.jc" {
    type master;
    file "zonecatalog.jc.db";
    allow-transfer { 192.168.8.79; };
    allow-update { 127.0.0.1;};
    also-notify { 192.168.8.79; } ;
    notify explicit;
};


是的,它里面有一个目录区域。我使用 rndc 和 nsupdate 向此目录添加一些区域,
即:

rndc addzone domain0.bino {type slave; file "/var/cache/bind/domain0.bino.cache"; masters { 192.168.1.123 port 53; };};

这样,每次 PowerDNS 有区域记录更新时,这个 NS1 都会收到通知,并且 XFR 就完成。

我的 NS2 配置如下:


options {
    directory "/var/cache/bind";
    dnssec-validation auto;

    listen-on-v6 { none; };

        listen-on { 192.168.8.79; 127.0.0.1; };
    notify no;
        transfer-source 192.168.8.79;
    allow-notify { any;};
    allow-new-zones yes;

        recursion no;
        catalog-zones {
             zone "zonecatalog.jc" default-masters { 192.168.8.78 port 53; };
        };

};

logging {
        channel default_file {
                file "/var/log/named/named.log" size 200m;
                severity info;
                print-time yes;
                print-severity yes;
                print-category yes;
        };
        category default{ default_file; };
};



zone "zonecatalog.jc" {
          type slave;
          file "zonecatalog.jc.db";
          masters { 192.168.8.78 port 53; };
};


这样,每次在 NS1 上添加或删除区域时,该区域也会从 NS2 中添加/删除。

但是,当 NS0 上有一个区域更新记录时,该 NS2 只会收到 NS0 的通知。
而且...NS2 上的 SOA 比 NS1 晚了一步。

 bino@corobalap  ~/sshfs/fs01/zonesync  dig +short @192.168.8.78 domain0.bino soa
ns1.cpaneldev.mynetwork.net. emailserver.mynetwork.net. 2024032012 3600 1800 1209600 86400
 bino@corobalap  ~/sshfs/fs01/zonesync  dig +short @192.168.8.79 domain0.bino soa
ns1.cpaneldev.mynetwork.net. emailserver.mynetwork.net. 2024032011 3600 1800 1209600 86400

因此,请告诉我要检查/做什么才能使 NS2 始终与 NS1 同步。

相关内容