linux class 1 페이지

본문 바로가기
사이트 내 전체검색


회원로그인

linux class

DNS - Domain Name Service

페이지 정보

작성자 admin 작성일15-12-23 15:31 조회264회 댓글0건

본문

DNS - Domain Name Service
  dns 서비스

dns 서버는 크게 세가지가 있다.

1. Primary DNS (또는 Master DNS)

2. Secondary DNS (또는 Slave DNS) - 백업 역할을 하는 DNS.
 반드시 필요한 것은 아니며 primary dns 가 다운되었을때 대신 서비스 하기 위한것이다.

3. Cache Only DNS
 

DNS 역할

다른 호스트에 접속시 ip 주소가 반드시 필요하다.
그러나 ip 주소는 기억하기 어려우므로 보통 도메인 이름을 사용한다.
그래서 필요한 것이 DNS 이다.

도메인에 대한 해당 ip 주소를 알려주는것이 DNS 의 주된 역할이다.


도메인이 ip 주소로 변환되는 과정.

1. 클라이언트: http://www.abc.co.kr 
2. ip 주소가 아니므로 클라이언트는 ip주소를 알아내기 위해 /etc/host.conf 파일 참조
  여기에 order hosts,bind 로 설정되어 있으면 /etc/hosts 에서 해당도메인 정보를 찾고
  없으면 그 다음 /etc/resolv.conf 파일을 참조한다. 적혀있는 순서대로 참조한다.
3. /etc/hosts 파일에 없다고 가정하면 /etc/resolv.conf 를 참조하게 되고
  거기에 nameserver 168.126.63.1 이 적혀 있으면 그 주소의 서버에게 도메인 주소를
  알려 달라고 요청한다.
4. 168.126.63.1 의 dns 서버가 자신이 가지고 있는 dns zone 설정 파일을 참조해서
  해당되는 정보가 있으면 ip 를 알려준다.
5. 클라이언트는 ip 를 알게되었으므로 그 ip 를 가지고 서버에 접속한다.


*. 그런데 4번 단계에서 168.126.63.1(kornet) dns 가 www.abc.co.kr 에 대한 설정을 가지고 있지
  않으면 조금 복잡해진다.

  이런경우 코넷 dns는 최상위 계층에 존재하는 root dns 에게 www.abc.co.kr 에 대한 도메인 주소를
  물어본다.  실제 등록된 domain 주소에 대한 ip 주소는 root dns 는 전부 찾을 수 있다.

5.  root dns 는 www.abc.co.kr 에 대한 정보를 찾기 위해서 하위 몇단계를 거쳐 찾는다.
 그리고 그 정보를 코넷 dns 한테 알려준다.

6. 코넷 dns는 www.abc.co.kr 주소를 캐시영역에 저장해두고 찾은 ip 주소는 클라이언트에게 알려준다.

*. 그 다음 또 어떤 클라이언트가 코넷 dns에게 www.abc.co.kr 의 ip 를 알려달라고 요청하면
    이번에는 캐시에 그 정보가 저장되어 있으므로 root dns 에게 묻지 않고 바로 알려준다.

유닉스에서 주로 사용되는 dns 패키지는 bind 이다.

[root@star etc]# rpm -qa | grep bind
bind-utils-9.3.1-4
bind-9.3.1-4
ypbind-1.17.2-5              => 이건 bind 패키지가 아니다.
bind-chroot-9.3.1-4
bind-libs-9.3.1-4

설치되어 있지 않으면 rpm 또는 yum 으로 설치한다.

*. DNS 설정파일

/etc/named.conf  또는 /etc/named.caching-nameserver.conf (centos 에서 caching-nameserver 패키지를
설치하면 설정파일은 named.caching-nameserver.conf 로 설치가 됨)

나머지 세부 설정파일은 /etc/caching-nameserver.conf 의 설정에 따라 경로 및 파일이름이 결정된다.

caching-nameserver.conf 설정파일의 주요 초기설정 내용은 아래와 같다.

options {
    listen-on port 53 { 127.0.0.1; };
    listen-on-v6 port 53 { ::1; };
    directory  "/var/named";
    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-v6 port 53;

    allow-query    { localhost; };
    allow-query-cache { localhost; };
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
view localhost_resolver {
    match-clients      { localhost; };
    match-destinations { localhost; };
    recursion yes;
    include "/etc/named.rfc1912.zones";
};

*. name server 의 주설정 파일안에 들어가는 설정은 크게 4가지이다.

첫번째 - 세부 설정파일을 저장할 디렉토리 : options
두번째 - root domain zone
세번째 - Forward zone : 도메인 -> ip 변환
네번째 - Reverse zone : ip -> 도메인 변환

[root@star etc]# 

 
 
 
 
 


관리자 14-02-25 10:10

 121.160.41.250 답변 수정 삭제 
 
/* Config for Primary DNS */
//edited by jclee

//Config for root DNS
zone "." IN {
        type hint;
        file "named.ca";
};

//Config for foward domain zone (domain -> ip)
zone "server.co.kr" IN {
        type  master;
        file "server.hosts";
};

//Config for reverse domain zone(ip -> domain)
zone "100.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.100.rev";
};

댓글목록

등록된 댓글이 없습니다.


접속자집계

오늘
95
어제
75
최대
611
전체
448,145
개인정보취급방침 서비스이용약관 twoseven.kr All rights reserved.
상단으로