我已经在 Debian 9 上成功设置了一个 PowerDNS (4.0.4-1+deb9u4) 和一个 MySQL 后端,并且系统正在正确解析主机。我正在尝试将脚本添加到递归器并使用示例Lua script examples。我已将 pdns-resolver 的 conf 正确指向了我的 lua 脚本,并且我看到我的日志语句打印正确,但我一直收到一个错误,关于所有示例 lua 函数的DNSQuestion实例为空。
例如:
function preresolve(dq)
pdnslog("Got question for "..dq.qname:toString().." from "..dq.remoteaddr:toString().." to "..dq.localaddr:toString())
return true;
end
结果:(
STL error (a.root-servers.net/A from 127.0.0.1): Trying to cast a lua variable from "nil" to "b"
意味着 DNSQuestion 实例为空)。
显然 lua 脚本正在运行,但由于某种原因,所有 dq 实例都是空的。
有什么我可能误解或遗漏的东西会导致参数为零吗?