PowerDNS lua ifportup が失敗する

PowerDNS lua ifportup が失敗する

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 上の 2 つの SMTP サーバーのヘルス チェックを行い、その IP でポート 25 が稼働している場合はプライマリとして 1.2.3.4 を返すことです。5.6.7.8 上のサーバーはバックアップです。

この lua レコードはスペースが空いたバージョンです。スペースあり、スペースなし、TTL なし、タブあり、pdnsutil が受け入れないいくつかの壊れた形式でレコードを削除および追加してみました。受け入れられたレコードはすべて同じエラーで失敗します。IPv6 IP を含む同等の AAAA レコードも失敗します。

ログ レベル 9 で syslog を実行していますが、報告されたエラーは次のとおりです...

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 syslog には他のエラーは報告されません。

ここでのあらゆるヒントに感謝します。ありがとうございます。

答え1

変更ログを見ると、これは 4.8.0-beta で導入されたようです。新しい powerdns がない限り、これは機能しません。(私もあなたと同じ問題を抱えていたので、それがこの問題を発見したきっかけです。)

関連情報