使用绑定视图时如何使用 dig 进行区域传输

使用绑定视图时如何使用 dig 进行区域传输

我有一个绑定集群,其中私有/公共记录存储在 (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";
    ...
  };
};

相关内容