2장에 이어서 이젠 딱 하나남은 설정파일만 만들면 됩니다. 바로 이 파일에서 실질적인

도메인과 서브도메인에 대한 정보를 설정하게 됩니다.

2장에서 named.conf 파일을 만들때 xenis.dnip.net.zone 으로 설정한 부분이 있습니다.

이것은 xenis.dnip.net.zone으로 네임서비스를 한다는 의미이므로 설정파일 이름또한 동일하게

만들어주는 것입니다. 이제 텍스트편집기를 사용해서 파일을 생성합니다.

사용자 삽입 이미지
111.111.111.111 부분은 실제 IP를 입력해주시면 됩니다. 참고로 유동IP를 사용하시는 경우 IP가
변경되면 이 파일의 내용도 변경해주셔야 합니다. 여러가지 불편함때문에 DNS서버는 고정IP에서 운영되는것이 바람직합니다. 어잿든..이 파일또한 그대로 입력시에 오류가 발생할수 있는관계로 아래 파일을 받아서 파일명과 내용을 적절히 수정/사용하시기 바랍니다. Virtual host 아래앞
부분인 www.mail.ftp등은 원하시는것으로 변경/추가하시면 됩니다.
예를들어 shop을 써준다면 shop.xenis.dnip.net 을 사용할수 있게되는것입니다.

xenis.dnip.net.zone

xenis.dnip.net.zone

이제 마지막 설정파일의 유효성 검사를 해보겠습니다.

사용자 삽입 이미지
위와같이 named-checkzone xenis.dnip.net xenis.dnip.net.zone 명령으로 OK가 뜬다면
이상없는것입니다. 여기까지 모든 설정파일의 생성이 마무리된것인데 이제까지 한번이라도
에러가 있었다면 그대로 지나치시면 안됩니다.


사용자 삽입 이미지
이과정까지 다 마치셨다면 위와같이 etc디렉토리에 7개의 파일이 있는지 확인해보시기 바랍니다
물론 named.root파일은 named.ca로 파일명이 바껴있는것이 정상입니다.

이제는 동작테스트를 해보겠습니다.

시작→실행→cmd를 실행하여 아래와 같이 입력합니다.
사용자 삽입 이미지

사용자 삽입 이미지
실행후 바로 윗 사진처럼 에러가 없는지 확인하시기 바랍니다. 에러가 있다면 해당메시지를
잘확인해보시기 바랍니다. 왠만한 에러는 메시지만 보고도 해결가능합니다. 이 창이 떠있으면
닫지 마시고 프로세스에 등록이 되는지부터 확인해보시기 바랍니다. ctrl+alt+del을 눌러서
작업관리자를 실행하시거나 실행메뉴에서 taskmgr을 실행하셔도 됩니다.

사용자 삽입 이미지
여기까지 이상없었다면 잘 가동된다는 것입니다. 이제는 nslookup 명령으로 네임서버가 제대로
돌아가는지를 확인해봐야합니다.cmd에서 nslookup을 실행한뒤 xenis.dip.net.zone파일 아랫
부분에서 설정했던
www.xenis.dnip.net 이나 mail.xenis.dnip.net 을 입력해보고 IP가 일치한다면 제대로 적용된것입니다.

사용자 삽입 이미지
위와같이 zone파일에서 시정했던 서브도메인들을 체크해보시고 ipconfig를 통해 자신의 ip와
일치한지 확인하셔야 합니다. 이제 named데몬을 서비스로 등록하여 자동으로 서비스되게
해보겠습니다.

시작→제어판→관리도구→서비스에 보시면 ISC BIND라는 서비스가 있습니다. BIND를 설치
하면서 account name을 기본값인 named로 지정했기때문에 named계정으로 서비스가
실행되는데 이를 로컬시스템 계정이 실행하도록 바꿔줘야합니다.


사용자 삽입 이미지
오른쪽 끝을 보시면 처음에는 이와같이 .\named계정이 서비스를 실행하도록 되어있습니다.

사용자 삽입 이미지
이를 로그인탭을 눌러서 로컬 시스템계정에 체크하고 적용뒤 사용버튼을 누르면 서비스가 실행되고 로컬사용자로 프로세스가 실행됩니다. 여기까지 DNS서버를 윈도우에 설치하고 설정파일
을 만들어보기까지 완료하였습니다. 고정IP인 경우는 여기까지만 참고하시면 더이상 신경쓰실
필요가 없이 DNS서버설치가 완료되지만 유동IP의 경우 다릅니다. 설치된것에 이상이 생기는
것은 아니지만 IP가 변경될경우 dnip.net 에 접속하여 수동으로 도메인IP를 업데이트 시키거나
http://download.holywar.net/DNIP.ZIP 이주소를 통해 자동업데이트 프로그램으로 적용시켜준뒤 xenis.dnip.net.zone 파일의 IP들을 현재사용하는 IP로 모두 변경해주어야
합니다. 이후에 해줘야 할것은 변경된 zone파일을 적용해주는것인데 이것은 cmd에서 rndc reload 명령을 써주면 됩니다.

사용자 삽입 이미지
위와같이 실행하면 적용됩니다. 혹은 named데몬자체를 다시시작하는(서비스재시작)방법이
있습니다. 편한방법으로는 제어판→관리도구→서비스를 통해 ISC BIND서비스를 재시작 시켜
주면 됩니다. cmd상에서 적용할때는 net stop "ISC BIND" 명령을 일단써서 중지 시킨후
net start "ISC BIND" 를 실행해주면 다시 시작됩니다.

여기까지 윈도우에서 DNS서버를 설치하는방법을 알아보았습니다. 앞서 말했지만 DNS서버는
소규모로 저처럼 운영하는 경우에는 그다지 필요가 없습니다. 다만 서브도메인을 가져야겠다
싶으신분이나 웹호스팅을 생각하고 계신다면 반드시 필요하겠지요.
참고하시고 구축해보시기 바랍니다.
  • BlogIcon 종횡무진 2008.01.16 19:50

    글 작성 하시느라 힘드셨겠어요.

    근데 컴맹이라 고생하셔서 쓴 좋은 글을 볼 줄 몰라 죄송할 따름입니다 ㅠㅠ

    • BlogIcon 박디 2008.01.16 21:26

      ㅎㅎ 서버에 관심 없으시면 사실 별 필요없는 글이지요. 뭐 요새 딱히 특별한 사건이 없어서 컴퓨터쪽으로 글을 많이 쓰게 되네요 ㅋ

  • BlogIcon 장형진 2008.01.16 20:58

    멍... 예전에 apmsetup으로 한번 돌려본적 있는데 역시 이쪽은 맹입니다요 ㅋㅋ

    • BlogIcon 박디 2008.01.16 21:27

      APMsetup으로 저도 윈도우 웹서버를 처음 접했습니다. 그이전에 IIS도 잠시 접했었지만 제대로 운영해본것은 APMsetup을 통해서 였네요. 지금은 안쓰고 오토셋을 사용합니다. 매니져기능만 사용하고 나머지는 개별적으로 설치해서 사용하고 있지요

  • BlogIcon nemo 2008.01.16 23:43

    윈도우로 서버사용하면 컴하나를 줄일수 있어 좋은듯 합니다. ^^

    • BlogIcon 박디 2008.01.17 01:29

      뭐니뭐니해도 웹서버는 리눅스로 운영하는게 그래도 안정적인것 같아요. 윈도우는 자원소비가 너무 심하네요 언제쯤 리눅스로 서버운영체제를 갈아탈지 ㅋㅋ

  • BlogIcon mepay 2008.01.18 18:34

    약간은 어려운데요..ㅎㅎㅎ -_-;;;;

  • BlogIcon mepay 2008.01.18 18:34

    약간은 어려운데요..ㅎㅎㅎ -_-;;;;

    • BlogIcon 박디 2008.01.19 04:28

      길게 써놔서 그렇지 설치방법은 간단합니다. 구조를 알고있으면 어떻게 돌아가는지 대충 이해도 빠르구요. 저도 자세히는 잘 모릅니다. 네트워크쪽에 관심이 많아서 해본것 뿐이죠 ㅋ

  • BlogIcon 바다21 2008.01.27 19:44

    와우 감사합니다~ 덕분에 큰 숙제 하나 해결했네요.
    누가 윈도우 XP로 서버구축해달라기에 해주었는데 너무 유용했습니다.
    감사합니다 ^^*

    • BlogIcon 박디 2008.01.28 01:16

      도움되셨다니 기분이 좋군요^^ 긴글 읽어주셔서 감사합니다

  • BlogIcon Deep 2012.02.23 01:01

    Microsoft DNS를 사용하다가 BIND로 갈아탈려고 하는데 꽤 어렵네요
    쉽게 설명해주신 강좌 감사합니다^^

1장에 이어서 이제 BIND의 DNS서버 설정파일을 만들어보겠습니다. BIND설치자체는 너무 간단해서 허무할 정도이지만 설정파일 만들기가 상당히 귀찮습니다. 하지만 설정파일이 없으면 아무것도 할수가 없으니..한번 살펴보도록 하죠.

설정파일을 만들기에 앞서 BIND의 바이너리 파일들을 쉽게 아무곳에서나 경로입력없이
사용하기 위해 Path를 지정해줘야겠습니다.
(내컴퓨터→속성→고급→환경변수→시스템변수→Path)

편집버튼을 누른뒤 앞서 BIND를 설치한 디렉토리를 입력하여 줍니다. bin폴더는 설치된 BIND
의 각종 실행파일이 있는곳입니다. 입력후 확인해줍니다.

사용자 삽입 이미지
이제 Key파일로 쓰일 rndc.key와 이에따른 환경설정 파일인 rndc.conf파일을 만들겠습니다.

사용자 삽입 이미지
cmd에서 위와같이 rndc-confgen -a명령으로 키파일을 만든뒤 위와같이 type명령으로
key파일의 내용을 한번 확인해봅니다. 키값의 경우 모두 제각각 다릅니다.


사용자 삽입 이미지
rndc.key파일이 설치된곳의 etc디렉토리에 있는것을 확인할수있습니다. 이외의 여러
설정파일도 앞으로 이 etc디렉토리에 들어가게 됩니다.이제 앞에서 이어 conf파일을 만듭니다.

사용자 삽입 이미지
두번째와 같이 rndc-confgen>해당경로/rndc.conf 를 입력실행하면 rndc.conf파일이
생성됩니다. 이젠 rndc.key 파일의 키값을 rndc.conf와 똑같이 만들어주는 작업을 하게됩니다.

사용자 삽입 이미지
rndc.key , rndc.conf 파일을 메모장등의 텍스트편집기로 열고 secret부분을 살펴보면 키값이
다릅니다. rndc.key의 secret부분의 값을 모두 복사해서 rndc.conf의 secret부분을 이값으로
바꿔줍니다.

사용자 삽입 이미지
위와같이 똑같게 만들어줍니다.

이번엔 named.conf 파일을 만들어보겠습니다. 이 conf파일은 앞으로 dns서버를 서비스할 데몬
프로그램인 named.exe의 설정파일입니다. 이 파일은 위에서처럼 자동으로 생성되지 않고 따로
텍스트편집기등을 사용해서 만들어줘야합니다. 편의상 주석부분인(//) 부분은 입력하시지
않아도 됩니다. 그이외의 부분만 자신의 환경에 맞춰서 바꿔주시면 되겠습니다.

사용자 삽입 이미지
위사진과 똑같이 전부 입력합니다. 몇몇 부분만 자신의 환경에 맞춰 수정하면 됩니다. 보시면
금방 아실듯.. 문자 한개라도 틀리면 에러가 납니다. 일단은 꼼꼼히 작성합니다. 전부 작성/저장
하셨으면 이제 문법 오류검사를 해보겠습니다.

사용자 삽입 이미지
named-checkconf 명령으로 위와같이 named.conf파일의 문법오류를 살펴봅니다. conf파일의
19번째,28번째,37번째 줄에서 뭔가가 잘못됐군요. 확인결과 19번째줄의 }; 구문이 빠져서
오류가 발생했습니다.

사용자 삽입 이미지
다시 문법검사시 아무 이상 없음을 나타내고 있습니다.

이제는 named.ca파일을 만들겠습니다. 이파일은 만든다기 보다는..받아온다는 표현이 낫네요.

사용자 삽입 이미지

위의 주소로 접속하여 named.root 파일을 다운로드 받아서 etc폴더에 넣어주고 named.ca로
파일명을 변경해줍니다.
(ftp://ftp.rs.internic.net/domain)

이젠 localhost.zone 파일을 생성하겠습니다. 로컬호스트의 IP주소를 명시해주는 파일입니다.
 

$TTL 86400
@    IN   SOA     @       root (
       42          ; serial (d. adams)
       3H         ; refresh
       15M       ; retry
       1W         ; expiry
       1D )       ; minimum

       IN    NS     @
       IN    A       127.0.0.1


이렇게 똑같이 입력해주면 되는데 그냥 편집기에서 타이핑후 저장후에 유효성 검사를 해보면
오류가 나는 경우가 있습니다. 그래서 그냥 이파일을 다운로드 해서 쓰시기 바랍니다.

localhost.zone

localhost.zone

이제 localhost.zone파일의 유효성 검사를 해보겠습니다.

사용자 삽입 이미지
위에서 오류가 발생한다고 했던것이 바로 이부분입니다. 그대로 편집기에 쓸경우 띄어쓰기도
영향을 받는군요. 위파일을 다운로드 하셔서 위사진처럼 named-checkzone localhost localhost.zone 명령을 통해 아래사진과 같이 메시지가 뜬다면 정상입니다.

사용자 삽입 이미지
이제 named.local파일을 생성할 차례입니다. 이 파일은 localhost의 inverse domain에 대한
정보설정 파일로 위의 localhost.zone파일에서 localhost가 127.0.0.1을 가리키게 한것처럼
이파일에선 반대로 127.0.0.1이 localhost를 가리키게 설정해줍니다.

$TTL  86400
@    IN    SOA        localhost.    root.localhost. (
                            1997022700 ; Serial
                            28800         ; Refresh
                            14400         ; Retry
                            3600000      ; Expire
                            86400 )       ; Minimum
       IN      NS        localhost.

1     IN      PTR       localhost.

이 파일내용또한 위 내용 그대로 써주면 되지만 오류가 발생할 소지가 있어서 한번 해보시고 안된다면 아래 파일을 받아서 유효성 검사를 해보시면 됩니다.


named.local

named.local

앞서와 마찬가지로 유효성 검사를 해보겠습니다.

사용자 삽입 이미지
위 사진은 잘못된 검사 방법입니다.;;  named-checkzone named.local named.local
명령으로 검사하신뒤 흰색부분의 메시지가 표시된다면 제대로 된것입니다.

3장에서는 개별도메인설정 zone 파일생성에 대해 알아보겠습니다.

오랜만에 상당히 긴 강좌를 올려볼까 합니다. 바로 DNS(Domain Name System) 서버를

윈도우에서 사용할수있는 방법에 대한 강좌인데 웹서버에 관련된 지식이 전무하다면 웹서버에

대한 지식이 어느정도 있는것이 설치후 운영시 도움이 되겠습니다. 본 강좌는

htttp://jobdahan.net/
 의 DNS 서버강좌를 대부분 참고하였으며 여기서는 저의 설치체험을

중심으로 진행하겠습니다.

1. DNS란 무엇인가?
 인터넷을 사용하는 모든 컴퓨터는 숫자로된 IP주소를 가지고 있습니다. 어떤곳도 예외는 없으며
 이곳 Mad Palace도 마찬가지입니다. 근데 만약 숫자주소로만 사이트를 방문하게 된다면 번거
 롭기도 하고 뭐하는 사이트였는지 방문후에 잊어버리겠죠?  예를들어 네이버는 222.122.84.200
 이란 IP주소를 갖고있는데 naver.com이란 도메인 네임이 없다면 금새 잊게되겠죠. 도메인네임
 은 하나의 규칙입니다. 그럼 접속시 이런 도메인네임을 IP와 연결해주고 관리해주는 서버가 필요하게되는데 바로 이기능을 하는것이 DNS서버입니다.

사용자 삽입 이미지
우리가 인터넷 서비스를 이용하면 위와같이 해당 ISP의 DNS서버의 서비스도 함께 받게됩니다.
그럴일은 없겠지만 만약 ISP의 DNS서버가 모조리 맛이 가버렸다면 도메인 주소를 입력했을때
접속을 못하게 되는것이죠. (DNS의 작동개념에 대한 자세한 내용은 http://jobdahan.net
자세히 설명되있습니다. 최대한 알아보기 쉽게 설명되어있으니 궁금하신분은 참고바랍니다.)

2. 그럼 DNS서버를 설치하면 뭐가 좋은가?
 서브도메인을 사용할수 있게 됩니다. 이곳을 예로들면 모체인 xens.dnip.net을 두고 parkdi.xens.dnip.net 이런주소나 blog.xens.dnip.net등을 쓸수있게 됩니다. 물론 저처럼 소규모
로 블로그나 기타 웹서비스만을 하는 서버의 경우엔 굳이 DNS서버까지 복잡하게 설치할필요는
없습니다만 '웹호스팅을 해보고 싶다' 혹은 공부를 목적인분들에게 도움이 되겠습니다.

3. 설치전 과정
 일단은 메인으로 쓸 도메인이 필요합니다. 물론 왠만한 도메인 구입시 네임서버까지 사용가능
하게되있기 때문에 그런경우엔 이 강좌가 전혀 필요없겠습니다. 무료도메인을 사용하기는 쉽습니다. 유료로는 codns등의 파킹페이지등을 지원하는곳도 있지만 역시 무료의 유혹을 피하긴 힘듭니다. 개인적으로는 dnip.net이 가장 무난한 서비스같습니다. 기타 서비스 업체를 사용하시는
분들도 ns.xxx.xxx 등의 주소가 사용가능한지 알아보시기 바랍니다.

사용자 삽입 이미지
그럼 이제 DNIP.net 에 접속해서 사용자 정보 수정을 하면 이렇게 Host Information란에 Address Only가 기본으로 체크 되있는데 바로 오른쪽의 Sub nameserver로 체크해주시고
확인해줍니다.

적용뒤 시작->실행에서 cmd를 입력실행 하여 커맨드 프롬프트 창을 통해 다음과 같이 입력하여 적용이 되는지 확인을 합니다. 대신 주소이름 (ns. 뒤의..)의 경우는 각자 만들었던 주소를 써야합니다. 아래와 같이 뜨면 정상인데 ipconfig명령을 cmd상에서 실행하여 현재 IP와 nslookup
으로 확인한 주소가 일치한지 확인을해봅니다.
사용자 삽입 이미지
4-1 BIND 설치하기
 DNS서버 프로그램인 BIND를 설치하기전 몇가지 체크해야할 사항이 있습니다. 공유기를 쓰고
있다면 자신이 쓰고있는 컴퓨터가 공유기를 거쳐 인터넷 공유서비스를 '받고'있는 입장인지
확인해보시기 바랍니다. '뿌리는' 입장의 컴퓨터에서 이용하는데에는 아무 상관없습니다.받는 입장의 컴퓨터 에서는 포트를 포워딩 해줘야만 웹서버사용이나 DNS서버 사용이가능합니다. 포트포워딩에 관한 내용은 따로 찾아보시기 바랍니다. 그럼 이제 BIND를 다운로드 받습니다.

(http://www.isc.org) ← BIND 다운로드 받기

윈도우용으로 zip패키지가 있고 리눅스용도 있습니다. zip패키지를 다운로드 받아서 적당히 아무
곳에나 압축해제 시킨뒤 해당 디렉토리의 Bindinstall.exe를 실행하면 아래와 같이 뜹니다.

사용자 삽입 이미지
Target Directory에는 원하는 설치경로를 입력해줍니다. 아무곳에나 설치해도 별 상관없지만
편의상 복잡한 이름의 폴더는 피하는것이 좋습니다. 그리고 아래 Service account name은
그대로 두고 password를 입력하고 confirm password란에도 입력한 패스워드를 입력해줍니다
옵션은 그대로 두면 됩니다. 이후 install버튼을 누르면 해당 디렉토리에 설치를 하게됩니다.

여기까지 DNS가 무엇인지에 대해 대충 알아보고 BIND설치까지 마쳤습니다. 2장부터는 가장
중요한 설정파일 만들기에 대해 알아보겠습니다.