Master 네임서버와 Slave 네임서버가 아래와 같이 구성된 경우에 존 전송(Zone Transfer)를
IPv6 주소를 사용하여 수행할 수 있습니다.
Master 네임서버 | Slave 네임서버 | 비고 |
IPv4/IPv6 | IPv4/IPv6 | IPv4 zone transfer, IPv6 zone transfer 모두 가능 |
IPv4/IPv6 | IPv6 only | IPv6 zone transfer만 가능 |
IPv6 only | IPv4/IPv6 | IPv6 zone transfer만 가능 |
IPv6 only | IPv6 only | IPv6 zone transfer만 가능 |
존 전송(zone transfer)에 대한 설정은 Slave 네임서버의 named.conf 파일에서 지정합니다.
IPv4 주소의 존 전송(zone transfer) 설정 방법
아래는 IPv4 환경에서의 기본적인 설정 사례입니다.
Slave 네임서버 "named.conf" 파일의 "examp.co.kr." 존 설정 부분 |
zone "examp.co.kr" { type slave; masters { 192.0.2.10; }; }; |
type slave;는 "examp.co.kr." 도메인이 Slave 존(zone) 임을 표시합니다.
Slave 존인 경우, 존 파일(zone file)을 작성하지 않으며, Master 네임서버로부터 도메인 존
데이터를 전송받아 도메인의 DNS 서비스를 제공합니다.
masters { 192.0.2.10; };는 이 examp.co.kr. 도메인의 Master 네임서버 IP 주소를 지정하는
옵션입니다.
IPv6 주소의 존 전송(zone transfer) 설정
아래의 사례를 기준으로 설정방법을 설명합니다.
"examp.co.kr" 도메인 존(zone) |
$ORIGIN examp.co.kr.@ 600 IN SOA ns1.examp.co.kr. adm.examp.co.kr. ( 2004061102 ; serial 3600 ; refresh (1 hour) 1800 ; retry (30 minutes) 1209600 ; expire (2 weeks) 86400 ; minimum (1 day) ) 86400 IN NS ns1.examp.co.kr. 86400 IN NS ns2.examp.co.kr. ns1.examp.co.kr. 86400 IN A 192.0.2.10ns1.examp.co.kr. 86400 IN AAAA 2001:cd5:20a::c000:20ans2.examp.co.kr. 86400 IN AAAA 2001:cd5:30a::c000:30a |
사례의 "examp.co.kr." 도메인은 "ns1.examp.co.kr." 네임서버와 "ns2.examp.co.kr." 네임서버를
가지고 있습니다.
이 경우, Master 네임서버는 도메인의 SOA RR의 MNAME 필드에 지정된 "ns1.examp.co.kr."
입니다.
Ref Docs:RFC1035 "DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION"
3.3.13. SOA RDATA format
Ref Docs:RFC2181 "Clarifications to the DNS Specification"
7.3. The SOA.MNAME field
"ns1.examp.co.kr."은 도메인 존 파일에 A RR과 AAAA RR을 동시에 갖는 IPv4/IPv6 듀얼스택
네임서버로 지정되어 있습니다.
SOA RR의 MNAME 필드에 명시되지 않은 나머지 모든 네임서버는 Slave 네임서버입니다.
"ns2.examp.co.kr."는 Slave 네임서버로써 AAAA RR만 지정된 IPv6 only 네임서버입니다.
네임서버 | IP 주소 | 비고 |
ns1.examp.co.kr. | 192.0.2.10 2001:dc5:20a::c000:20a | Master 네임서버 (IPv4/IPv6) |
ns2.examp.co.kr. | 2001:dc5:30a::c000:30a | Slave 네임서버 (IPv6 only) |
아래는 IPv6 DNS Slave 네임서버(ns2.examp.co.kr.)에서 IPv6 주소를 사용한 존 전송을 지정하는
내용입니다.
Slave 네임서버 "named.conf" 파일의 "examp.co.kr." 존 설정 부분 (BIND 8/9 공통) |
zone "examp.co.kr." { type slave; masters { 2001:dc5:20a::c000:20a; }; }; |
이로써 examp.co.kr.의 Slave 네임서버는 "2001:dc5:20a::c000:20a"에 대해 존 전송요청을 하게
됩니다.
Master/Slave 네임서버에서의 존 전송(zone transfer) 요청가능 발신 IP 제한 설정
존 전송(zone transfer) 요청에 의해 지정된 도메인 존 내부의 모든 리소스레코드 데이터를
존 전송(zone transfer)를 요청한 네임서버로 일괄 전송합니다.
만일 임의의 호스트에 대해 존 전송(zone transfer) 요청을 허용하는 경우, 도메인 내용이 모두
외부에 노출될 수 있습니다.
존 전송(zone transfer)는 네임서버만 요청할 수 있는 것이 아니라 임의의 단말 호스트에서도
요청할 수 있기 때문입니다.
존 전송(zone transfer)는 아래와 같은 내용의 일반적인 DNS 질의 형태로 이루어집니다.
AXFR(transfer of an entire zone) 타입 DNS 질의 |
QName | examp.co.kr. |
QType | AXFR |
QClass | IN |
BIND DNS의 dig 유틸리티를 사용한 다음과 같은 명령은 AXFR DNS 질의를 발생합니다.
dig@ns1.examp.co.kr.examp.co.kr. AXFR
이렇게 외부에 도메인 존 내용이 모두 노출되는 것을 방지하기 위해 존 전송(zone transfer)
요청을 할 수 있는 호스트를 제한 설정합니다.
아래의 사례는 도메인 존 단위로 존 전송 요청 제한을 설정하는 경우를 보입니다.
Master 네임서버 "named.conf" 파일의 "examp.co.kr." 존 설정 부분 |
zone "examp.co.kr." { type master; file "examp.co.kr.zone"; allow-transfer { 2001:dc5:30a::c000:30a; }; }; |
Slave 네임서버 "named.conf" 파일의 "examp.co.kr." 존 설정 부분 |
zone "examp.co.kr." { type slave; masters { 2001:dc5:20a::c000:20a; }; transfer-source-v6 { 2001:dc5:30a::c000:30a; }; allow-transfer { none; };}; |
이 경우, 주의할 사항은 Slave 네임서버의 examp.co.kr. 존 설정 부분에transfer-source-v6
옵션을 사용한 점입니다.
transfer-source-v6옵션은 Slave 네임서버가 Master 네임서버로 존 전송(zone transfer)
요청시 자신의 IPv6 주소 중 "2001:dc5:30a::c000:30a"를 source IPv6 주소로 사용하도록
명시하는 용도로 사용됩니다.
이것은 Master 네임서버의allow-transfer { 2001:dc5:30a::c000:30a; };설정과 관련되어
있습니다.
IPv6 환경에서는 다양한 IPv6 주소가 인터페이스에 함께 설정될 수 있으므로 이와 같이
명시적으로 설정을 함으로써 Master 네임서버에 접근할 때 허용된 IPv6 주소를 source 주소로
고정적으로 사용하도록 제어 할 수 있습니다.
Slave 네임서버의 경우에 존 전송(zone transfer) 요청을 어떤 호스트에게도 허용하지 않는
설정을 allow-transfer { none; };을 사용하여 적용하고 있습니다.