我已在Debian 9上成功安装了带有MySQL后端的PowerDNS(4.0.4-1 + deb9u4),并且系统正在正确解析主机。我试图将脚本添加到递归,并使用了示例Lua script examples。我已经在lua脚本中正确地指向了pdns-resolver的conf,并且看到我的日志语句可以正确打印,但是对于所有示例lua函数,关于DNSQuestion实例为空,我一直收到错误消息。
例如:
function preresolve(dq)
pdnslog("Got question for "..dq.qname:toString().." from "..dq.remoteaddr:toString().." to "..dq.localaddr:toString())
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实例都是空的。
是否有我可能会误解或遗漏的任何东西,会导致参数为零?
让函数返回true
或false
,因此默认情况下它不会返回nil
。