OS/SOLARIS2004. 6. 2. 05:38
반응형

유닉스 계열 컴퓨터에서의 DNS 서버 설정은  거의 비슷합니다.

bind 라는 소프트웨어를 사용하는데..
이 소프트웨어를 설치하면 돌아가는 데몬이 in.named 라는 데몬입니다.
솔라리스에는 전체설치를 하시면 이 소프트웨어는 기본 설치 되어 있습니다.

이 데몬은 시스템 부팅시에 /etc/named.conf 파일의 존재 여부에 따라 시작이 결정됩니다.

일단 DNS 의 구성 파일부터 살펴 봅시다.
dns 구성 파일 종류
/etc/named.conf  -> dns 환경 설정 파일
/var/named/zoneinfo -> dns 이름을 iP 로 바꿔주는 데이터 파일
/var/named/revzone -> IP 를 dns로 바꿔주는 데이터 파일
/var/named/localzone -> loopback dns 파일
/var/named/named.root -> root name server 기록 파일

할이야기가 많은데 .. 천천히 가보죠..

먼저.. /etc/named.conf 파일부터 봅시다.

전제조건
====================================================================

= 1.  domain name 은 sunsol.net 으로 한다.
= 2. IP 주소 권한 영역은  : 211.108.174.0 ~ 255 으로 한다.
= 3. 주석문은 #, /*, */ 이다 하지만 ';' 는 문장의 끝을 뜻하는 문자이다. 주석과 마찬가지로 해석된다.
= 4. /var/named 를 미리 만들고 이곳은 dns 데이터 파일의 저장 장소로 한다.
= 5. Name Server 는 ultra30 번으로 하고 IP 주소는 211.108.174.30 이다.
= 6. named.root 파일은 ftp://ftp.rs.internic.net/domain/named.root 에서 다운받기로 한다.  
===================================================================

1. /etc/named.conf
- dns 환경 설정 파일로 dns 데이터 파일이 저장될 위치와 각 파일이름 등을 정의한다.
-
-  내용..


# vi /etc/named.conf
options {
directory "/var/named";  # dns 파일들이 저장될 위치 정의
pid-file "/etc/named.pid"; # in.named 프로세스의 pid 값을 저장하고 있는 파일 정의
};

zone "sunsol.net" in {    # sunsol.net zone 을 정의 한다. : 도메인이름 -> IP로
        type master;       # 현재 이 서버의 역할 master 로 역할한다.  
        file "sunsolnet";    # 이 파일이름은 sunsolnet 이다.
};
zone "174.108.211.in-addr-arpa" in { #  IP 를 도메인 이름을 바꾸어줄 IP 영역대 정의
        type master;
        file "invsunsol";             # 파일이름은 invsunsol 이다.
};
zone "0.0.127.in-addr.arpa" in {  # loopback 도메인 설정
        type master;
        file "loopback";           # 파일이름은 loopback 이다.
};
zone "." in {
        type hint;
        file "named.root";    # 내 도메인 안에 있지 않은 도메인네임을 질문할 최상위 도메인 서버정보를 담고 있는 파일 설정
};



- 위에서 정의하는 파일은 모두  /var/named 라는 공간에 저장된다는 사실을 주의 하자.. 그러면 /var/named 는 여러분이 미리 만들어 주어야 한다.
- 이렇듯 named.conf 파일은 반드시 /etc/ 디렉토리 아래에 위치해 있어야 하며.. 각 영역 파일들의 위치를 정의하고 있다.


2. /var/named/sunsolnet 파일

- 다음은 sunsol.net 이라는 도메인이 가지고 있는 host에 대해 외부에 이름을 알려줄 수 있는 IP 어드레스를 지칭한다.


# vi /var/named/sunsolnet
sunsol.net.     IN  SOA  ultra30.sunsol.net. root.ultra30.sunsol.net. (
        20011107        ;    시리얼 넘버, 호스트를 추가한다거나 아이피를 수정할 때 마다 이 값은 반드시 증가해야 한다.
        10800           ;   재전송 타이머 초 단위 현재 표기되어 있는 시간은 12시간
        3600            ;   재시도 타이머 초단위 현재 표기값은 한시간
        604800          ;  만기 값   초단위 현재 표기값은 1주
        86400           ;  캐시에 저장된 값을 유지할 시간 현재 표기값 하루
)
; Name Servers

sunsol.net.     IN  NS  ultra30.sunsol.net.    # ultra30 호스트를 Name Server 로 둔다.

;Host Addresses
; 여기서부터 호스트에 대한 IP 주소 정의 즉, 여기에 정의한 값을 이 DNS 서버에서 관리한다.

localhost.sunsol.net.   IN  A  127.0.0.1         
ultra30.sunsol.net.     IN  A  211.108.174.30
ultra20.sunsol.net.     IN  A  211.108.174.20
ultra3.sunsol.net.      IN  A  211.108.174.13

; Aliases
; 위 호스트 에 대한 별명(CNAME) 즉, ultra20번은 ultra20.sunsol.net 이기도 하며 www.sunsol.net 이기도 하다.

www.sunsol.net.         IN  CNAME  ultra20.sunsol.net.
ftp.sunsol.net.         IN  CNAME  ultra3.sunsol.net.   


 

- 기타 사항
  IN : Internet class
  A : 뒤에 나오는 데이터 타입을 정의 IP 주소가 오는 것을 볼 수 있다.
- 주의 : 반드시 도메인 명 뒤에는 . 을 찍어 주어야 한다. 그래야 완전한 도메인 명이 성립된다.


3. /var/named/invsunsol 파일


# vi /var/anmed/invsunsol
174.108.211.in-addr.arpa.  IN  SOA   ultra30.sunsol.net. root.ultra30.sunsol.net. (
        20011106        ;  앞의 zone 파일과 같습니다.
        10800           ;
        3600            ;
        604800          ;
        86400           ;
)


; Name Servers
; 이부분은 Name 서버의 IP 주소를 도메인 네임으로 바꾸는부분입니다.

30.174.108.211.in-addr.arpa.       IN  NS  ultra30.sunsol.net.

;PTR records
; 이부분 은 각 IP 주소를 도메인 네임과 일치시키는 부분입니다.
; 앞의 sunsolnet 파일과 같은 항목이 들어가 있어야 합니다.
30.174.108.211.in-addr.arpa.    IN  PTR  ultra30.sunsol.net.
20.174.108.211.in-addr.arpa.    IN  PTR  ultra20.sunsol.net.
13.174.108.211.in-addr.arpa.    IN  PTR  ultra3.sunsol.net.



- 위의 파일은 IP 로 질의가 들어왔을 때 도메인 네임을 되돌려 주는 부분입니다. 그러므로 나오는 항목은 sunsolnet 존 파일과 동일해야 합니다.

4. /var/named/loopback


# vi /var/named/loopback
0.0.127.in-addr.arpa.  IN  SOA  ultra30.sunsol.net. root.ultra30.sunsol.net.
(
        20011107 ;
        10800   ;
        3600    ;
        604800  ;
        86400   ;
        )
; Nameservers
; 자기자신의 루푸백 도메인을 가리키는 곳입니다.
;여기서는 자기자신의 값만 정의 되어 있으면 됩니다.

1.0.0.127.in-addr.arpa.   IN  NS ultra30.sunsol.net.

:
1.0.0.127.in-addr.arpa. IN  PTR  localhost         


 

5. /var/named/named.root

- 원래 DNS 서버는 자기자신이 담당하고 있는 영역 이외의 부분은 자료로서 가지고 있지 않습니다. 위의 영역에 해당하지 않는 도메인은 named.root 파일에 정의된 root 도메인 서버로 질의를 넣어 결과값을 얻고 그 얻은 내용은
cache 파일에 저장합니다. 캐쉬파일에 넣어두는 기간은 앞에 설명드렸던 타이머에 의해 정의 됩니다.
- 이 파일은 수정을 하지 않습니다. 이 파일은 internic 에서 관할하고 있는 nameless root 서버의 위치를 정의하고 있으므로 아래 주소에서 다운 받아 옵니다.
- ftp://ftp.rs.internic.net/domain/name.root


# vi /var/named/named.root
이 항목은 내용이 굉장히 많습니다. 따로 표기 하지 않겠습니다.
위 주소에서 다운 받으시기 바랍니다.
이 파일은 원래 3달에 한번씩 internic 에서 다운 받도록 권장하고 있습니다.
하지만 그럴 필요는 없습니다. root DNS 서버가 바뀌는 일은 거의 없으니까요..

6. DNS 서버 설정
위의 작업이 다 완성 되면 네임 서버를 자기자신으로 맞추어 줍니다.


# vi /etc/resolv.conf
domain sunsol.net
nameserver 211.108.174.30

 

7. in.named 구동


#  /etc/init.d/inetsvc stop
#  /etc/init.d/inetsvc start

 

8. 확인
# nslookup
- 이 명령을 내린후 아무런 에러 없이 작동 되면 완성된 겁니다.

 

 

========= 끝으로 =====================

DNS 작업은 일일이 수작업으로 해야 하는 만큼 부담이 많이 됩니다.

물론 Windows 같은 경우야 마우스로 클릭하면 되는 작업이지만 유닉스는 그렇지 않습니다.
이게 IPv6 로 완전히 바뀔 경우 DNS 수작업으로 한다는 것은 거의 불가능에 가까워 집니다.. 물론 그에 대비한 툴이나 bind 버전이 새로 갱신되겠지만.. 128bit 의 IP 주소를 일일이 손으로 적는다고 해보십시오..ㅡㅡ;  거의 죽음입니다. ㅡㅡ;

암튼.. 한번이상의 에러를 겪을 겁니다. 될 수 있으면 위 내용을 출력하셔서 꼼꼼히 따라해보시기 바랍니다. 아니면 파일로 카피해서
복사해 넣고 자기 환경에 맞게 수정해도 상관없습니다.

편한대로 하시기 바랍니다. .
참고로 DNS 설정은 여기까지 이지만.. 나중에 에러를 보시려면

/var/adm/messages 파일을 유심히 살펴보시기 바랍니다.

tail -f /var/adm/messages 파일을 보시면 /etc/init.d/inetsvc 를 구동 시킬 때 마다. 오류 위치가 나타납니다..
일일이 어디서 오류가 났는지.. 찾아 다니는 수고를 줄일 수 있죠..^^;

 그럼.. 이만..

==========================================================

반응형
Posted by [PineTree]