Bind DDNS の変更で「更新失敗: NOTAUTH」を受信しました。この認証の問題を修正するにはどうすればよいでしょうか?

Bind DDNS の変更で「更新失敗: NOTAUTH」を受信しました。この認証の問題を修正するにはどうすればよいでしょうか?

次のようなゾーン定義があります。

zone "madetoorder.software" {
  type master;
  file "/var/lib/bind/example.com.zone";
  allow-transfer { trusted-servers; };
  check-names warn;
  update-policy {
    grant local-ddns zonesub any;
    grant letsencrypt_wildcard. name _acme-challenge.example.com. txt;
  };
  max-journal-size 2M;
};

foo.example.com示されているように、を使用してサブドメイン (別名 )を追加および削除できるはずですnsupdate。以下を試しましたが、NOTAUTHエラーが発生します。

$ sudo nsupdate
> local 165.232.146.181
> zone madetoorder.software
> update delete ve-vlc.madetoorder.software.
> send
NOTAUTH
> update add ve-vlc.madetoorder.software. 60 A 165.232.146.181
> send
NOTAUTH
> quit

ご覧のとおり、sendコマンドは で失敗しますNOTAUTH

local-ddnsキーなしで試してみるとsudo次のエラーが表示されるため、キーが正常に読み込まれたことがわかります。

$ nsupdate -l
19-Apr-2022 21:50:16.831 open: //run/named/session.key: permission denied
can't read key from //run/named/session.key: permission denied

ファイルを見ると、有効なキーのように見えます。予想通りです。

また、letsencryptTXT フィールドへの変更は期待どおりに機能します。では、次の点では何が問題なのでしょうか。

grant local-ddns zonesub any

注記:

ゾーン定義に示されているように、.zone ファイルは の下にあります/var/lib/bind。そして、ディレクトリは のroot:bind権限で が所有しています-rwxrwxr-x。ファイル自体には権限があります-rw-------。したがって、named( として実行されるbind) はファイルにアクセスできます。

答え1

問題の解決策を見つけました。

再起動しましたnamed

何が起こっているのかよく分かりません。実行されているようです:

$ systemctl status named
● named.service - BIND Domain Name Server
     Loaded: loaded (/lib/systemd/system/named.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-04-20 14:25:48 UTC; 9h ago
       Docs: man:named(8)
   Main PID: 2334296 (named)
      Tasks: 14 (limit: 9508)
     Memory: 44.3M
     CGroup: /system.slice/named.service
             └─2334296 /usr/sbin/named -f -u bind

しかし、何もアクセスできません。システムが実際には死んだ

その状態で使用してテストするとdig @ns1.example.com www.example.com失敗します。ただし、UDP ポートは開いており、上記のように、ステータスは OKAY と表示されます (コンソールの箇条書きは緑色です)。

奇妙な状態なので、これが他の誰かの役に立つことを願っています。

関連情報