我在使 PowerDNS ifportup lua 记录工作时遇到问题。我是 PowerDNS 新手,对 DNS 比较了解。如果有人能指出我哪里出错了,我将不胜感激。
背景 - 我在 Debian 11 上运行此程序到 sqlite 后端。已安装软件包...
pdns 服务器
pdns-后端-sqlite3
pdns-backend-bind(我认为这是自动安装的?)
pdns-后端-lua2
记录...
fuse-smtp.mydomain.com 30 IN LUA A "ifportup ( 25, { { '1.2.3.4' }, { '5.6.7.8' } } )"
目的是检查这两个 IP 上的两个 SMTP 服务器是否健康,如果该 IP 上的端口 25 可用,则返回 1.2.3.4 作为主服务器。5.6.7.8 上的服务器是备用服务器。
该 lua 记录是间隔开的版本。我尝试删除和添加带空格、不带空格、不带 TTL、带制表符和一些 pdnsutil 不接受的损坏格式的记录。任何接受的记录都会同样失败并出现相同的错误。具有 IPv6 IP 的等效 AAAA 记录也会失败。
我已将系统日志的日志级别设置为 9,以下是报告的错误...
Apr 24 14:03:56 ns1 pdns[2241120]: Lua record (fuse-smtp.mydomain.com|A) reported: Unable to convert parameter from table to St6vectorISt4pairIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE#012stack traceback:#012#011[C]: at 0x564c3ff1c4b0
再介绍一下背景。我使用这个命令创建了域...
sudo -u pdns pdnsutil create-zone mydomain.com ns1.anotherdomain.net。
我正在像这样编辑域名......
pdnsutil 编辑区域 mydomain.com
PowerDNS 服务正在运行,域名正在运行,更简单的 A、AAAA、MX 和 TXT 记录正在解析。我还有其他 lua 记录正在运行,例如这个...
fuse.mydomain.com 30 IN LUA A "ifurlup('http://www.anotherdomain.net/', {{'1.2.3.4'}, {'5.6.7.8'}} )"
只是 ifportup 记录失败。pdns 系统日志中没有报告其他错误。
感谢大家的指点。谢谢。
答案1
查看变更日志,这是在 4.8.0-beta 中引入的。除非您有较新的 powerdns,否则这将不起作用。(我遇到了与您相同的问题,这就是我发现它的方式。)