5-3. DNS 설치 및 구성 Windows Networking2008. 11. 16. 22:05
5-3-1. DNS Service 설치
이번 장에서는 한글 Windows Server 2003을 기준으로 DNS를 설치하고 구성하는 방법에 대해서 설명한다. 앞에서 살펴보았듯이, DNS를 사용하기 위해서는 먼저 우리가 원하는 도메인을 등록해야 한다. 도메인 관리는 InterNIC에서 담당하고 있다. 국외 도메인의 경우(.com .net .org등)는 ICANN (The Internet Corporation for Assigned Names and Numbers / http://www.icann.org )에서 등록을 할 수 있고, 국내의 도메인의 경우(.co.kr .pe.kr등)는 KRNIC (Korea Network Information Center / http://www.nic.or.kr )에서 등록할 수 있다. 하지만, 일반적으로는 직접 등록을 하지 않고, 등록대행기관을 통해서 하고 있다. 특히 국외 도메인의 경우는 기타 제반서류가 영문으로 처리가 되어야 하므로 국내의 도메인등록 대행기관을 통해서 하는 것이 훨씬 수월하다. 국내 도메인등록 대행기관이라면 WHOIS, iNames, NETPIA 등 많은 업체가 있다. 일반적으로 도메인을 등록할 때는 아래의 몇가지 정보를 제공해 주어야 한다.
① 회사 혹은 개인의 이름
② 주민등록번호 혹은 사업자 등록번호
③ 주소
④ 관리자
⑤ Name Server (= DNS Server)
이 장에서 DNS설치의 예제로 사용할 도메인은 필자가 등록한 Secure.pe.kr 이라는 도메인이다. 다음 페이지에 캡춰해 놓은 그림을 살펴본다.
<그림5-12. "secure.pe.kr" Domain 등록정보>
많은 도메인 등록사이트를 통해서 도메인등록 정보를 알아볼 수 있다. 위의 그림은 www.inames.co.kr를 통해서 조회한 화면이다. <그림5-12>에서 중요한 정보는 secure.pe.kr를 관리하는 네임서버(DNS Server)의 정보이다. 그림에서 볼 수 있듯이 secure.pe.kr 도메인은 ns2.secure.pe.kr이라는 FQDN을 가진 1차 네임서버에 의해 관리되고 있으며 IP Address는 211.234.93.250이다. 2차 네임서버는 ns.feelanet.com으로 되어 있는 것을 확인할 수 있다. 이제 DNS서버를 설치할 수 있는 기본준비가 되었다. 일반적인 DNS설치과정은 아래의 순서를 따른다. 자세한 사항은 설치하면서 하나씩 알아가도록 하자.
<그림5-13. DNS Server설치순서>
위에서 secure.pe.kr의 네임서버로 등록한 서버의 IP Addres는 211.234.93.250이다. 이 서버가 DNS 서비스를 할 수 있도록 하기 위해서 먼저 DNS Service를 추가해 보자. Windows Server 2003에서 서비스라고 하는 것은 백그라운드에서 동작하도록 만들어진 네트워크 어플리케이션을 말한다. 오피스와 같은 프로그램을 포그라운드 어플리케이션이라고 하는 것과 비교하면 이해를 할 수 있을 것이다. ‘시작à제어판à프로그램추가/제거àWindows구성요소’를 통해서 아래의 그림으로 접근할 수 있다. 설치중 Windows Server 2003 원본CD가 필요하다.<그림5-14>
< 그림5-14. DNS서비스 설치>
DNS 를 설치하면, 관리도구에 DNS관리콘솔이 등록된다. 실행해 본다.<그림5-15>
< 그림5-15. DNS 관리도구 >
처음 만나게 되는 그림이다.<그림5-16> DNS라는 항목아래에 Blueapple이라는 이름의 서버가 있고, 그 아래에는 정방향조회영역(Forward Lookup Zone)과 역방향조회영역(Reverse Lookup Zone)이라는 항목을 볼 수 있다.
< 그림5-16. Windows Server 2003 DNS 관리콘솔 >
DNS에서의 영역(Zone)은 DNS Server가 관리하는 하나의 관리단위이다. 하나의 DNS서버는 여러개의 도메인을 관리 할 수 있는데, 그 때 하나하나 도메인들을 가리켜서 Zone이라고 부른다. 알고 넘어가야 할 것이 있다. Zone이라는 것은 알겠는데 그렇다면 정뱡향조회, 역방향조회 라는 것이 무얼 말하는가? 원어로는 Forward Lookup, Reverse Lookup이라고 되어 있다. 필자도 개인적으로는 영어를 잘하지도 못하고 좋아서 쓰지는 않는다. 하지만 인터넷 관련된(물론 컴퓨터 자체가 그렇지만) 거의 모든 용어가 영어로 되어 있다. 물론 번역을 해서 표기를 하고 있지만, 가급적이면 본래 용어로 기억을 하도록 하자. 그편이 정신건강에 도움이 된다.
DNS의 기본기능을 생각해 보자. 앞장에서 설명한 대로 DNS가 하는 일의 가장 주된 기능이라면 www.secure.pe.kr등의 hostname을 IP Address로 풀이하는 일이었다. Forward Lookup Zone은 그러한 기능을 제공하기 위한 영역이다.
그렇다면 Reverse Lookup Zone은 무엇일까? 만일 우리가 이번에는 IP Address를 가지고 거꾸로 Hostname을 알고 싶다고 하면 어떻게 해야 할까? 물론 DNS Server가 알아서 해주길 바라겠지만 컴퓨터는 우리가 제공하지 않은 정보까지 스스로 알진 못한다. 누군가 Hostname에 대한 IP Address를 묻는 것 대신에 IP Address를 통해서 Hostname을 알고자 했을 때(Inverse Query) DNS서버가 그 정보를 제공하기 위해서는 해당 정보를 가지고 있어야 한다. DNS서버는 Reverse Lookup Zone에 거꾸로 물어보기(Inverse Query)에 응답하기 위한 레코드를 저장하게 된다.
관리하고자 하는 도메인을 추가한다. 예제에서는 위에서 등록했던 secure.pe.kr이라는 도메인을 등록해 보도록 하겠다. <그림5-17>
< 그림5-17. Zone 추가 >
영역을 선택하는 그림이 나온다.<그림5-18> 기본설정은 ‘주영역’으로 되어 있다. 기본설정을 그대로 두도록 한다.
< 그림5-18. DNS 영역형식 설정 >
다음에 영역이름을 입력해 준다<그림5-19>. secure.pe.kr이라고 입력하였다. 처음 DNS를 공부하는 사람들이 도메인이름과 호스트이름을 구별하지 못해 어려움을 느끼는 경우가 많다. 도메인이름은 논리적인 그룹을 표기하는 것이고, 호스트이름은 실제 서버에 주어진 컴퓨터의 이름이다. 명확히 정리를 하고 넘어갈 필요가 있다. 예제에서 secure.pe.kr도메인을 관리하는 서버의 이름은 blueapple.secure.pe.kr이지만, 도메인의 이름은 'secure.pe.kr"이다. 만일 이 항목에 blueapple.secure.pe.kr이라고 입력했다면, 그것은 secure.pe.kr의 하위도메인인 blueapple.secure.pe.kr 이라는 별도의 도메인으로서 인식된다. 여기서 www라는 레코드가 만들어진다면 그 서버의 FQDN은 www.blueapple.secure.pe.kr이 될 것이다.
< 그림5-19. 영역 이름 입력 >
DNS 데이터베이스는 파일형태로 저장된다. <그림5-20>에서는 파일이름을 결정하는 항목이다. 기본적으로 도메인이름.dns라는 파일로서 생성이 된다. 좋은 설정이다. 바꾸어도 되겠지만, 굳이 그럴 이유는 없다. 설치가 끝난다음, %systemroot%\system32\dns 폴더를 검색해 본다. "도메인이름.dns"라는 파일을 찾을 수 있을 것이다. 메모장을 통해서 열어볼 수 있는 텍스트파일이다.
< 그림5-20. 영역 파일 이름 결정 >
[다음]을 누르면 동적 업데이트를 설정하는 화면이 나온다.(그림5-21) 기본설정은 ‘동적 업데이트 허용 안 함’이다. 외부로 노출되는 DNS서버라면 기본설정을 그대로 두는 것이 바람직하다. 뒤에서 다루어지는 동적업데이트는 아주 유용한 설정이긴 하지만 경우에 따라 보안상 문제가 될 소지를 담고 있기 때문이다.
< 그림5-21. 동적 업데이트 설정 >
< 그림5-22. 영역 마법사 완료 >
자. 이제 영역이 만들어졌다. <그림5-23>에서 만들어진 secure.pe.kr 영역을 확인할 수 있다. 콘솔 오른쪽에는2개의 레코드가 등록되어 있는 것이 보인다.
< 그림5-23. secure.pe.kr Zone의 생성확인 >
이어서 Reverse Lookup Zone에 대해서도 구성을 해 본다. <그림5-24>
< 그림5-24. Reverse Lookup Zone 만들기 >
위에서 설명한 바와 같이 이번에는 문자도메인이 아니다. IP Address로 구성된 도메인을 만들어야 한다. 예제에서 DNS서버의 IP Address인 192.168.0.16은 “C"class에 해당하는 IP Address이므로 192.168.0까지가 네트워크ID이다. 네트워크 ID부분만을 입력해 준다. 아래부분에 있는 "역방향 조회 영역 이름"을 살펴보면, "0.168.192.in-addr.arpa"라고 표기되는 것을 확인할 수 있다. 그것이 바로 생성될 영역의 이름이다.
< 그림5-25. Reverse Lookup Zone 등록 >
이 영역에 대해서는 이미 약속이 되어 있다. DNS라는 것이 마이크로소프트만이 사용하는 것이 아닌 인터넷 표준이기 때문에 모든 DNS간에는 호환성이 유지되어야만 한다. 그래서 IP주소를 이용해서 호스트이름을 확인하는 inverse query(역질의)를 발송할 때, "in-addr.arpa"도메인명을 이용하도록 약속된 것이다. 만일 외부의 DNS Server가 218.55.9.26를 사용하는 서버의 hostname을 요청했다면 실제 요청은 "26.9.55.218.in-addr.arpa" 로서 날아오게 된다. 아래의 그림은 DNS Server에서 Inverse Query를 Windows2000이 제공하는 Network Monitor Tool을 사용하여 캡쳐한 그림이다. 진한부분을 보면 요청하는 이름을 확인할 수 있다. 도메인명은 "9.55.218.in-addr.arpa"가 되고, "26"은 forward lookup zone의 레코드 형태로 하나의 호스트이름에 해당되는 내용이다.
|
다음 과정은 역시 Reverse Lookup Zone에 대한 데이터베이스를 저장할 파일이름을 결정해 준다.
< 그림5-27. Reverse Lookup Zone Database File 결정 >
Reverse Lookup Zone설치를 하고 나면 <그림5-28>에서 보는 바와 같이 blueapple이라는 DNS Server는 2개의 Zone을 관리하는 DNS Server로서 설치가 되었다.
< 그림5-28. DNS Server 관리콘솔 >
지금까지 DNS Service를 설치하고, DNS Server가 관리할 Domain을 구성하는 작업을 해 보았다. 막상 하고 나면 뭐가 이렇게 쉽나? 하는 생각이 든다.( 돌 날아오는 소리가 들리는 것 같다 ^^;) 마이크로소프트의 Windows기반의 OS의 가장 큰 장점은 사용자 인터페이스가 쉽다는데 있다. 관리자 입장에서도 마찬가지이다. 개념을 이해하는 과정이 조금 까다로울 뿐이지 막상 관리작업은 너무나 쉽다.
5-3-2. DNS 레코드 등록
DNS의 기본구성을 했는데 그 다음엔 무엇을 해야 할까? 한가지만 생각해 보자. 지금 DNS서버를 구성하고 관리영역(도메인)을 추가하는 작업을 왜 한 것일까? 누구를 위해서?? 지금까지의 용도로 본다면 원격지의 클라이언트가 다른 DNS서버를 통해서 secure.pe.kr도메인에 속해있는 서버들의 IP Address를 알 수 있도록 하기 위한 구성이었음을 알 수 있을 것이다. 그렇다면 당연히 추가작업을 생각할 수 있다. 바로 웹서버, 메일서버, FTP서버 등 실제 외부에서 접근해야할 서버들을 도메인에 추가하는 작업을 해야 할 것이다. 도메인에 등록되는 이들 서버들의 정보를 "레코드(record)"라고 부른다.
결국 해야할 작업은 관리할 도메인에서 "레코드"를 추가하는 작업을 해야 하다는 얘긴데, 여기에는 중요한 원칙이 한가지 들어있다. 아래의 그림을 보고 설명하도록 하겠다.
< 그림5-29. DNS와 Mail Server >
<그림5-29>에서는 wssong@secure.pe.kr 이라는 E-mail을 쓰는 사용자가 dcpromo@mscs.co.kr 에게 메일을 전송하는 과정에서 DNS Server가 어떻게 동작하는지를 보여주고 있다. wssong이라는 사용자로부터 메일전송요청을 받은 secure.pe.kr의 메일서버는 mscs.co.kr의 메일서버의 IP를 알아야만 메일을 전송할 수 있다. 이 때 메일서버의 IP주소를 알아내기 위해서 DNS 클라이언트로서 동작한다. 자신의 DNS Server로 설정된 DNS Server에게 yahoo.co.kr의 메일서버의 IP를 요청하게 되고, 요청을 받은 DNS서버는 iterative query를 통하여 메일서버의 IP를 알아오게 된다. 이 과정이 선행되지 않으면 메일서버들끼리 메일전송은 있을 수 없는 일이다.
이때 DNS Server가 상대방 mail server의 IP정보를 가지고 있는 DNS Server에게 IP요청을 할 때 어떤 형식으로 요청을 해야 할까? 무작정 "당신 회사의 메일서버가 누구인지 가르쳐 주세요"라고 우리가 쓰는 말처럼 물어볼 수는 없는 노릇이다. 역시 DNS Server간에 약속된 어떤 표기법이 필요하다는 것이다. 이러한 이유로 DNS Server에 등록되는 하나하나의 레코드 마다 별도의 레코드 유형을 정의해 둠으로써 호환성을 이루어 내고 있는 것이다. 그래서 메일서버는 메일서버(MX)로서, Name Server는 Name Server(NS)로서 각각 하는 역할에 맞는 레코드 유형으로 등록되어 있어야 한다. <그림5-30. DNS Record Type참고>
< 그림5-30. DNS Record Type의 종류 >
DNS서버가 가지고 있는 레코드는 크게 두가지 종류로 구분해 볼 수 있다. 첫번째는 “위치”이고, 두번째는 “역할”이다. 잘 이해하면 DNS의 레코드를 명확히 하는데 도움이 된다.
첫번째의 “위치”라고 하는 것은 클라이언트가 호스트 이름에 해당하는 컴퓨터가 어디에 있는지, 즉 무슨 IP Address를 사용하고 있는지를 물어볼 때의 응답을 의미한다. 예를 들어서 클라이언트가 www.secure.pe.kr 의 IP Address가 무엇인지를 묻는 경우에 해당한다. 이 요청을 받은 DNS서버는 www.secure.pe.kr 서버의 IP Address가 무엇인지를 응답함으로써 위치정보를 가르쳐 주게 된다. 이것에 해당하는 레코드가 바로 DNS서버의 “A(Address)레코드”이다.
두번째의 “역할”이라는 것은 다른 의미를 가진다. 클라이언트가 호스트이름을 내밀고 위치를 묻는것과는 달리 클라이언트는 컴퓨터의 이름을 모르는 상황이다. 이를 테면, “내가 메일을 보내고 싶은데 메일서버의 역할을 하고 있는 컴퓨터의 이름은 뭐니?” 라는 형태이다. 또는 “내가 도메인 컨트롤러를 찾고자 하는데 도메인 컨트롤러로서 서비스를 하는 컴퓨터의 이름은 뭐니?”라는 형태의 요청을 말한다. 첫번째의 “위치”를 묻는 것과는 조금 다르게 생각될 것이다.
이러한 요청을 받은 DNS서버는 다음과 같이 응답해야 한다. 예를 들어서 secure.pe.kr의 메일서버를 찾는 요청이 들어왔다면 DNS서버는 “Secure.pe.kr도메인에서 메일서버의 역할을 수행하는 서버는 mail.secure.pe.kr이야”라고 응답을 할 것이다. 그렇다면 클라이언트가 이 정보만으로 메일을 주고 받을 수 있을까? 당연히 뭔가 부족함을 느낄 것이다. 클라이언트가 궁극적으로 필요한 것은 메일서버의 IP Address이다. Mail.secure.pe.kr라는 메일서버의 이름만으로는 메일을 주고 받을 수가 없다는 것이다. 그렇기 때문에 “역할”을 묻는 DNS쿼리의 경우에 대한 응답은 항상 이중으로 구성된다. “메일서버로 동작하는 서버는 mail.secure.pe.kr이고(MX레코드), mail.secure.pe.kr은 192.168.0.15라는 위치에 있어(A레코드)”라고 응답해야 함을 의미한다. DNS관리자는 이러한 것들을 잘 고려하고 실수를 하지 말아야 한다. 메일서버를 DNS서버에 등록하기 위해 MX레코드를 추가해 주고 나서 만일 해당 메일서버의 A레코드는 만들지 않게 되면 메일서비스는 동작하지 못하게 되는 것이다. 상대방 입장에서 보자면 메일서버가 mail.secure.pe.kr라는 것은 알았지만 mail.secure.pe.kr가 어디에 있는지, 즉 어떤 IP Address를 사용하는지를 알수 없어서 통신이 불가능하기 때문이다.
DNS Server를 통해서 이름풀이가 되어야 할 호스트를 추가한다<그림5-31>. 호스트를 추가할 도메인 영역을 통해서 접근한다. 여러 가지 메뉴가 나온다. 어떤 레코드를 추가할 것인지에 따라 각각 다른 메뉴를 사용한다.
< 그림5-31. 새로운 레코드 추가메뉴 >
< 그림5-32. 새호스트 추가작업 >
<그림5-32>의 <이름>란에 호스트이름을 입력한다. 그림에서는 'bluexp'라고 입력하였다. 그렇다면 이 호스트의 FQDN은 'bluexp.secure.pe.kr'이 된다. IP주소 아래에 "연결된 포인터(PTR)레코드 만들기"라는 체크박스가 있다. 기본적으로는 비워둔 상태이다. 체크를 하게 되면 호스트 레코드를 등록을 작업 한번만으로 동시에 Reverse Lookup Zone에 PTR 레코드까지 생성해 주는 옵션이다. 이 작업이 제대로 되기 위해서는 먼저 reverse Lookup Zone이 구성되어 있어야 한다. 그렇지 않다면 나중에 추가해 주면 된다.
< 그림5-33. 새호스트 추가작업 >
작업을 마치면 DNS관리콘솔의 오른쪽에 bluexp라는 호스트 레코드가 추가된 것을 확인할 수 있다.
< 그림5-34. Mail Server Record 추가 >
다음에 이번에는 메일서버를 등록해 보자. DNS관리콘솔의 관리영역인 Secure.pe.kr에서 마우스 오른쪽 클릭을 이용하여 “새 메일 교환기(MX)”를 선택하여 추가한다.
< 그림5-35. Mail Server Record 추가 >
<그림5-35>에서는 메일서버를 위한 레코드를 추가하고 있다. <찾아보기>버튼을 눌러서 메일서버의 호스트이름을 찾는다. 메일서버 우선순위는 '10'이 기본값이다. 메일서버가 여러대 있다면 우선순위를 별도로 할당해 줄 수 있다. 숫자가 낮을수록 우선순위는 높다. '호스트 또는 도메인'항목은 공백으로 두었다. 예제에서 사용하게 될 메일주소는 username@secure.pe.kr형태이다. 만일 username@mail.secure.pe.kr등의 형태를 사용하고 싶다면, 공백 대신에 'mail'이라고 기록해 준다. 비워둔 상태를 사용하는 것이 일반적이다.
< 그림5-36. CNAME 레코드 추가 >
<그림5-36>에서는 많이 사용하는 레코드중의 하나인 CNAME을 등록하는 작업을 보여주고 있다. 일반적으로 흔히 볼 수 있는 www, ftp, pop3, mail 등의 이름들이 CNAME을 사용한다. 한 컴퓨터가 orange.secure.pe.kr이라는 호스트이름을 이미 가지고 있다면, 그 서버가 추가로 web, ftp등 여러서비스를 하고 있을 때, 각각 호스트이름을 등록하는 것 대신에 별칭을 사용하는 것이 좋다.
< 그림5-37. CNAME 레코드 추가 >
CNAME 레코드도 위에서 설명한 “역할”에 해당하는 레코드이므로 독립적으로는 동작할 수 없다. 반드시 A레코드와 한쌍으로 이루어져 있어야 한다. <그림5-37>을 보면 별칭으로 www를 사용하고 있고, 별칭에 해당하는 실제 호스트의 이름은 blueapple.secure.pe.kr 라고 등록을 하고있다. 이 경우 만일 클라이언트가 “www.secure.pe.kr 의 IP Address를 가르쳐 줘”라고 묻는다면 DNS서버는 “www.secure.pe.kr 즉 secure.pe.kr의 웹서버는 blueapple.secure.pe.kr이고 blueapple.secure.pe.kr의 IP Address는 218.55.9.26이야”라고 응답해 주어야 한다. 아래의 <그림5-38>에서 www.secure.pe.kr에 ping을 보냈지만, 실제로 응답하는 서버는 blueapple.secure.pe.kr임을 주목하자.
< 그림5-38. CNAME Record Ping 테스트>
5-3-3. DNS 동적 업데이트(Dynamic Update)
작업을 하면서 답답함을 느낄 것이다. 회사에 등록해야 할 서버가 100대라면 100번을 반복해야 하는 것인가? 이런 번거로움을 Windows DNS Server는 간단히 해결해 주고 있다. 바로 동적 업데이트 기능이다. Windows DNS는 Dynamic Update Protocol로써 레코드를 자동으로 업데이트하는 기능인 Dynamic DNS (DDNS)를 제공한다. 설정방법은 간단한다. 아래의 <그림5-39,40>을 참고하면, 메뉴를 확인할 수 있다. 동적업데이트 옵션을 "보안되지 않음 및 보안됨"으로 바꿔주면 동적업데이트가 진행된다. 관리자의 작업이 상당부분 경감되게 될 수 있다.
< 그림5-39. DNS Zone 등록정보 >
DNS서버에서 동적업데이트를 허용하면 DNS클라이언트는 자동적으로 DNS서버에게 자신의 정보를 보내서 등록하는 작업이 이루어진다. 클라이언트 컴퓨터의 TCP/IP설정에서 DNS서버의 IP가 이 DNS서버로 설정되어야 함은 당연한 일이다.
< 그림5-40. 동적업데이트 사용메뉴 >
지금까지 도메인을 등록하고, 설치하고, Zone을 구성하는 방법에 대해서 알아보았다. 대부분의 기업환경에서는 위와 같은 설정으로 DNS를 마무리 할 수 있다. 하지만, 보다 복잡한 기업환경에서는 DNS를 확장시키는 방법을 사용할 수 있다. 자신의 하위도메인을 등록해서 도메인을 확장시켜서 사용할 수도 있다. 추가로 다루어 보자. 지금까지의 설명이 조금 벅차게 생각되는 독자는 아래의 부분은 일단 건너뛰어도 좋다. 앞의 내용을 이해하고 나서 다시 다음 내용을 공부하자. DNS에 대해서만 다룬 서적도 수백페이지 이상 되는 책이 많을 정도로 DNS는 많은 내용을 담고 있다. 급하게 생각하지 말고 기초부터 튼튼히 하자는 얘기다.
5-3-4. 하위 도메인(Subdomain)
하위도메인이 무엇을 의미하는지 이해를 돕기 위해서 아래의 <그림5-41>을 참고하자.
< 그림5-41. DNS 서브도메인의 구조 >
<그림5-41>에서는 youngjin.com도메인을 예제로 DNS구조를 간소화시켜 놓았다. 왼쪽편이 DNS부분이고, 오른쪽편이 해당 도메인에 등록된 레코드들이다. 그림이 다소 복잡해보이지만 차근차근 접근해 보자. youngjin.com도메인은 com.도메인으로부터 youngjin이라는 이름을 등록받았고, 자기 자신은 Seoul, japan, shopping이라는 하위도메인들을 등록해 주었다. 이들 세 도메인들은 youngjin.com의 하위도메인들이다. shopping도메인 입장에서의 도메인이름은 "shopping.youngjin.com"이 된다. 그 도메인에서 'www'라는 이름의 웹서버를 가지고 있다면 오른쪽에 표기된대로 웹서버의 FQDN은 www.shopping.youngjin.com이 되어야 한다.
이들 하위도메인을 등록하는데, "com."이나, ".(root)"같은 상위도메인과 연관성이 있는가? 전혀 그럴필요가 없다. 하위도메인을 등록하는 작업은 오로지 youngjin.com을 관리하는 DNS Server에서만 생성되면 그만인 작업이다. 앞 장에서 보았던 DNS Process를 이해했다면 알 수 있는 사실이었다.
그렇다면 이러한 하위도메인은 언제 사용하게 될까? 회사가 각각 별도의 관리가 이루어지는 여러개의 관계회사를 가지고 있다고 가정했을 때, 하나의 도메인이름을 쓰는 것보다 별도의 도메인이름을 사용함으로써 대외적으로 명확한 구분을 지어주고 싶을 수도 있을 것이다. 하지만 또 한편으로는 처음에 등록한 회사를 대표하는 도메인이 있을 것이고 그 도메인의 하부로 관계회사의 이름을 연장시킴으로써 회사의 실제 조직구조에 맞게 도메인을 배치하고 외부적으로 통일된 이름체계를 유지하는 것도 가능하다. 이러한 도메인을 서브도메인이라고 부른다.
또한 Active Directory 도메인에서 DNS의 도메인구조를 그대로 따르게 되면서 서브도메인은 Active Directory Multi domain환경을 구축할 때 반드시 필요한 하나의 기능이 되었다.
하위도메인의 필요성에 대해서 이야기했다. 그렇다면 하위도메인은 어떻게 만드는 것일까? 여기에는 관리방법에 따라 두가지 방법이 제공된다. secure.pe.kr도메인이 본사, jeju.secure.pe.kr이 지사라는 가정을 해 보겠다. 본사에서 지사의 도메인까지 관리를 해 주는 방법이 있겠고, 지사 역시 별도의 IT조직이 있기 때문에 도메인에 대한 독자적인 관리권한을 가지고 별도의 DNS Server를 관리하는 경우도 있을 것이다.
5-3-5-1. 하위 도메인(Subdomain) 등록
|
Secure.pe.kr 관리영역에서 마우스 오른쪽 클릭하여 ‘새 도메인’을 선택한다. |
|
|
< 그림5-44. 하위도메인에 새 호스트 추가 1 > |
|
|
Secure.pe.kr 영역 밑에 jeju 폴더가 생긴 것을 볼 수 있다. 이것이 서브도메인이다. 서브도메인의 이름은 jeju.secure.pe.kr 이 된다. 이 서브도메인에 새로운 호스트를 추가하기 위해 마우스 오른쪽 클릭하고 ‘새 호스트’를 선택했다.
|
|
www호스트가 생성되었다. 이 호스트의 FQDN은 www.jeju.secure.pe.kr이 된다. |
|
명령프롬프트를 열고 ping 테스트를 해 보았다. 제대로 응답이 오는 것을 확인할 수 있다. |
5-3-5-2. 하위 도메인(Subdomain) 위임(delegation)
두 번째 방법은 별도의 DNS Server를 통해서 하위도메인을 관리하는 방법이 있다. 이때 상위도메인의 DNS Server에서는 하위의 도메인을 생성하고, 그 도메인을 관리할 별도의 DNS Server를 지정해 주어야 한다. 이 과정을 가리켜서 도메인 위임(delegation)이라고 한다. 관리권한을 다른 DNS서버에게 위임한다는 뜻이다.
|
이번에는 새 도메인을 만들긴 하지만 위임을 시킬 것이다. 상위도메인에 해당하는 Secure.pe.kr을 마우스 오른쪽 클릭하고 ‘새 위임’을 선택한다. |
|
새 위임 마법사가 시작된다. |
|
위임할 도메인 이름을 입력하면, 정식도메인이름 부분이 바뀐다. 'Japan'이라고 입력했더니 <정규화된 도메인 이름(FQDN)>은 jeju.secure.pe.kr이 되었다. |
|
서브도메인인 jeju.secure.pe.kr 의 관리를 할 이름서버(NS)를 지정해 주어야 한다. 위에서 ‘새 도메인’을 선택했을 때의 과정과 비교를 해 보라. 서버의 이름은 크게 중요하지 않다. 중요한 것은 이름서버의 정확한 IP Address를 입력하는 것이다. jeju.secure.pe.kr 도메인의 이름서버이니 이름은 ns.jeju.secure.pe.kr 정도로 해 주면 무방하다. |
|
이름서버가 보인다. 다시 [추가]를 눌러서 다른 이름서버를 추가할 수도 있다. |
|
이제 하위도메인을 위임시키는 작업을 완료하였다. |
<그림5-54>를 보면, secure.pe.kr밑에 "jeju"이라는 폴더가 생성된 것을 확인할 수 있다. 비교를 위해 생성해둔 "shopping"도메인과 폴더모양이 다른 것을 확인한다. shopping.secure.pe.kr은 blueapple이라는 DNS서버가 직접 관리하고 있는 도메인이지만, "jeju.secure.pe.kr"은 더 이상 blueapple이 관리하는 도메인이 아니다. 위에서 지정해준 "ns.jeju.secure.pe.kr"이라는 이름의 DNS Server가 관리하는 도메인이 된 것이다. 만일, 외부의 DNS Server에서 "www.jeju.secure.pe.kr"이라는 호스트이름에 대한 IP주소를 요청하다면, blueapple DNS Server는 호스트이름에 대한 IP주소를 응답할 수 없다. 다만, jeju.secure.pe.kr도메인을 관리하는 DNS서버의 IP주소만을 응답할 수 있을 뿐이다. 그러면 외부의 DNS서버는 jeju.secure.pe.kr을 관리하는 DNS서버를 다시 찾아갈 것이다. 쿼리가 하나 더 늘어나게 된다.
물론 그 다음과정이 정상적으로 처리되기 위해서는 jeju.secure.pe.kr도메인의 관리를 위임받은 DNS Server에서 서버구성을 해 두어야 할 것이다. 그 과정은 앞에서 우리가 다루어보았던 blueapple이 secure.pe.kr도메인을 구성하였던 것과 동일하다. 다만, 도메인 이름이 "jeju.secure.pe.kr"이라고 한단계 아래로 내려갔을 뿐, 그 이상의 차이는 없다.
위에서 앞선 [그림5-19]의 과정에서 다음의 이름을 입력하면 된다. 나머지 과정 및 각종 레코드 등록과정은 동일하다.
< 그림5-55. 위임받은 도메인의 영역추가 >
지금까지 Windows Server 2003을 기준으로 DNS Service를 추가하고, 서비스를 위한 기본구성을 마쳤다. 이전 버전의 서버를 가지고 작업하더라도 큰 차이는 없다. 단지 인터페이스 상에서 약간 차이를 보이고 있을 뿐이다. 다음장에서는 Windows Server 2003의 DNS Service의 기능과 추가구성에 관한 설명을 한다.