我有以下设置:我在 ubuntu 服务器上安装了 5 个 bind9 服务器,一个主服务器,另外 4 个从服务器。问题是,当我突然更新一个区域并运行 rndc reload 时,只有 2 个从属服务器会收到通知,而另外 2 个工作正常。当我试图解决这个问题时,我使用 tcpdump 检查来自主机的数据包是否到达从机,并注意到主机只向正在工作的 2 个从机发送通知,我无法解释为什么会发生这种情况。服务器的配置文件如下所示:
/etc/bind/named.conf
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
include "/etc/bind/named.conf.log";
include "/etc/bind/named.acl";
/etc/bind/named.acl
acl slaves {<slave-ip-1>; <slave-ip-2>; <slave-ip-3>; <slave-ip-4>; };
/etc/bind/named.conf.local
zone "<zone>" IN {
type master;
file "/var/lib/bind/named.<zone>";
masterfile-format text;
};
/etc/bind/named.conf.options
options {
directory "/var/cache/bind";
dnssec-validation auto;
allow-transfer { slaves; };
}
/etc/bind/named.conf.log
logging {
channel "query" {
file "/var/log/bind/query.log" versions 4 size 4m;
print-time YES;
print-severity YES;
print-category YES;
};
channel "general" {
file "/var/log/bind/general.log" versions 4 size 4m;
print-time YES;
print-severity YES;
severity info;
};
category default {
"query";
};
category general {
"general";
};
};
从站的配置文件如下所示:
/etc/bind/named.conf.local
zone "<zone>" IN {
type slave;
file "/var/lib/bind/named.<zone>";
masterfile-format text;
masters {<ip of the master>; };
};
/etc/bind/named.conf.options
options {
directory "/var/cache/bind";
allow-uery { any; };
}
如果有人能帮我解决这个问题,我会永远优雅。