'업데이트 실패: NOTAUTH'를 수신하는 DDNS 변경 바인딩, 해당 인증 문제를 해결하는 방법은 무엇입니까?

'업데이트 실패: NOTAUTH'를 수신하는 DDNS 변경 바인딩, 해당 인증 문제를 해결하는 방법은 무엇입니까?

다음과 같은 영역 정의가 있습니다.

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입니다(내 콘솔의 글머리 기호는 녹색입니다).

이상한 상태이기 때문에 다른 사람에게 도움이 되길 바랍니다.

관련 정보