15.2.2.2. 일반적인 설명 유형
다음 유형의 설명은
/etc/named.conf
에서 일반적으로 사용됩니다:
-
acl
acl
(Access Control List) 문을 사용하면 이름 서버에 대한 액세스를 허용하거나 거부할 수 있도록 호스트 그룹을 정의할 수 있습니다. 다음 형식을 취합니다.acl acl-name { match-element; ... };
acl-name 문 이름은 액세스 제어 목록의 이름이며 match-element 옵션은 일반적으로 개별IP
주소(예:10.0.1.1) 또는
CIDR( Classless Inter-Domain Routing ) 네트워크 표기법(예:10.0.1.0/24
)입니다. 이미 정의된 키워드 목록은 표 15.2. “사전 정의된 액세스 제어 목록” 를 참조하십시오.표 15.2. 사전 정의된 액세스 제어 목록 키워드 Description Any
모든 IP
주소와 일치합니다.localhost
로컬 시스템에서 사용 중인 모든 IP
주소와 일치합니다.localnets
로컬 시스템이 연결된 모든 네트워크의 IP
주소와 일치합니다.none
IP
주소와 일치하지 않습니다.acl
문은옵션과
같은 다른 문과 함께 특히 유용할 수 있습니다.예 15.2. “Conjunction with Options에서 acl 사용” 는 두 가지 액세스 제어 목록인Black-hats
및red-hats
를 정의하고 차단목록에
차단형을 추가하고빨간색-hats의
일반 액세스를 부여합니다.예 15.2. Conjunction with Options에서 acl 사용
acl black-hats { 10.0.2.0/24; 192.168.0.0/24; 1234:5678::9abc/24; }; acl red-hats { 10.0.1.0/24; }; options { blackhole { black-hats; }; allow-query { red-hats; }; allow-query-cache { red-hats; }; };
-
include
include
문을 사용하면/etc/named.conf
에 파일을 포함할 수 있으므로 잠재적으로 민감한 데이터를 제한된 권한이 있는 별도의 파일에 배치할 수 있습니다. 다음 형식을 취합니다.include "file-name"
file-name 문 이름은 파일의 절대 경로입니다.예 15.3. /etc/named.conf에 파일 포함
include "/etc/named.rfc1912.zones";
-
옵션
options
문을 사용하면 글로벌 서버 구성 옵션을 정의하고 다른 문에 대한 기본값을 설정할 수 있습니다.지정된
작업 디렉터리의 위치, 허용된 쿼리 유형 등을 지정하는 데 사용할 수 있습니다. 다음 형식을 취합니다.options { option; ... };
자주 사용되는 옵션 지시문 목록은 아래의 표 15.3. “일반적으로 사용되는 구성 옵션” 를 참조하십시오.표 15.3. 일반적으로 사용되는 구성 옵션 옵션 Description allow-query
권한 있는 리소스 레코드에 대한 이름 서버를 쿼리할 수 있는 호스트를 지정합니다. CIDR 표기법의 액세스 제어 목록, IP
주소 컬렉션 또는 네트워크를 허용합니다. 모든 호스트는 기본적으로 허용됩니다.allow-query-cache
재귀 쿼리와 같이 신뢰할 수 없는 데이터에 대해 이름 서버를 쿼리할 수 있는 호스트를 지정합니다. 기본적으로 localhost
및localnet만 허용됩니다
.blackhole
이름 서버를 쿼리할 수 없는 호스트를 지정합니다. 이 옵션은 특정 호스트 또는 네트워크가 서버에 요청으로 급증할 때 사용해야 합니다. 기본 옵션은 none
입니다.디렉토리
named
서비스의 작업 디렉터리를 지정합니다. 기본 옵션은/var/named/
입니다.disable-empty-zone
사용되는 기본 접두사 목록에서 하나 이상의 빈 영역을 비활성화하는 데 사용됩니다. options 문 및 뷰 문에서도 지정할 수 있습니다. 여러 번 사용할 수 있습니다. dnssec-enable
DNSSEC 관련 리소스 레코드를 반환할지 여부를 지정합니다. 기본 옵션은 yes
입니다.dnssec-validation
DNSSEC를 통해 리소스 레코드를 인증할지 여부를 지정합니다. 기본 옵션은 yes
입니다.empty-zones-enable
빈 영역이 생성되는지 여부를 제어합니다. options 문에서만 지정할 수 있습니다. forwarders
확인을 위해 요청을 전달해야 하는 이름 서버의 유효한 IP
주소 목록을 지정합니다.forward
forwarders
지시문의 동작을 지정합니다. 다음 옵션을 허용합니다.first
- 서버에서 이름 자체 확인을 시도하기 전에forwarders
지시문에 나열된 이름 서버를 쿼리합니다.only
-forwarders
지시문에 나열된 이름 서버를 쿼리할 수 없으면 서버에서 이름 자체 확인을 시도하지 않습니다.
listen-on
쿼리를 수신 대기할 IPv4
네트워크 인터페이스를 지정합니다. 게이트웨이 역할을 하는DNS
서버에서는 이 옵션을 사용하여 단일 네트워크에서만 발생하는 쿼리에 응답할 수 있습니다. 모든IPv4
인터페이스는 기본적으로 사용됩니다.listen-on-v6
쿼리를 수신 대기할 IPv6
네트워크 인터페이스를 지정합니다. 게이트웨이 역할을 하는DNS
서버에서는 이 옵션을 사용하여 단일 네트워크에서만 발생하는 쿼리에 응답할 수 있습니다. 모든IPv6
인터페이스는 기본적으로 사용됩니다.max-cache-size
서버 캐시에 사용할 최대 메모리 양을 지정합니다. 제한에 도달하면 서버에서 레코드가 조기 만료되도록 하여 제한이 초과되지 않도록 합니다. 여러 뷰가 있는 서버에서 제한은 각 뷰의 캐시에 별도로 적용됩니다. 기본 옵션은 32M
입니다.알림
영역이 업데이트될 때 보조 이름 서버에 알릴지 여부를 지정합니다. 다음 옵션을 허용합니다.예
- 서버는 모든 보조 이름 서버에 알립니다.아니요
- 서버가 보조 이름 서버에 알리지 않습니다.master-only
- 서버가 영역에 대해 기본 서버에만 알립니다.명시적
- 서버는 zone 문내에
지정된 보조 서버만 알립니다.
pid-file
named
서비스에서 생성한 프로세스 ID 파일의 위치를 지정합니다.재귀
재귀적 서버로 사용할지 여부를 지정합니다. 기본 옵션은 yes
입니다.statistics-file
통계 파일의 대체 위치를 지정합니다. 기본적으로 /var/named/named.stats
파일이 사용됩니다.참고에서 런타임 데이터에 대해명명된
디렉터리가 BIND 기본 위치인/var/run/named/
에서 새 위치/run/named/
로 이동되었습니다. 그 결과 PID 파일이 기본 위치/var/run/named/named.pid
에서 새 위치/run/named/named.pid
로 이동되었습니다. 또한 session-key 파일이/run/named/session.key
로 이동되었습니다. 이러한 위치는 options 섹션의 문에 의해 지정해야 합니다. 예 15.4. “옵션 문 사용” 의 내용을 참조하십시오.중요DDoS(분산 서비스 거부) 공격을 방지하려면allow-query-cache
옵션을 사용하여 클라이언트의 특정 하위 집합에 대해서만 재귀적DNS
서비스를 제한하는 것이 좋습니다.사용 가능한 옵션의 전체 목록은 15.2.8.1절. “설치된 문서” 에서 참조한 BIND 9 관리자 참조 설명서와named.conf
도움말 페이지를 참조하십시오.예 15.4. 옵션 문 사용
options { allow-query { localhost; }; listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; max-cache-size 256M; directory "/var/named"; statistics-file "/var/named/data/named_stats.txt"; recursion yes; dnssec-enable yes; dnssec-validation yes; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; };
-
영역
zone
문을 사용하면 구성 파일 및 영역별 옵션의 위치와 같은 영역의 특성을 정의할 수 있으며 글로벌옵션
문을 재정의하는 데 사용할 수 있습니다. 다음 형식을 취합니다.zone zone-name [zone-class] { option; ... };
zone-name 특성은 영역 이름이고 zone-class 는 영역의 선택적 클래스이며 옵션은 표 15.4. “일반적으로 영역 문에 사용되는 옵션” 에 설명된zone
문 옵션입니다.zone-name 특성은/var/named/
디렉터리에 있는 해당 영역 파일 내에서 사용되는$ORIGIN
지시문에 할당된 기본값이므로 특히 중요합니다.명명된
데몬은 영역 파일에 나열된 정규화된 도메인 이름에 영역 이름을 추가합니다. 예를 들어zone
문에서 example.com
의 네임스페이스를 정의하는 경우example.com이 example.com
영역 파일 내에 있는 호스트 이름의 끝에 배치되도록example.com
을 zone-name 으로 사용합니다.영역 파일에 대한 자세한 내용은 15.2.3절. “영역 파일 편집” 을 참조하십시오.표 15.4. 일반적으로 영역 문에 사용되는 옵션 옵션 Description allow-query
이 영역에 대한 정보를 요청할 수 있는 클라이언트를 지정합니다. 이 옵션은 글로벌 allow-query
옵션을 재정의합니다. 모든 쿼리 요청은 기본적으로 허용됩니다.allow-transfer
영역의 정보 전송을 요청할 수 있는 보조 서버를 지정합니다. 모든 전송 요청은 기본적으로 허용됩니다. allow-update
영역의 정보를 동적으로 업데이트할 수 있는 호스트를 지정합니다. 기본 옵션은 모든 동적 업데이트 요청을 거부하는 것입니다.호스트에서 해당 영역에 대한 정보를 업데이트할 수 있도록 하는 경우 주의해야 합니다. 서버가 신뢰할 수 있는 네트워크에 있지 않은 한 이 옵션에서IP
주소를 설정하지 마십시오. 대신 15.2.6.3절. “트랜잭션 SIGnatures(TSIG)” 에 설명된 TSIG 키를 사용합니다.파일
영역의 구성 데이터를 포함하는 명명된
작업 디렉터리의 파일 이름을 지정합니다.masters
권한 있는 영역 정보를 요청할 IP
주소를 지정합니다. 이 옵션은 영역이유형
슬레이브
로 정의된 경우에만 사용됩니다.알림
영역이 업데이트될 때 보조 이름 서버에 알릴지 여부를 지정합니다. 다음 옵션을 허용합니다.예
- 서버는 모든 보조 이름 서버에 알립니다.아니요
- 서버가 보조 이름 서버에 알리지 않습니다.master-only
- 서버가 영역에 대해 기본 서버에만 알립니다.명시적
- 서버는 zone 문내에
지정된 보조 서버만 알립니다.
type
영역 유형을 지정합니다. 다음 옵션을 허용합니다.위임 전용
- COM, NET 또는 ORG와 같은 인프라 영역의 위임 상태를 적용합니다. 명시적 또는 암시적 위임 없이 수신되는 모든 응답은NXDOMAIN
으로 처리됩니다. 이 옵션은 재귀 또는 캐싱 구현에 사용되는 TLD(Top-Level Domain) 또는 루트 영역 파일에서만 적용할 수 있습니다.forward
- 이 영역에 대한 모든 정보 요청을 다른 이름 서버로 전달합니다.힌트
- 영역을 별도로 알 수 없을 때 쿼리를 확인하는 루트 이름 서버를 가리키는 데 사용되는 특수 영역 유형입니다.힌트
영역을 사용하여 기본값 이외의 구성이 필요하지 않습니다.master
- 이 영역에 대한 인가로 이름 서버를 지정합니다. 영역의 구성 파일이 시스템에 있는 경우 영역을마스터
로 설정해야 합니다.slave
- 이름 서버를 이 영역의 보조 서버로 설계합니다. 기본 서버는masters
지시문에 지정되어 있습니다.
기본 또는 보조 이름 서버의/etc/named.conf
파일에 대한 대부분의 변경 사항에는영역
명령문 추가, 수정 또는 삭제가 포함되며 일반적으로 이름 서버가 효율적으로 작동하려면영역
명령문 옵션의 작은 하위 집합만 필요합니다.예 15.5. “기본 이름 서버에 대한 영역 설명” 에서 영역이example.com
으로 식별되고 유형은master
로 설정되며named
서비스는/var/named/example.com.zone
파일을 읽도록 지시됩니다. 또한 보조 이름 서버(192.168.0.2)만 영역을 전송할 수
있습니다.예 15.5. 기본 이름 서버에 대한 영역 설명
zone "example.com" IN { type master; file "example.com.zone"; allow-transfer { 192.168.0.2; }; };
보조 서버의zone
문은 약간 다릅니다. 유형은슬레이브
로 설정되며masters
지시문은 기본 서버의IP
주소이름을
알리는 것입니다.예 15.6. “보조 이름 서버에 대한 영역 설명” 에서명명된
서비스는example.com
영역에 대한 정보를 위해192.168.0.1
IP
주소에 있는 기본 서버를 쿼리하도록 구성됩니다. 그런 다음, 수신된 정보는/var/named/slaves/example.com.zone
파일에 저장됩니다./var/named/slaves/
디렉터리의 모든 보조 영역을 배치해야 합니다. 그러지 않으면 서비스가 영역을 전송하지 못합니다.예 15.6. 보조 이름 서버에 대한 영역 설명
zone "example.com" { type slave; file "slaves/example.com.zone"; masters { 192.168.0.1; }; };