구역파일
Zone file이 기사는 대체로 또는 전적으로 단일 출처에 의존한다.– · · · · (2020년 11월) |
| 파일 이름 확장명 | .zone |
|---|---|
| 인터넷 미디어 유형 | 문자/문자 |
| 개발자 | ISI |
| 초기 릴리즈 | 1987; 전 ( |
| 형식 유형 | 파일 형식 |
| 표준 | RFC1034, 1035, 2308, 4027 |
| 오픈 포맷? | 네 |
DNS(Domain Name System) 영역 파일은 DNS 영역을 설명하는 텍스트 파일이다.DNS 영역은 DNS의 계층적 도메인 이름 구조의 하위 집합(흔히 단일 도메인)이다.영역 파일은 도메인 이름, IP 주소 및 기타 자원 사이의 매핑을 포함하며, 자원 기록(RR)의 텍스트 표시 형식으로 구성된다. 영역 파일은 영역을 권위 있게 설명하는 DNS 마스터 파일이거나 DNS 캐시의 내용을 나열하는 데 사용될 수 있다.[1]
파일 형식
구역 파일의 형식은 RFC 1035(섹션 5)와 RFC 1034(섹션 3.6.1)에 정의되어 있다.이 형식은 원래 BIND(Berkeley Internet Name Domain) 소프트웨어 패키지에서 사용되었지만 다른 DNS 서버 소프트웨어에서 널리 채택되어 왔다. 이러한 형식 중 일부(예: NSD, PowerDNS)는 영역 파일을 데이터베이스 형식으로 컴파일하기 위한 시작점으로만 사용하고 있지만 Active Directory-데이터베이스 통합이 적용된 Microsoft DNS도 참조하십시오.
영역 파일은 라인 지향 항목의 시퀀스로, 각각 단일 리소스 레코드(RR)를 정의하는 지시어 또는 텍스트 설명이다.항목은 흰색 공간(탭과 공백)의 조합으로 구분된 필드로 구성되며 따옴표로 묶인 문자열 필드 값 또는 서식 괄호 쌍을 제외한 선 경계에서 끝난다.임의의 행은 세미콜론이 앞에 있는 주석 텍스트로 끝날 수 있으며, 파일에는 빈 줄이 얼마든지 포함될 수 있다.
입력은 일부 예외를 제외하고 영역 파일의 모든 순서로 발생할 수 있다.
지시문은 영역 파일의 나머지 부분에 영향을 미치는 제어 항목이다.지시문의 첫 번째 필드는 달러 표시와 키워드로 구성된다.
- $ORGIN에 이어 후속 상대 도메인 이름의 원본으로 사용할 도메인 이름이 뒤따른다.
- $INCLUX 다음에 그 내용을 해석할 때 사용할 파일 이름과 선택적 오리진 도메인 이름이 뒤따른다(이 이름은 상위 파일에 나타난 것처럼 처리되고, 그 후 지시문의 평가 이전의 오리진 값으로 재설정된다).
- RFC 2308(섹션 4)에 정의된 $TTTL에 이어 기본 TTL(생존 시간)으로 사용할 숫자가 뒤따른다.
- $GENERATE는 BIND와 일부 다른 네임 서버 소프트웨어에서 하나의 항목으로 여러 리소스 레코드를 삽입할 수 있도록 허용한 비표준 확장자로, 그 다음에는 음수가 아닌 숫자의 증가 순서에 대한 간결한 표현으로 이어진다.이스케이프되지 않은 "$" 문자가 숫자로 대체된 템플릿을 사용하여 시퀀스의 각 번호에 대해 리소스 레코드가 추가된다.
자원 기록 항목은 다음과 같은 여러 필드로 구성된다(두 필드 순서는 모두 허용되며 서로 교환하여 사용할 수 있음).
| 이름을 붙이다 | ttl | 레코드 클래스 | 레코드 활자 | 자료를 기록하다 |
| 이름을 붙이다 | 레코드 클래스 | ttl | 레코드 활자 | 자료를 기록하다 |
이름 필드는 공백으로 둘 수 있다.그렇다면 이전 기록에서 필드가 상속된다.자유 스탠딩 @은 현재의 기원을 나타내기 위해 사용된다.
ttl 필드는 캐싱 클라이언트가 레코드를 삭제하고 새로운 정보를 얻기 위해 새로운 해상도 작업을 수행해야 하는 시간(초)을 지정한다.BIND를 포함한 일부 이름 서버는 시간 단위의 약어를 사용하는 비표준 표현을 허용한다(예: 24시간 2일을 의미하는 "2d" 또는 1시간 30분을 의미하는 "1h30m").생략할 수 있으며, 이 경우 결과 값은 기본 TTL(정의된 경우) 또는 이전 기록에서 설정된다.
레코드 클래스 필드는 레코드 정보의 네임스페이스를 나타낸다.생략할 수 있으며, 이 경우 앞의 기록에서 결과값을 설정한다.가장 일반적으로 사용되는 네임스페이스는 인터넷의 네임스페이스로, 매개변수 IN으로 표시되지만, 다른 네임스페이스는 존재하며, 예를 들어 COONS와 같이 사용되고 있다.
record type 필드는 마지막 필드인 record data에 저장된 정보 유형의 약어다.예를 들어, 주소 레코드(IPv4의 경우 A형 또는 IPv6의 경우 AAAA형)는 첫 번째 필드에서 기록 데이터의 IP 주소로 도메인 이름을 매핑하고, 메일 교환기 레코드(MX형)는 도메인의 SMTP(Simple Mail Transfer Protocol) 메일 호스트를 지정한다.
기록 데이터 필드는 각 기록 유형의 요건에 따라 하나 이상의 정보 요소로 구성될 수 있다.예를 들어, 주소 기록에는 주소만 필요한 반면, 메일 교환기 기록에는 우선순위와 도메인 이름이 필요하다.그러한 정보요소는 백색공간으로 구분된 필드로 표현된다.
예제 파일
도메인 example.com에 대한 영역 파일의 예는 다음과 같다.
$ORGIN example.com.; 자체 TTL 값 example.com이 없는 모든 RR의 기본 만료 시간(초)인 네임스페이스 $TTL 3600에서 이 영역 파일의 시작을 지정한다.IN SOA ns.example.com.username.example.com.(2020091025 7200 3600 1209600 3600 ) example.com.IN NS ns ; ns.example.com은 example.com의 네임서버다.NS NS.somewhere.예:; ns.ns.cns.properties는 example.com의 백업 이름 서버다.MX 10 mail.example.com.;; mail.example.com은 example.com @ IN MX 20 mail2.example.com의 메일 서버다.; 위 라인에 해당하는 "@"는 구역 기원 @ IN MX 50 mail3 ; 위 라인에 해당하지만 상대 호스트 이름 example.com을 사용한다.A 192.0.2.1; AAAA 2001의 example.com의 IPv4 주소:db8:10:1; example.com ns의 IPv6 주소 A 192.0.2.2; AAA 2001의 ns.example.com의 IPv4 주소:db8:10:2; CNAME의 ns.example.com wwwww의 IPv6 주소.;;; www.example.com은 example.com wwtest IN CNAME wwwwww의 별칭이고; wwwtest.example.com mail IN 192.0.2.3; mail.example.com mail2 IN 192.0.2.4의 IPv4 주소; mail2.example.com mail3의 IPv4 주소 IN IN A의 다른 별칭이다.192.0.2.5; mail3.example.com의 IPv4 주소
최소한 구역 파일은 구역에 대한 권한 있는 마스터 이름 서버의 이름과 이름 서버의 관리를 담당하는 사람의 이메일 주소(도메인 이름으로 표시되고, 일반적인 @ 기호 대신 전체 중지 문자가 있는)를 가진 권한의 시작(SOA) 기록을 지정해야 한다.SOA 레코드의 매개변수는 또한 타이밍 및 만료 매개변수 목록(시리얼 번호, 슬레이브 새로 고침 기간, 슬레이브 재시도 시간, 슬레이브 만료 시간, 레코드 캐시 최대 시간)을 지정한다.BIND를 포함한 일부 네임 서버에도 최소한 하나의 NS 레코드가 추가로 필요하다.
구역 파일에서, 완전 정지 문자로 끝나는 도메인 이름(위의 예에서 "example.com"과 같은)은 완전한 자격을 갖춘 반면, 완전 정지 문자로 끝나지 않는 도메인 이름은 현재 출발지와 상대적이다(이러한 예에서 www는 www.example.com을 참조한다.
영역 파일은 네임 서버 소프트웨어의 구성 파일에서 참조된다.예를 들어 BIND는 일반적으로 다음과 같은 문장을 사용한다.
영역 "example.com" { type master; 파일 "/var/name/db.example.com"; }; 루트 영역 및 최상위 도메인
DNS 루트 영역 및 최상위 도메인 집합에 대한 영역 파일에는 각 도메인 이름에 대한 권한 있는 도메인 이름 서버에 대한 리소스 레코드만 들어 있다.
로컬호스트
일부 서버 소프트웨어는 localhost와 같이 특별히 인식된 도메인이나 호스트 이름에 대한 리소스 레코드를 자동으로 구성하지만 사용자 정의된 영역 마스터 파일을 사용할 수 있다.
localhost에 대한 Forward zone의 수동 구성의 예는 다음과 같다.
$ORGIN localhost.@ 86400 IN SOA @ 루트(199010100; 직렬 10800; 새로 고침(3시간) 900; 재시도(1분) 604800; 만료(1주) 86400; 최소(1일) NS @ 86400 IN @ 86400 IN @ 127.0.1 @ 86400 IN @ 86400 IN.AAAA ::1
해당하는 역방향 영역 정의는 다음과 같다.
;;; 127.0.0.1 및 ::1 $TTTL 1814400; 3주 @ 1814400 IN SOA localhost.root.localhost.(1999010100; 직렬 10800; 새로 고침(3시간) 900; 재시도(15분) 604800; 만료(1주) 86400; 최소(1일) @ 1814400 IN NS localhost. 1 1814400 IN PTR localhost. 1 1814400 IN PTR localhost.
이 파일은 다음과 같은 구성으로 IPv4와 IPv6 모두에 사용할 수 있도록 원점을 지정하지 않는다.
영역 "0.0.127.in-addr.arpa" IN { 유형 마스터; 파일 "r.local"; }; 영역 "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { 유형 마스터; 파일 "r.local";}; 브로드캐스트 어드레스와 null 어드레스의 역방향 해상도를 위해 유사한 존 마스터 파일을 만들 수 있다.이러한 영역 파일은 DNS 서버가 다른 외부 DNS 서버를 참조하는 것을 방지한다.