我有一个绑定集群,其中私有/公共记录存储在 (2) 个视图中,并配置了 TSIG。标准从属操作有效,但我想使用 dig 传输区域以进行故障排除/测试。
通常我会使用,dig example.com @ns1.example.com -y tsig-key:SECRETCODE
但是这被拒绝,因为密钥仅分配给公共视图。
重现:尝试在内部视图中从客户端进行 dig axfr。
传输失败:
dig AXFR example.com -y external:xxxxxxxx
转移成功
dig AXFR example.com -y internal:xxxxxxxx
答案1
只需为内部视图设置一个附加键并配置绑定以允许该键充当特定视图的选择器:
key "external" {
algorithm hmac-md5;
secret "xxxxxxxx";
};
key "internal" {
algorithm hmac-md5;
secret "yyyyyyyy";
};
view "internal" {
match-clients { key internal; 10.0.1/24; };
server 10.0.1.1 {
/* Deliver notify messages to external view. */
keys { external; };
};
zone "example.com" {
type master;
file "internal/example.db";
...
};
};
view "external" {
match-clients { key external; any; };
zone "example.com" {
type master;
file "external/example.db";
...
};
};