DNS setting

Server/CentOS 2009. 12. 9. 22:12

DNS(Domain Name Server)은 IP주소와 컴퓨터 이름을 상호 변환시킵니다. (oops4u.com <-> 123.123.123.123)
resolver에서 hosts 파일과 DNS 데이터베이스에서 매핑(컴퓨터 이름과 IP의 조합)을 기술한 맵을 찾도록 설정할 수 있습니다.


Resolver

/etc/host.conf (해석기 설정 파일)
/etc/hosts (로컬 호스트 데이터베이스)
/etc/resolv.conf (해석기 설정 파일)


1. /etc/sysconfig/network 네트워크 설정

# /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=ns1.test.com (네임서버로 사용할 도메인이름)



2. /etc/host.conf 파일 편집
order 라는 옵션으로 네임 resolve 메커니즘이 시도되는 순서를 콤마(,)로 나열합니다. (메소드: hosts, bind, nis)

# vi /etc/host.conf
order hosts, bind

hosts에서 맵을 찾아보고 그 다음 bind에서 찾아본다는 의미입니다.


3. /etc/hosts 파일 편집

이 파일에는 컴퓨터 이름과 IP주소가 포함되어 있어야 합니다.
IP_address hostname [aliases...]

# vi /etc/hosts
127.0.0.1          localhost
146.82.138.7       master.debian.org      master
209.237.226.90     www.opensource.org

127.0.0.1 은 로컬 컴퓨터에 대한 IP 주소로 변경하지 말아야 합니다.
그 다음줄 부터 보유하고 있는 고정 아이피를 적습니다.


4. /etc/resolv.conf 파일 편집

이 파일에 네임서버를 지정해 주어야 합니다.

# vi /etc/resolv.conf
nameserver 123.123.123.123




Bind(Berkeley Internet Name Daemon)

네임서버 기능은 Bind 패키지의 named 라는 프로그램으로 이루어집니다.
예전에는 bind버전에서는 chroot 폴더를 사용하지 않고, /var/named/ 에 모든 zone파일과 named.conf 파일이 있었지만,
보안상의 문제로 인하여 named.conf파일을 대체한 파일은 /var/named/chroot/etc 디렉토리에, zone파일은
 /var/named/chroot/var/named에 보관됩니다.

1. Bind를 설치

# yum install bind* caching-nameserver

bind 9.3 부터는 named.conf 대신 name.caching-nameserver.conf 를 사용합니다.


2. Bind 설정 파일 편집
외부 접속을 허용한다면 다음처럼 변경한다.

# vi /etc/named.caching-nameserver.conf
options {
        //listen-on port 53 { 127.0.0.1; };
        listen-on port 53 { any; };

        query-source    port 53;

        //allow-query     { localhost; };
        //allow-query-cache { localhost; };
        allow-query     { any; };
        allow-query-cache { any; };
};
view localhost_resolver {
        //match-clients      { localhost; };
        //match-destinations { localhost; };
        match-clients      { any; };
        match-destinations { any; };

 // zone 파일 경로
        include "/etc/named.rfc1912.zones";
};


3. zone 파일 설정 (추가할 도메인에 대해 zone 추가)

# vi /etc/named.rfc1912.zones
zone "aaa.com" IN {
        type master;
        file "aaa.com.zone";
        allow-update { none; };
};

zone "33.22.11.in-addr.arpa" IN {
        type master;
        file "aaa.com.rev";
        allow-update { none; };
}

zone "bbb.com" IN {
        type master;
        file "bbb.com.zone";
        allow-update { none; };
};


4. zone 파일 생성

# cd /var/named/chroot/var/named
# cp -p localhost.zone aaa.com.zone
# vi aaa.com.zone
$TTL    86400
@               IN SOA  ns1.aaa.com. webmaster.aaa.com. (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
                IN NS           ns1.aaa.com.

                IN MX   10      mail
                IN A            123.123.123.123
aaa.com         IN TXT          "v=spf1 ip4:55.55.55.0/24 -all"
ns1             IN A            123.123.123.123
oops            IN A            123.123.123.123
mail            IN A            55.55.55.55
www             IN CNAME        oops
wiki            IN CNAME        oops

5. reverse 파일 생성

# cd /var/named/chroot/var/named
# cp -p localhost.zone aaa.com.rev
# vi aaa.com.rev
$TTL    86400
@               IN SOA  ns1.aaa.com. webmaster.aaa.com. (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
                IN NS           ns1.aaa.com.

44              IN PTR          ns1.aaa.com.

$TTL 86400 - 캐싱 서버가 도메인의 값을 가지는 시간
SOA(Start Of Authority) - 네임서버(FQDN), 관리자 메일 주소, 갱신인식형식(serial: 일반적으로 YYYYMMDDnn)...
NS(Name Server) - 도메인을 관리할 네임서버 지정
MX(Mail Exchanger) - 도메인에 대한 메일서버 지정
A(Address Record) - 호스트 이름과 IP 주소 매칭
TXT(Text) - 관련된 정보나 SPF레코드 작성
CNAME(Canonical NAME) - 컴퓨터 하나에 여러개의 이름을 부여


6. conf 파일 / zone 파일 문법 체크
named-checkconf [location conf file]
named-checkzone [check domain] [location zone file]

# named-checkconf /etc/named.caching-nameserver.conf
# named-checkconf /etc/named.rfc1912.zones
# named-checkzone aaa.com /var/named/chroot/var/named/aaa.com.zone
zone aaa.com/IN: loaded serial 42
OK


7. 데몬 재실행

# /etc/init.d/named restart

 
8. chkconfig 변경

# chkconfig --level 3 named on // runlevel3 터미널 부팅시 httpd 적재

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,