1. Named.conf Configuration for Bind 8.x
1. named.conf configurations
named.conf file은 named.boot file의 문법만 잘알면 의외로 쉽게
만들수가 있다. Bind 8.x대에는 named-bootconf.pl 라는 named.boot를
named.conf로 변환 시켜 주는 script가 들어 있다. 우선 먼저 위의
내용을 참고하여 /etc에 named.boot를 만든다음 이 file을 이용하여
[root@bbuwoo /etc]# /$PATH/named-bootconf.pl named.boot > named.conf
라는 명령으로 간단하게 해결을 할수가 있다. 보통 named-bootconf.pl 의
경로는 /usr/doc/bind-(version)/ 에 위치하게 된다.
그럼 이것과는 별도로 named.conf의 사용법에 대해서 알아 보도록 하겠다.
Hanterm - /etc/named.conf |
[root@bbuwoo /etc]$ cat named.conf
// generated by named-bootconf.pl
options {
directory "/var/named";
allow-transfer {
210.96.230.250;
};
/*
* If there is a firewall between you and nameservers
* you want to talk to, you might need to uncomment
* the query-source directive below. Previous versions
* of BIND always asked questions using port 53, but
* BIND 8.1 uses an unprivileged port by default.
*/
// query-source address * port 53;
};
logging {
category lame-servers { null; };
category cname { null; };
category response-checks { null; };
category notify { null; };
};
//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "named.ca";
};
// primary oops.kr.net oops.zone
zone "oops.kr.net" IN {
type master;
file "oops.zone";
};
zone "babo.co.kr" IN {
type master;
file "babo.zone";
};
zone "154.24.210.in-addr.arpa" IN {
type master;
file "oops.rev";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
// secondary netusers.net netusers.bak
// Reverse Zone에대한 Secondary 설정
zone "154.24.210.in-addr.arpa" IN {
type slave;
file "154.24.210.in-addr.arpa.bak";
masters { 210.24.154.1; }; // Primary NS의 IP 주소
};
//'netusers.net'의 Secondary 설정
zone "netusers.net" IN {
type slave;
file "netusers.bak";
masters { 210.24.154.1; };
};
[root@bbuwoo /etc]$
|
위의 예제는 named.boot를 named.conf로 변환했을때의 내용을 보여주고
있다. 먼저 option 부분의 내용을 먼저 보도록 하자.
설명에 들어가기전에 주의 할것중에 하나는 named.boot와 named.conf 에서
달라진점 하나를 더 주의를 한다. named.boot에서는 주석처리를 할때 ";"
를 이용을 했으나 named.conf에서는 ";"을 사용하지 않고 "//"을
사용한 다는 것을 명심을 하도록 한다. 또한 다른 설정 file에서는 해당되지 않는다.
directory "/var/named";
dump-file "/var/tmp/named_dump.db";
statistics-file "/var/tmp/named.stats";
pid-file "/var/run/named.pid";
allow-transfer { 210.96.230.250; };
이 부분을 보면 named.boot의 설정 보다는 좀 더 상세한 설정이 첨가
되었다는 것을 볼수 있다. 또한 다음에 설명할 logging 부분 역시
named.boot보다 추가된 기능을 볼 수가 있다.
Directory : zone file이 위치할 곳을 지정하게 된다.
dump-file : Dump 파일이 생성되는 경로를 지정한다.
statistics-file : 통계파일이 생성되는 경로를 지정한다.
pid-file : PID가 담긴 파일 생성 경로를 지정한다.
allow-transfer : named.boot에서의 xftnets와 동일한 역할을 한다.
다음은 logging부분을 보겟다. 이역시 named.conf에서 새로 추가된 부분이다.
아래의 설정은 불필요한 log를 log file에 남기지 않도록 설정을 한것이다.
category lame-servers { null; };
category cname { null; };
category response-checks { null; };
category notify { null; };
기본적으로 named의 log는 /var/log/message에 남게 된다. 이때 이 message
file을 보게 되면 lame-server 등과 같이 생판 처음 들어 보는 log밑 error가
있는 것을 볼수 있다. 보통 이런것들은 system에 의해서 작성이 되는 것들로
특별히 우리가 어떻게 해 줘야 하는 것들은 아니다. 그러므로 불필요한 정보를
log에 남겨둘 필요는 없다고 생각하므로 위와 같이 불필요한 정보들을 null로
날려 버리게 설정을 한 것이다.
그럼 primary 부분을 살펴 보도록 하자.
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
zone "154.24.210.in-addr.arpa" IN {
type master;
file "oops.rev";
};
zone " oops.kr.net" IN {
type master;
file "oops.zone";
};
zone "babo.co.kr" IN {
type master;
file "babo.zone";
};
primary 부분에서는 named.boot에서 설정한 것들을 위의 형식과 같이 변경해
주면 된다. 일단 named.boot에서 primary라고 지정하던 것이 type master
로 변경이 되었다. 그 외에는 두개의 file을 비교해 보면 그리 어려울 것이
없다고 생각된다.
Revers map 에 대한 내용은 named.boot의 설명과 동일하므로 여기서는 생략을
하도록 하겠다.
Secondary 영역 역시 secondary가 type slave로 바뀌었을 뿐 별 달라진 것은
없다. 그저 형식만 바뀌었을 뿐이다. 단 주의 할 것은 bind 가 named 의 권한으로
작동할 경우에는 다음을 체크해 주어야 한다.
1. /var/named 에 named user 에게 쓰기 권한이 있는지
2. master 서버의 named.conf 에서 allow-transfer 를 설정해 주었는지
를 체크해 보아야 한다. 1번 사항은 chown named.named /var/named 로 해결을
할수 있으며, 두번째는 1차 네임서버의 named.conf 에서 allow-transfer 에
2차 네임서버를 등록해 줘야 한다.
이 설명들이 잘 이해가 되지 않는다면 bind 4.x 의 named.boot 의 설정을
먼저 이해를 하면 더욱 쉬울 것이다.
참고할 것은 zone "domainname" IN { .. } 의 설정에서 IN 은 zone
의 CLASS 를 지정한다. zone 의 CLASS 에는 IN, HS, HESIOD, CHAOS 가 있으나
IN 외의 HS, HESIOD, CHAOS 는 별로 사용을 안하므로 언급을 하지 않는다. 또
한 CLASS 를 생략했을 경우에는 Default 로 IN 이 적용이 된다. 즉
zone "domainname" IN { .. }
zone "domainname" { .. }
위의 두 설정은 동일한 효과를 갖는다. 하지만 나중에 문법이 어떻게 적용될지
모르므로 설정은 정석으로 IN 을 써 주는 것이 좋다.
2. named.conf 의 활용
하나의 host에서 여러 개의 도메인을 처리할 때 간편하게 하는 방법을 알아
보도록 하겠다. 일단 기본적으로 하나의 sample zone file을 만들어 두도록 한다.
그리고 named.boot(bind-4의 경우)나 named.conf(bind-8의 경우) 에서 서로 공유가
가능한, 즉 IP address가 같은 경우에는 위에서 만든 sample file을 지정을 하도록
하여 사용할수도 있다.
Hanterm - /etc/named.conf |
[root@bbuwoo /etc]$ cat named.conf
options {
directory "/var/named";
allow-transfer {
210.96.230.250;
};
// query-source address * port 53;
};
logging {
category lame-servers { null; };
category cname { null; };
category response-checks { null; };
category notify { null; };
};
//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "named.ca";
};
// primary oops.kr.net oops.zone
zone "oops.kr.net" IN {
type master;
file "sample.zone";
};
zone "babo.co.kr" IN {
type master;
file "sample.zone";
};
zone "154.24.210.in-addr.arpa" IN {
type master;
file "oops.rev";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
// secondary netusers.net netusers.bak
zone "154.24.210.in-addr.arpa" IN {
type slave;
file "154.24.210.in-addr.arpa.bak";
masters { 210.24.154.1; };
};
zone "netusers.net" IN {
type slave;
file "netusers.bak";
masters { 210.24.154.1; };
};
[root@bbuwoo /etc]$
|
다음은 /etc/resolv.conf를 보겠다.
>> 이전 : Name Service 란?
>> 다음 : resolv.conf configuration
|