Изменение привязки DDNS, получающее `update failed: NOTAUTH`, как исправить эту проблему с авторизацией?

Изменение привязки DDNS, получающее `update failed: 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

Глядя на файл, он выглядит как действительный ключ. Как и ожидалось.

Также letsencryptизменения в поле TXT работают как и ожидалось. Так что же не так в:

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 (точка маркера зеленая в моей консоли).

Надеюсь, это поможет кому-то еще, потому что это странное состояние.

Связанный контент