본문 바로가기

네임서버

BIND DNS에서 TSIG를 설정하는 방법

728x90
반응형

BIND DNS에서 TSIG를 설정하는 방법

DNS 역할 아이피 주소 도메인 비고
Master 192.168.56.51 ns1.bind.sangchul.kr  
Slave 192.168.56.52 ns2.bind.sangchul.kr  

 

도메인 위임

Cloudflare1

1. TSIG 키 생성 (마스터 - node1)

Kexample.cohttp://m.+165+12345.key 및 Kexample.com.+165+12345.private와 같은 두 파일을 생성합니다.

2. 생성된 TSIG 키 확인 (마스터 - node1)

3. 마스터 BIND 구성 파일 편집 (node1)

다음과 같이 TSIG 키를 추가합니다.

4. BIND 서버 재시작 (마스터 - node1)

5. 슬레이브 BIND 구성 파일 편집 (node2)

다음과 같이 TSIG 키를 추가하고 슬레이브 설정을 추가합니다.

여기서 node1_ip는 마스터 노드의 IP 주소로 대체되어야 합니다.

6. BIND 서버 재시작 (슬레이브 - node2)

이제 마스터(node1)와 슬레이브(node2) 간에 TSIG를 사용하여 DNS 데이터 전송이 설정되었습니다. 마스터와 슬레이브 간에 설정된 TSIG 키 정보를 정확하게 일치시켜야 합니다. 키 정보를 잘 보호하고 관리하는 것이 중요합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[1차 DNS]

 

dnssec Key 파일 생성

[root@NS1 named]# dnssec-keygen -a HMAC-MD5 -b 128 -n Host my-domain.re.kr.
Kmy-domain.re.kr.+157+32789

 

[root@NS1 named]# ls -l Kmy*
-rw------- 1 root root  59 2013-07-04 09:58 Kmy-domain.re.kr.+157+32789.key
-rw------- 1 root root 165 2013-07-04 09:58 Kmy-domain.re.kr.+157+32789.private

 

[root@NS1 named]# cat Kmy-domain.re.kr.+157+32789.key
my-domain.re.kr. IN KEY 512 3 157 WUqP/du3BIcjhAN87/iZ+A==

 

[root@NS1 named]# cat Kmy-domain.re.kr.+157+32789.private
Private-key-format: v1.3
Algorithm: 157 (HMAC_MD5)
Key: WUqP/du3BIcjhAN87/iZ+A==
Bits: AAA=
Created: 20130704005732
Publish: 20130704005732
Activate: 20130704005732

 

my-domain.key.conf 파일 생성

[root@NS1 named]# vi /etc/my-domain.key.conf

[root@NS1 named]# cat /etc/my-domain.key.conf
key my-domain.re.kr. {
Algorithm hmac-md5;
secret "WUqP/du3BIcjhAN87/iZ+A==";
};

 

named.conf에 my-domain.key.conf 파일 추가

[root@NS1 named]# vi /etc/named.conf
...
zone "my-domain.re.kr" {
        type master;
        file "my-domain.re.kr-zone";
        allow-update { key my-domain.re.kr.; };
        };

 

include "/etc/my-domain.key.conf";

 

[2차 DNS]

 

my-domain.key.conf 생성

[root@NS2 named]# vi /etc/my-domain.key.conf

[root@NS2 named]# cat /etc/my-domain.key.conf
key my-domain.re.kr. {
Algorithm hmac-md5;
secret "WUqP/du3BIcjhAN87/iZ+A==";
};


ns1에서 키 파일 가져오기
[root@NS2 named]# scp 10.0.0.11:/var/named/K* /var/named/.


[root@NS2 named]# nsupdate -k Kmy-domain.re.kr.+157+32789.key
> server 10.0.0.11
> update add book.my-domain.re.kr. 300 IN A 10.0.0.55
> show
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:      0
;; flags:; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; UPDATE SECTION:
book.my-domain.re.kr.   300     IN      A       10.0.0.55

> send

>
> quit

 

key 파일 없이 nsupdate 시도
[root@NS2 named]# nsupdate
> server 10.0.0.11
> update add book.my-domain.re.kr. 300 IN A 10.0.0.55
> show
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:      0
;; flags:; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; UPDATE SECTION:
book.my-domain.re.kr.   300     IN      A       10.0.0.55

> send
update failed: REFUSED

 

[다른 서버에서 nsupdate 실행하기]

 

key 파일 가져오기
[root@resursive named]# scp 10.0.0.11:/var/named/K* /var/named/.
The authenticity of host '10.0.0.11 (10.0.0.11)' can't be established.
RSA key fingerprint is 43:08:da:18:32:3c:19:fd:1b:2b:3e:21:ad:50:d1:7f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.11' (RSA) to the list of known hosts.
root@10.0.0.11's password:
Kmy-domain.re.kr.+157+32789.key                                            100%   59     0.1KB/s   00:00
Kmy-domain.re.kr.+157+32789.private                                        100%  165     0.2KB/s   00:00

 

nsupdate으로 car.my-domain.re.kr 도메인 추가
[root@resursive named]# nsupdate -k Kmy-domain.re.kr.+157+32789.key
> server 10.0.0.11
> update add car.my-domain.re.kr. 7200 IN A 127.0.0.1
> show
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:      0
;; flags:; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; UPDATE SECTION:
car.my-domain.re.kr.    7200    IN      A       127.0.0.1

> send
> quit

 

질의 테스트
[root@resursive named]# dig @10.0.0.11 car.my-domain.re.kr +short
127.0.0.1

 

 

반응형