아래의 내용은 실제 서버의 설정을 그대로 보여주고 있습니다.

bind 9.3 부터는 환경설정 파일로 name.caching-nameserver.conf 사용합니다.

미리설치된 bind가 없다면
yum install bind


설치가 완료되면 환경설정 을 아래와 같이 해 준다

1) Bind 환경설정
# vi /etc/named.caching-nameserver.conf
// named.caching-nameserver.conf
...
options {
//    listen-on port 53 { 127.0.0.1; };
// 기본적으로 port 53 으로 자신만이  접근 가능하게 되어있다.
// 외부접근 가능 하게 any로 바꾼다.
      listen-on port 53 { any; };
//        listen-on-v6 port 53 { ::1; };
// ip v6 에 대한 것으로 차후 서비스를 위해 ~..주석처리.
        directory       "/var/named";
// zone file에 대한 기본 디렉토리 설정
        dump-file       "/var/named/data/cache_dump.db";
// 캐쉬 덤프 파일 생성 위치와 파일 이름
        statistics-file "/var/named/data/named_stats.txt";
// 통계파일 생성 위치와 파일 이름
        memstatistics-file "/var/named/data/named_mem_stats.txt";
// 메모리 관련 통계파일 위치 이름

        // Those options should be used carefully because they disable port
        // randomization
        // query-source    port 53;    
query-source    port 53;  
// 쿼리를 받아 들일 소스포트
        // query-source-v6 port 53;
//     allow-query     { localhost; };
        allow-query     { any; };
// 쿼리 허용할 ip 대역
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
// 실행에 있어 디버깅시 참고 할 수 있는 로그파일 생성 위치
view localhost_resolver {
//        match-clients      { localhost; };
//        match-destinations { localhost; };
        match-clients      { any; };
        match-destinations { any; };
// 로컬 리졸버 허용 클라이언트 지정

        recursion yes;
        include "/etc/named.rfc1912.zones";
};

2) zone 파일 지정
vi /etc/named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
zone "." IN {
        type hint;
        file "named.ca";
};
...
zone "abydos.kr" IN {
        type master;
        file "abydos.kr.zone";
        allow-update { none; };
};
//추가

3)zone 파일 생성(미리생성된 localdomain.zone 파일을 복사해서 수정한다)
# cd /var/named
# ls
# cp localdoamin.zone abydos.kr.zone

4) 생성한 zone파일을 수정한다.
# vi abydos.kr.zone
$TTL    86400
@               IN SOA  abydos.kr. root.abydos.kr (
                                        2009080201      ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
                IN NS           ns.abydos.kr.
                IN MX 10        abydos.kr.
                IN MX 10        mail.abydos.kr.
                IN MX 10        aspmx.l.google.com.
                IN MX 20        alt1.aspmx.l.google.com.
                IN MX 20        alt2.aspmx.l.google.com.
                IN MX 30        aspmx2.googlemail.com.
                IN MX 30        aspmx3.googlemail.com.
                IN MX 30        aspmx4.googlemail.com.
                IN MX 30        aspmx5.googlemail.com.
                IN A            114.207.245.36
ns              IN A            114.207.245.36
www             IN A            114.207.245.36
docs            IN CNAME        ghs.google.com.
sites           IN CNAME        ghs.google.com.
calendar        IN CNAME        ghs.google.com.
mail            IN CNAME        ghs.google.com.
googlea3e90e45321c80c2          IN CNAME        google.com.
ftp             IN CNAME        @
*               IN CNAME        @

제 경우에는 구글로 이메일서비스와 몇가지 서비스를 쓰고있어서 여러가지 설정이 추가되어 있습니다.

5)설정이 바르게 되었는지 확인
# named-checkconf /etc/named.rfc1912.zones
# named-checkconf /etc/named.caching-nameserver.conf
# named-checkzone abydos.kr /var/named/abydos.kr.com.zone

6)테스트
[root@ns named]# nslookup
> server 127.0.0.1
Default server: 127.0.0.1
Address: 127.0.0.1#53
> abydos.kr
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   abydos.kr
Address: 114.207.245.36
> ftp.abydos.kr
Server:         127.0.0.1
Address:        127.0.0.1#53

ftp.abydos.kr   canonical name = abydos.kr.
Name:   abydos.kr
Address: 114.207.245.36

여기까지 해서 CentOS .5.2 Final + BIND 9.3.4의 환경에서 도메인네임서비스 설정이 끝났습니다.


7)zone파일 설명
TTL    86400 - time to live의 약자 다른 네임서버에서 읽어간 정보가 살아있는 시간이다. 초단위
@ - ORIGIN 의 의미 public domain을 의미 즉  @ = linux.com.
IN - IN 다음 의 설정을 이용
SOA - SOA start of authority 해당 도메인의 정보를 가지고 있고 root@abydos.kr 는 관리자임을 나타낸다.
2009080201      ; serial (d. adams) - 해당 정보의 시리얼 보통 날짜정보 + 카운터로 표시된다.
3H              ; refresh - 리프레쉬 타임 주기
15M             ; retry - S로의 장애 발생시 재 접속  시간
1W              ; expiry - 존파일 유효기간,
1D             ; minimum - TTL과 같은 의미 다른 서버에서 zone 데이터를 가져갔을때 그 데이터에 대한 유효기간
IN NS           ns.abydos.kr. - 네임서버 이름 지칭
IN MX 10        mail.abydos.kr. - mailserver 이름 지칭
IN A            192.168.10.200 - ip 할당
mail            IN CNAME        www - mail server의 ip는 www의 설정을 가져온다.
ftp             IN CNAME        @ - ORIGIN 변수의 값을 그대로 사용
*               IN CNAME       

8)DNS서비스를 이용하여 부하를 분산하고 싶은 경우(www.abydos.kr 주소를 여러개 적어서 분산)
www             IN A            192.168.10.200
www             IN A            192.168.10.201
www             IN A            192.168.10.202


'오픈소스SW' 카테고리의 다른 글

Automating Linux Unix  (0) 2009.08.11
CentOs 5.2 vsftpd 설치  (0) 2009.08.10
UML 지원 CASE Tool  (0) 2009.04.29
Timeline 소개  (0) 2008.12.26
웹 방화벽을 구축하기 위한 mod_security 설치기  (0) 2008.12.26
DNS란?

인터넷의 IP와 DNS는 사실 사람들이 사용하고 있는 전화번호 체계와 동작원리를 그대로 본뜬 것이다.
일반적으로 전화번호는 IP와 동일한 개념이다. 특히 국가 코드까지 포함한 전화번호를 생각해보면 IP와 완전히 동일한다. 한 예로 82-32-228-0027이라는 전화번호에서 대쉬를 마침표(.)로 교체하고 숫자를 10진수에서 8진수로 대치하면 완전히 똑 같다.

컴퓨터에서 DNSIP로 변환하는 과정은 다음과 같다.
  1. hosts 파일에서 해당 DNS를 조회
  2. hosts 파일에 없는 경우 넷트웍 카드 설정에서 지정한 지역 DNS 서버DNS를 조회
  3. DNS 서버에서 반환된 IP를 이용해서 원격 컴퓨터에 연결





<이미지 출처 : 한국인터넷진흥원>



여러가지 DNS 서버들

+ Recent posts