PowerDNS 允许您使用 LUA 脚本过滤 AXFR 上的记录。
我正在尝试让它更改 NS 记录。
看来 PowerDNS 甚至没有尝试运行我的脚本。区域转移成功,但转移的区域没有变化。
我在 RHEL7 上从 EPEL 安装了 pdns 包(版本为 3.4.5)。我将其设置为混合模式,因为元数据表应该位于 sqlite 数据库。
/etc/pdns/pdns.conf
launch=bind
bind-config=/etc/pdns/bind/named.conf
bind-hybrid=yes
bind-dnssec-db=/etc/pdns/bind/metadata.db
slave=yes
/etc/pdns/bind/named.conf
options {
directory "/etc/pdns/bind";
};
zone "example.com" IN {
type slave;
masters { 192.0.2.20; };
file "example.com.zone";
};
SQLite 数据库是用 创建的pdnssec create-bind-db /etc/pdns/bind/metadata.db
。
它目前包含
sqlite> .schema
CREATE TABLE domainmetadata ( id INTEGER PRIMARY KEY, domain VARCHAR(255) COLLATE NOCASE, kind VARCHAR(32) COLLATE NOCASE, content TEXT);
CREATE INDEX domainmetanameindex on domainmetadata(domain);
CREATE TABLE cryptokeys ( id INTEGER PRIMARY KEY, domain VARCHAR(255) COLLATE NOCASE, flags INT NOT NULL, active BOOL, content TEXT);
CREATE INDEX domainnameindex on cryptokeys(domain);
CREATE TABLE tsigkeys ( id INTEGER PRIMARY KEY, name VARCHAR(255) COLLATE NOCASE, algorithm VARCHAR(50) COLLATE NOCASE, secret VARCHAR(255));
CREATE UNIQUE INDEX namealgoindex on tsigkeys(name, algorithm);
sqlite> SELECT * FROM domainmetadata;
1|example.com|LUA-AXFR-SCRIPT|/etc/pdns/lua/change-ns.lua
是否可以将 LUA 过滤器与 BIND 后端一起使用?