// named.conf fragment // forward map zone of localhost zone "localhost" IN { type master; file "master.localhost"; allow-update {"none";}; allow-transfer {192.168.5.6;}; // ip address of zone slave } // reverse map zone of IPv4 localhost zone "0.0.127.IN-ADDR-ARPA" IN { type master; file "localhost.rev"; allow-update {"none";}; allow-transfer {192.168.5.6;}; // ip address of zone slave }로컬호스트 정매핑 지역파일은 보통 대부분의 BIND 배포판에 localhost 혹은 localhost.zone라는 이름으로 공급된다. 역매핑 지역파일--이것도 역시 일반적으로 BIND 배포판과 함께 공급된다--은 보통 named.local과 같이 뭔가 매우 의미있는 이름을 가지는데, 이것이 왜 12,000개가 넘는 환경설정에서 생략되어지는지를 설명하는데 도움이 될 것이다. 로컬호스트 지역은 위에서 보여진 것처럼 마스터/슬레이브 설정(allow-transfer 문이 전송 요청 자원을 제한하기 위해 사용되는 경우)으로 다뤄진다. 그러나 대부분의 경우 지역파일이 BIND와 함께 배포되기 때문에 모든 경우에서 마스터로 정의되는 것이 보통이다.
$TTL 86400 $ORIGIN localhost. @ 1D IN SOA @ hostmaster ( 0 ; serial 12h ; refresh 15m ; retry 1w ; expiry 3h ; minimum ) @ 1D IN NS @ ; localhost is the name server 1D IN A 127.0.0.1 ; always returns the loop-back address기능적으로 동일하게 바꾼 지역파일 형식이 좀 더 이해하기 쉬울 것이다. 안바꾸면 그땐 좀 더 이해하기 어려울 것이고!
$TTL 1d ; 24 hours could have been written as 24h or 84600 $ORIGIN localhost. localhost. IN SOA localhost. hostmaster.localhost. ( 2007040800 ; serial 3H ; refresh 15M ; retry 1w ; expire 3h ; minimum ) localhost. IN NS localhost. ; localhost is the name server localhost. IN A 127.0.0.1 ; the loop-back address역방향 매핑된 지역 파일은 다음과 같아야 한다:
$TTL 86400 ; 24 hours $ORIGIN 0.0.127.IN-ADDR.ARPA. @ IN SOA localhost. hostmaster.localhost. ( 2007040800 ; Serial number 3h ; Refresh 15 ; Retry 1w ; Expire 3h ) ; Minimum IN NS localhost. 1 IN PTR localhost.도메인명에 헛다리 정보가 없게 하라
; fragment of example.com zone file $ORIGIN example.com. ; name servers Resource Records for the domain ; the ns1 is inside our domain, ns2.example.net ; is in another domain ; both name severs must be configure with a zone clause ; for example.com in BIND"s named.conf IN NS ns1.example.com. ; out of domain name server IN NS ns2.example.net. ; normal A RR for the in domain name server ns1 IN A 192.168.5.2몇가지 깔끔하게 짚고 넘어가야할 점이 있다. 도메인에 대한 마스터 서버와 모든 슬레이브 서버는 도메인에 대한 질의에 인증 응답을 할 것이다. 그러므로 SOA RR을 보는 방법을 제외하고는 마스터와 슬레이브 응답을 구분할 수가 없다. 캐싱 네임서버는 지역에 대해 마스터나 슬레이브 서버가 될 수 없으므로, 인증 네임 서버로부터 DNS 리소스 레코드 데이터를 처음 읽었을때 AA 비트를 가지고 응답할 것이다. 만약 이것이 캐시로부터 RR을 가지고 온다면 AA 비트는 설정되지 않을 것이다. 더 명확하게 설명하자면 캐싱 네임 서버는 도메인에 대해 인증을 할 수 없다. 도메인에 대해서는 BIND의 named.conf 파일에 지역 구절을 가진 네임 서버만이 그 도메인에 대한 인증을 할 수 있다.
// if you are running an authoritative only server // the following statement should always be present recursion no;캐싱 네임서버나 인증과 캐싱이 혼합된 네임서버를 위해(권장사항은 이 두가지를 혼합하지 않는다는 것을 기억하라), 아래의 두 방법중에 하나를 사용한다:
// mixed authoritative and caching server // use an appropriate local address scope statement // to limit recursion requests to local users allow-recursion {192.168.2.0/24;}; // // if you run only a caching name server use this method // use an appropriate local address scope statement // to limit all query requests to local users allow-query {192.168.2.0/24;};기억하라: 공개된 DNS = 매우 안좋은 생각이다. 이것을 가장 높은 우선순위로 다루고 만약 여러분의 서버가 공개 DNS인것이 발견된다면 가능한한 빨리 고쳐라.
@ IN SOA ns1.example.com. hostmaster.example.com. ( 2007040800 ; serial number 12h ; refresh 15m ; retry 3w ; expiry 2h ; min = minimum )위 의 예제에서, 보여지는 이메일 주소는 (RFC 2142 에서) 권장되고 있는 hostmaster(hostmaster.example.com로 명시되어 있음)이다. 그러나 이것은 여러분이 신속하고 확실하게 메일을 받을 수 있는 아무 유효한 이메일 주소라도 괜찮다. 이것은 어떤 필요한 개선안에도 신속히 응답할 수 있다는 것을 의미하며, 이로 인해 올해의 네티즌상을 받을수 있을지도 모른다.
이전 글 : DNS에서 하면 안되는 기본적 실수 5가지(1)
다음 글 : .NET의 암호화 API 사용하기(1)
최신 콘텐츠