다음과 같은 영역 정의가 있습니다.
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입니다(내 콘솔의 글머리 기호는 녹색입니다).
이상한 상태이기 때문에 다른 사람에게 도움이 되길 바랍니다.