반응형
    
    
    
  BIND에서 nsupdate 명령을 사용하여 동적으로 존을 변경하는 방법
BIND 설치
yum install -y bind bind-utilsBIND 버전 정보
named -v$ named -v
BIND 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.15 (Extended Support Version) <id:7107deb>sangchul.kr 도메인 설정
sangchul.kr zonefile 편집
vim /var/named/sangchul.kr.zone$TTL 60
@                       IN      SOA     ns.sangchul.kr. manager.sangchul.kr. (
                                2013070203 ; serial
                                21600      ; refresh (6 hours)
                                1800       ; retry (30 minutes)
                                1209600    ; expire (2 weeks)
                                86400      ; minimum (1 day)
                                )
                        IN      NS      ns.sangchul.kr.
ns                      IN      A       127.0.0.1named.conf 편집
vim /etc/named.confzone "sangchul.kr" IN {
        type master;
        file "sangchul.kr.zone";
        allow-update { none; };
};구성 파일 검사
named-checkconf -z$ named-checkconf -z
zone localhost/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone sangchul.kr/IN: loaded serial 2013070204존 파일 검사
named-checkzone sangchul.kr sangchul.kr.zone$ named-checkzone sangchul.kr sangchul.kr.zone 
zone sangchul.kr/IN: loaded serial 2013070204
OKBIND 서비스 재시작
systemctl restart namedDNS 레코드 동적 업데이트를 위한 설정
1. 키 파일 생성
DNS 업데이트에 사용할 키 파일을 생성합니다.
dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST sangchul.kr$ dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST sangchul.kr
Ksangchul.kr.+163+51068명령을 실행하면 두 개( Ksangchul.kr.+157+.key 및 Ksangchul.kr.+157+.private )의 파일이 생성됩니다.
$ ls -l | grep Ksangchul.kr
-rw------- 1 root  root    55 May 29 06:57 Ksangchul.kr.+163+51068.key
-rw------- 1 root  root   168 May 29 06:57 Ksangchul.kr.+163+51068.private존 파일의 소유자를 변경합니다.
chown named.named /var/named/*2. BIND 설정 파일 수정
BIND 설정 파일 (named.conf)을 편집하여 동적 업데이트를 허용하도록 구성합니다.
.private 파일의 내용을 확인합니다.
- Key 부분의 값을 secret에 복사하여 넣습니다.
cat Ksangchul.kr.+163+51068.private$ cat Ksangchul.kr.+163+51068.private
Private-key-format: v1.3
Algorithm: 163 (HMAC_SHA256)
Key: F/SRqfNYru/qVp6ENT+32A==
Bits: AAA=
Created: 20240529065715
Publish: 20240529065715
Activate: 20240529065715zone 블록을 수정합니다.
- allow-update 디렉티브를 사용하여 키 파일을 지정합니다.
vim /etc/named.confzone "sangchul.kr" {
    type master;
    file "/var/named/sangchul.kr.zone";
    allow-update { key "sangchul.kr."; };
};
key "sangchul.kr." {
    algorithm hmac-sha256;
    secret "F/SRqfNYru/qVp6ENT+32A==";
};구성 파일 검사
$ named-checkconf -z
zone localhost/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone sangchul.kr/IN: loaded serial 2013070204존 파일 검사
$ named-checkzone sangchul.kr sangchul.kr.zone 
zone sangchul.kr/IN: loaded serial 2013070204
OK3. BIND 서비스 재시작
설정 파일을 수정한 후 BIND 서비스를 재시작하여 변경 사항을 적용합니다.
systemctl restart named4. nsupdate 명령 실행
이제 nsupdate 명령을 사용하여 동적으로 DNS 레코드를 업데이트할 수 있습니다.
Ksangchul.kr.+157+<random>.key 파일을 사용하여 업데이트를 수행합니다.
nsupdate -k Ksangchul.kr.+163+51068.key이 명령을 실행하면 nsupdate 프롬프트가 나타납니다.
A 레코드 추가
server 127.0.0.1update add example.sangchul.kr. 7200 IN A 192.0.2.1sendquit$ nsupdate -k Ksangchul.kr.+163+51068.key
> server 127.0.0.1
> update add example.sangchul.kr. 7200 IN A 192.0.2.1
> send
> quitA 레코드 삭제
$ nsupdate -k Ksangchul.kr.+163+51068.key
> server 127.0.0.1
> update delete example.sangchul.kr. IN A
> send
> quit질의 테스트
dig @127.0.0.1 example.sangchul.kr
TXT 레코드 추가
$ nsupdate -k Ksangchul.kr.+163+51068.key
> server 127.0.0.1
> update add example.sangchul.kr. 7200 IN TXT "v=spf1 include:_spf.sangchul.kr ~all"
> send
> quit질의 테스트

BIND DNS 서버에서 nsupdate를 사용하여 DNS 레코드를 동적으로 추가, 삭제, 또는 수정할 수 있습니다.
참고URL
- Read the Docs BIND9 : 5.2. Dynamic Update
728x90
    
    
  반응형
    
    
    
  '네임서버' 카테고리의 다른 글
| 우분투 22.04에서 BIND9를 설치하고 설정하는 방법 (0) | 2025.05.09 | 
|---|---|
| CentOS 7에서 Unbound를 설치하고 DNSSEC을 활성화하여 사용하는 방법 (2) | 2024.10.05 | 
| 우분투에 BIND를 컴파일하고 설치하는 방법 (0) | 2024.05.13 | 
| Caching DNS와 Cache-Only DNS의 차이점 및 Bind를 사용하여 구현하는 방법 (0) | 2023.10.27 | 
| CentOS 7에서 BIND(named)의 로깅을 설정하는 방법 (0) | 2023.10.24 | 
 
                  
                 
                  
                 
                  
                