Bind 9 Configuration
bind 9 의 설정은 기본적인 토대는 bind 8 을 정석으로 설정을 할 경우 무리없이 작동한다. 다만
bind 9 에서는 dnssec-key 라는 것을 이용하여 update 부분에 보안을 강화 했으며, 이 부분을 중
점으로 설명을 한다.
Name Server란 무엇인가?
그러면 과연 name server라는 것이 무엇을 하는 놈인가 부터 이해를 해야 할것이다. internet 상
의 host 들은 ip address 라는 주소를 가지고 있다. 이 숫자로 된 주소는 외우기가 힘들 뿐 아니
라 이 주소만으로는 해당 주소의 특성을 알기가 힘이 들었다. 그래서 외우기 쉽고 주소만으로 그
site의 특성을 알기 쉽게 하기 위하여 만든 것이 domain name이라는 것이며, domain name을 관리
하는 것이 name server 이다. 우리가 windows 에서 internet 에 연결을 위한 셋팅을 할 때 보면
TCP/IP 설정에서 주 DNS서버, 보조 DNS서버 라는 항목을 볼수가 있는데 이 항목들이 바로 domain
name을 ip address로 해석을 해 줄 Name Server를 지정을 하는 것 이라고 할 수가 있다.
hosts file
hosts file 이라는 것은 간단히 정의를 하자면 mini name server 라고 할 수 있다. 그렇다면 이
file 이 쓰이는 용도를 살펴 보자.
우리가 web browser 에서 domain name 으로 어떤한 주소를 찾아 가고자 할 때 web browser 는 그
domain name 을 system 에서 지정한 Name Server로 보내서 IP address 로 변환을 한후에 다시 자
신의 system 으로 받아와서 해당 site 를 찾아가게 된다. 그러므로 가끔 ip address 로는 접속이
되는데 domain name 으로 접속이 안될 경우에는 system 에 지정을 한 DNS 가 죽은 경우가 다반사
이다. 또한 지정한 DNS 의 회선이 과부하가 걸렸다거나 느릴경우에는 그만큼 ip address 로 반환
을 받는 속도가 느리기에 그만큼 접속속도가 느려지는 경우도 있다. 이런 경우를 대비해서 hosts
file 에 미리 ip address 에 name 을 지정을 하면 DNS 를 거치는 과정을 생략하게 되는 것이다.
그러므로 우리가 자주 사용하는 통신망인 chollian.net, nownrui.net, home.hitel.net과 같은 사
이트들의 주소들은 이곳에 기입을 해놓는 것도 좋은 방법이다. 기본적으로 DNS보다는 hosts file
을 먼저 참조 하도록 되어 있으며, LINUX 에서는 이 순서를 hosts.conf 에서 변경할 수 있다. 윈
도우즈에서는 변경이 가능한지 모르겠다.. :-)
hosts file의 위치는 RedHat을 기준으로 /etc/hosts 와 /etc/host.conf 이다.
설정에 들어가기 전에..
설치에 들어가기 전에 간단히 점검을 해 보자.
이 강좌의 기초는 Linux 배포본 중의 하나인 REDHAT 을 기준으로 한다. 하지만 설정 자체는 NT
든 어떤 NOS 든 설정하는 form 이 다를 뿐이지 기본적인 것은 동일하기 때문에 알아서 잘 응용하
면 지정하는데 별 지장이 없다. 중요한 것은 Name Server 를 설정하는 것에 대한 이해를 해야지
만 한다는 것이다.
compile 하는 과정은 bind 8 과는 다르게 autoconf 를 지원을 한다. 그러므로
./configure
make
make install
의 과정을 거쳐 설치할 수 있다. configure 옵션은 ./configure --help 를 참고하여 설치를 하면
되겠다.
일단 bind 9 를 설정하는데 필요한 file 들을 보면
/etc/named.conf
/etc/rndc.conf
/etc/resolv.conf
/etc/host.conf
/etc/hosts
/var/named/***.zone
/var/named/***.rev
정도이다.
참고로 bind 9 를 설치 후, named.conf 가 설치가 안된다고 하시는 분들이 많은데 named.conf 는
기본파일이 아니다. 원래는 사용자가 직접 만들어야 하며, Redhat 에서는 caching-nameserver 라
는 패키지에서 제공을 한다.
추가적으로 bind 8 에서 보지 못하던 rndc.conf 가 있다. rndc 는 bind 8 에서는 ndc 로 제공이
되었으며, rndc 는 ndc 의 후속버전으로 보면 된다. 하지만 기능은 ndc 만큼 지원하지는 못한다.
하지만 이를 사용하는 이유는 named 를 reload 할 때, bind 8 에서 처럼 kill -HUP 를 사용하는
것을 ISC 에서 권장을 하지 않고 있다는 점이다. ISC 에서는 rndc 를 이용한 reload 를 사용하기
를 권장을 하고있다. 현재 최신 버전인 9.2.1 에서는 kill -HUP 도 작동을 하기는 하지만, 될 수
있으면 정석을 사용하는 것을 권장한다. 이에 대해서는 뒤에 논할 것이다.
- /etc/named.conf
named 가 실행 시에 NS 의 database 에 대한 기본적인 정보를 취급한다. 설정 파일의
디렉토리, 파일 위치등을 지정하며 secondary option 으로 2 차 name server 를 지정
을 할 수도 있다.
- /etc/rndc.conf
rndc 를 사용하기 위한 설정 파일
- /etc/resolv.conf
system 에서 호출을 할 DNS 를 지정을 한다.
- /etc/host.conf
hosts file 에 대한 설정과 dns 와 관련된 몇가지 설정을 이곳에서 한다.
- /etc/hosts
mini dns 의 역할을 하는 file 이다. 위에 설명이 따로 되어 있다.
- /var/named
NS 의 zone file 들이 위치한다. /etc/named.conf 에서 위치를 변경할 수 있다.
- /var/named/named.ca
ROOT name server 의 IP 주소를 정의하여, 더 빨리 찾을 수 있도록 최적화 되어 있는
file 이다. (따로 수정할 필요가 없이 그냥 있는 그대로 사용을 하면 된다.)
- /var/named/named.local
Roopback IP address 에 대한 reverse mapping 을 정의한 파일이다. reverse mapping
이란 ip address 로 domain name 을 찾는 것을 말한다. reverse mapping 설정을 하는
것을 inverse domain 을 설정한다고 하기도 한다.
- /var/named/***.zone
host 들에 대한 정보를 가지게 되는 file 이다. 실제로 bind 셋팅하는 것의 대부분이
이 파일에서 이루어 진다. ( ***.zone 이라는 파일명은 /etc/named.conf 에서 정의한
다.
- /var/named/***.rev
대표 도메인에 대한 reverse mapping (inverse domain) 정보를 기록한다. 이 파일 역
시 /etc/named.conf 에서 이름을 정의한다.
그 외에는 별로 다룰 것도 없으며 kernel compile 도 할 필요없고 설정 후에 제대로 되었는지 확
인을 위해 nslookup에 대해서 좀만 논해 보면 될것이다. 그럼 자질구레한 설명은 집어 치우고 직
접 설정으로 들어가 보겠다.
>> 다음 : Named.conf Configuration for Bind 9
|