
나는 centos6.5와 bind9를 사용하고 있으며 다음 단계에 따라 DNS 영역에 레코드를 성공적으로 추가했습니다.
키 생성:
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST example.com.
conf 파일을 편집합니다.
// TSIG Key
key "example.com." {
algorithm hmac-md5;
secret "THE KEY GENERATED ABOVE";
};
zone "example.com" IN {
type master;
file "example.com.zone";
allow-update{ key "example.com."; };
};
/var/named 폴더에 이름 지정 권한을 부여합니다.
# chown -R named:named /var/named
# find . -type d -exec chmod 770 {} \;
# find . -type f -exec chmod 660 {} \;
이 스크립트를 사용하여 레코드를 추가합니다.
#!/bin/bash
#Defining Variables
DNS_SERVER="localhost"
DNS_ZONE="example.com."
USER_NAME="dd2.example.com."
IP="192.168.1.7"
TTL="60"
RECORD=" $USER_NAME $TTL A $IP"
echo "
server $DNS_SERVER
zone $DNS_ZONE
debug
update add $RECORD
show
send" | nsupdate -k Kexample.com.+157+55566.key
오류가 반환되지 않았습니다.
dig 명령을 사용하여 이 레코드 추가를 테스트합니다.
#dig +short dd2.example.com.
192.168.1.7
하지만 추가된 레코드의 문제는 영역 파일 "example.com.zone"에는 나타나지 않습니다.
reload:를 사용하더라도 다음과 같은 오류 메시지가 반환됩니다 rndc reload MYZONE
.rndc reload
[root@dd Shells]# rndc reload example.com.
rndc: 'reload' failed: dynamic zone
그러나 지정된 서비스를 다시 시작하면 service named restart
레코드가 영역 파일에 나타납니다.
내 질문은 다음과 같습니다
지정된 서비스를 다시 시작하지 않고 영역 파일에 레코드를 추가하는 방법입니까?
답변1
나는 답을 찾았습니다:
내 문제는 BIND가 rndc reload zone
동적 영역을 처리할 수 없기 때문에 BIND가 동적 영역을 다시 로드하는 것을 허용하지 않는다는 것입니다. 따라서 우리는 바인딩에게 동적 업데이트 허용을 일시적으로 중지하라고 지시해야 합니다. 이는 동결 옵션을 통해 처리됩니다.
rndc freeze example.com
그런 다음 새로고침하세요
rndc reload example.com
그런 다음 동적 업데이트를 다시 허용합니다.
rndc thaw example.com
답변2
시도해 보셨나요:
rndc reconfig
이것은 트릭을 수행해야합니다.
하지만 이 명령은 새(이전) 영역을 추가(제거)하지만 기존 영역을 수정할 수는 없다는 점에 유의하세요.