4.DNS 설치 및 구성(2)

Posted by 빵빵빵
2009/02/11 15:55 전산(컴퓨터)/PC-Windows



3. DNS설치 및 구성(2)

DNS 의 기본구성을 했는데 그 다음엔 무엇을 해야 할까? 한가지 생각을 해 보자. 지금 DNS Server를 구성하고 도메인을 추가하는 작업을 왜 한 것일까? 누구를 위해서?? 지금까지의 용도로 보자면 원격지의 클라이언트가 다른 DNS서버를 통해서 mcpstudy.com도메인에 속해있는 서버들의 IP Address를 알 수 있도록 하기 위한 구성이었음을 알 수 있을 것이다. 그렇다면 당연히 추가작업을 생각할 수 있다. 바로, 웹서버, 메일서버, FTP서버 등, 실제 외부에서 접근해야할 서버들을 도메인에 추가하는 작업을 해야 할 것이다. 도메인에 등록되는 이들 서버들의 정보를 "record"라고 부른다.

결국 해야할 작업은 관리할 도메인에서 "레코드"를 추가하는 작업을 해야 한다는 얘긴데, 여기에는 중요한 원칙이 한가지 들어있다. 아래의 그림을 보고 설명하도록 한다.


< 그림10. DNS와 Mail Server >

< 그림10>에서는 wssong@mcpstudy.com 이라는 E-mail을 쓰는 사용자가 dcpromo@yahoo.co.kr 에게 메일을 전송하는 과정에서 DNS Server가 어떻게 동작하는지를 보여주고 있다. wssong이라는 사용자로부터 메일전송요청을 받은 mcpstudy.com의 메일서버는 yahoo.co.kr의 메일서버의 IP를 알아야만 메일을 전송할 수 있다. 이 때 메일서버의 IP주소를 알아내기 위해서 DNS Client로서 동작하게 된다. 자신의 DNS Server로 설정된 DNS Server에게 yahoo.co.kr의 메일서버의 IP를 요청하게 되고, 요청을 받은 DNS서버는 iterative query를 통하여 메일서버의 IP를 알아오게 된다. 이 과정이 선행되지 않으면 메일서버들끼리 메일전송은 있을 수 없는 일이다.

이 때 DNS Server가 상대방 mail server의 IP정보를 가지고 있는 DNS Server에게 IP요청을 할 때 어떤 형식으로 요청을 해야 할까? 무작정 "너네 회사의 메일서버가 누구인지 가르쳐줄래?"라고 우리가 쓰는 말처럼 물어볼 수는 없는 노릇이다. 역시 DNS Server간에 약속된 어떤 표기법이 필요하다는 것이다. 이러한 이유로 DNS는DNS Server에 등록되는 하나하나의 레코드 마다 별도의 "record type"을 정의해 둠으로써 호환성을 이루어 내고 있는 것이다. 그래서 메일서버는 메일서버(MX)로서, Name Server는 Name Server(NS)로서 각각 하는 역할에맞는 record type으로 등록이 되어 있어야 한다. <표4.DNS Record Type참고>


< 표4. DNS Record Type의 종류 >

DNS Server를 통해서 이름분해가 되어야 할 호스트를 추가한다<화면17>. 호스트를 추가할 도메인영역을 통해서 접근한다. 여러 가지 메뉴가 나온다. 어떤 레코드를 추가할 것인지에 따라 각각 다른 메뉴를 사용한다.


< 화면17. 새로운 레코드 추가메뉴 >


< 화면18. 새호스트 추가작업 >

< 화면18>의 [이름]란에 호스트이름을 입력한다. 화면에서는 'orange'라고 입력하였다. 그렇다면 이 호스트의 FQDN은 'orange.mcpstudy.com'이 된다. 아래에 있는 "연결된 포인터(PTR)레코드 만들기"체크박스가 있다. 기본적으로는 clear된 상태이다. 체크를 하게 되면 호스트 레코드를 등록을 작업 한번만으로 동시에 Reverse Lookup Zone에 PTR 레코드까지 생성해 주는 옵션이다. 이 작업이 제대로 되기 위해서는 먼저 reverse Lookup Zone이 구성되어 있어야 한다. 그렇지 않다면 나중에 추가해 주면 된다.


< 화면19. Mail Server Record 추가 >

< 화면19>에서는 메일서버를 위한 레코드를 추가하고 있다. [찾아보기]버튼을 눌러서 메일서버의 호스트이름을 찾는다. 메일서버 우선순위는 '10'이 기본값이다. 메일서버가 여러대 있다면 우선순위를 별도로 할당해 줄 수 있다. 숫자가 낮을수록 우선순위는 높다. '호스트 또는 도메인'항목은 공백으로 두었다. 예제에서 사용하게 될 메일주소는 username@mcpstudy.com형태이다. 만일 username@mail.mcpstudy.com등의 형태를 사용하고 싶다면, 공백 대신에 'mail'이라고 기록해 준다.


< 화면20. CNAME 레코드 추가 >

< 화면20>에서는 많이 사용하는 레코드중의 하나인 CNAME을 등록하는 작업을 보여주고 있다. 일반적으로 흔히 볼 수 있는 www, ftp, pop3, mail, www2 등의 이름에서 사용한다. 한 컴퓨터가 orange.mcpstudy.com이라는 호스트이름을 이미 가지고 있다면, 그 서버가 추가로 web, ftp등 여러서비스를 하고 있을 때, 각각 호스트이름을 등록하는 것 대신에 별칭을 사용하는 것이 일반적이다. CNAME 레코드는 독립적으로는 동작할 수 없다. A레코드와 한쌍으로 이루어져 있어야 한다. 아래의 <화면21>에서 www.mcpstudy.com에 ping을 보냈지만, 실제로 응답하는 서버는 orange.mcpstudy.com임을 주목하자.


< 화면21. CNAME Record Ping test >

DNS Dynamic Update

작 업을 하면서 답답함을 느낄 것이다. 회사에 등록해야 할 서버가 100대라면 100번을 반복해야 하는 것인가? 이런 번거로움을 Windows 2000의 DNS Server는 간단히 해결해 주고 있다. 바로 dynamic update 기능이다. Windows 2000의 DNS는 Dynamic Update Protocol로써 레코드를 자동으로 업데이트하는 기능인 Dynamic DNS (DDNS)를 제공한다. 설정방법은 간단하다. 아래의 <화면21,22>를 참고하면, 메뉴를 확인할 수 있다. "동적업데이트를 허용하시겠습니까?" 옵션을 "예"로 바꿔주면 동적업데이트가 진행된다. 관리자의 작업이 상당부분 경감되게 될 수 있다.


< 화면21. DNS Zone 등록정보 >


< 화면22. 동적업데이트 사용메뉴 >

지 금까지 도메인을 등록하고, 설치하고, Zone을 구성하는 방법에 대해서 알아보았다.대부분의 기업환경에서는 위와 같은 설정으로 DNS를 마무리 할 수 있다. 하지만, 보다 복잡한 기업환경에서는 DNS를 보다 확장시키는 방법을 사용한다. 자신의 하위도메인을 등록해서 도메인을 확장시켜서 사용할 수도 있다. 추가로 다루어보자. 지금까지의 설명이 조금 벅차게 생각되는 독자는 아래의 부분은 일단 건너뛰고 4장으로 바로 넘어가도 좋다. DNS에 대해서만 다룬 서적도 수백페이지 이상 되는 책이 부지기수다. 갈길은 멀다. 기초부터 튼튼히 하자는 얘기다.

하위 도메인(Subdomain)

하위도메인이 무엇을 의미하는지 이해를 돕기 위해서 아래의 <그림11>을 참고하자.

< 그림11. DNS Subdomain의 구조 >

< 그림11>에서는 mcpstudy.com 도메인을 예제로 DNS구조를 간소화시켜 놓았다. 왼쪽편이 Domain부분이고, 오른쪽편이 해당 도메인에 등록된 record들이다. 그림이 다소 복잡해보이지만 차근차근 접근해 보자.

mcpstudy.com 도메인은 com.도메인으로부터 mcpstudy라는 이름을 등록받았고, 자기 자신은 seoul, japan, shopping이라는 하위도메인들을 등록해 주었다. 이들 세 도메인들은 mcpstudy.com의 하위도메인들이다. shopping도메인 입장에서의 도메인이름은 "shopping.mcpstudy.com"이 된다. 그 도메인에서 'www'라는 이름의 웹서버를 가지고 있다면 오른쪽에 표기된대로 웹서버의 FQDN은 www.shopping.mcpstudy.com이 되야 한다.

이 들 하위도메인을 등록하는데, "com."이나, "root"같은 상위도메인과 연관성이 있는가? 전혀 그럴필요가 없다. 하위도메인을 등록하는 작업은 오로지 mcpstudy.com을 관리하는 DNS Server에서만 생성되면 그만인 작업이다. 앞장에서 보았던 DNS Process를 이해했다면 알 수 있는 사실이었다.


그 렇다면 이러한 하위도메인은 언제 사용하게 될까? 회사가 각각 별도의 관리가 이루어지는 여러개의 관계회사를 가지고 있다고 가정하자. 하나의 도메인이름을 쓰는 것보다, 별도의 도메인이름을 사용함으로써 대외적으로 명확한 구분을 지어주고 싶을 수도 있을 것이다. 물론 경우에 따라서는 완전히 분리된 도메인을 사용할 수도 있다. 하지만 처음에 등록한 회사를 대표하는 이름이 있을 것이고 그 아래에서 분리시킴으로써 회사의 실제 조직구조에 맞게 도메인을 배치하는 작업이 가능해진다. 사실상 지금까지의 도메인 분리작업에 비추어 보자면 그다지 큰 쓰임새는 찾을 수가 없었다. 하지만, Windows 2000의 Active Directory 도메인에서 DNS의 도메인구조를 그대로 따르게 되면서 서브도메인은 Active Directory Multi domain환경에서 반드시 필요해진 하나의 기능이 되었다.


삼성그룹을
예 로 들어보자. 삼성은 "samsung.co.kr"이라는 도메인명을 가지고 있다. 관계회사중에는 우리가 익히 알고 있는 SDS, Unitel, 삼성전자 등 수많은 회사가 존재한다. 이들 관계회사들은 각각 독립된 도메인명을 가지고 있다. sds.co.kr, unitel.co.kr, sec.co.kr 등이 그것이다. 하지만 이것과는 별개로 또 다른 도메인명도 가지고 있는데 그것이 바로 samsung.co.kr의 하위도메인명이다. sds.samsung.co.kr, unitel.samsung.co.kr, sec.samsung.co.kr등을 의미한다. 왜 이렇게 하위도메인을 사용하는 것일까? 내부적인사정이겠지만, 대외적으로 samsung.co.kr이라는 대표이름에 따른 하나의 일관성을 부여하기 위한 작업이었다는 생각이 든다. 반박하는 사람이 있을지 모르겠다. 이것은 오직 내 생각이니까 당신입장은 알아서 생각하라.


하 위도메인에 필요성에 대해서 이야기했다. 그렇다면 하위도메인은 어떻게 만드는 것일까? 여기에는 관리방법에 따라 두가지 방법이 제공된다. mcpstudy.com도메인이 본사, shopping.mcpstudy.com이 지사라는 가정을 해 보겠다. 본사에서 지사의 도메인까지 관리를 해 주는 방법이 있겠고, 지사 역시 별도의 IT조직이 있기 때문에도메인에 대한 독자적인 관리권한을 가지고 별도의 DNS Server를 관리하는 경우도 있을 것이다.

하위 도메인(Subdomain) 등록

전자의 경우는 아래의 <화면23>의 메뉴를 통해서 접근한다.


< 화면23. 새 도메인 추가 >



위의 화면에서, 생성하고 싶은 도메인명을 입력한다. 예제에서는 'shopping'을
입 력하였다. 아래의 <화면29. 완성된 DNS 예제를 보면, DNS콘솔의 MCPSTUDY.COM 밑에 "shopping"이라는 폴더를 찾아볼 수 있다. 하위도메인이 생성된 것이다. 이제 그 도메인에서 레코드를 생성한다면 생성되는 레코드들의 FQDN은 레코드명.shopping.mcpstudy.com"이 된다. 예를 들면, www.shopping.mcpstudy.com을 들 수 있다.


하위 도메인(Subdomain) 위임(delegation)

두 번째 방법은 별도의 DNS Server를 통해서 하위도메인을 관리하는 방법이 있다고 했다. 이때 상위도메인의 DNS Server에서는 하위의 도메인을 생성하고, 그 도메인을 관리할 별도의 DNS Server를 지정해 주어야 한다. 이 과정을 가리켜서 도메인위임(delegation)이라고 한다. 관리권한을 위임한다는 뜻이다.




< 화면24. 새 위임 마법사 시작 >


< 화면25. 위임할 도메인이름 지정 >

<화면25>에서 위임할 도메인 이름을 입력하면, 정식도메인이름이 바뀐다. 'seoul'이라고 입력했더니, [정식도메인이름]은 seoul.mcpstudy.com이 되었다.


< 화면26. 위임해줄 DNS Server지정 >


< 화면27. 하위 도메인을 관리할 DNS Server가 지정된 화면 >


< 화면28. 새 위임 마법사 완료 >

이 제 하위도메인을 위임시키는 작업을 완료하였다. 아래의 <화면29>를 보면, mcpstudy.com밑에 "seoul"이라는 폴더가 생성된 것을 확인할 수 있다. "shopping"과 폴더모양이 다른 것을 기억하자. shopping.mcpstudy.com은 blueapple이라는 DNS서버가 직접 관리하고 있는 도메인이고, "seoul.mcpstudy.com"은 더 이상 blueapple이 관리하는 도메인이 아니다. 위에서 지정해준 "orange"라는 이름의 DNS Server가 관리하는 도메인이 된 것이다.

만 일, 외부의 DNS Server에서 "www.seoul.mcpstudy.com"이라는 호스트이름에 대한 IP주소를 요청한다면, blueapple DNS Server는 호스트이름에 대한 IP주소를 응답할 수 없다. 다만, seoul.mcpstudy.com도메인을 관리하는 name server의 IP주소만을 응답할 수 있을 뿐이다. 물론 그 다음과정이 정상적으로 처리되기 위해서는 위임받은 orange DNS Server에서 서버구성을 해 두어야 할 것이다. 그 과정은 앞에서 우리가 다루어보았던 blueapple이 mcpstudy.com도메인을 구성하였던 것과 동일하다. 다만, 도메인 이름이 "seoul.mcpstudy.com"이라고 한단계 아래로 내려갔을 뿐이다. 그 이상의 차이는 없다.


< 화면29. 완성된 DNS 예제 >

지 금까지 Windows 2000을 기준으로 DNS Service를 추가하고, 서비스를 위한 기본구성을 마쳤다. NT4.0을 가지고 작업하더라도 큰 차이는 없다. 단지 인터페이스 상에서 약간 차이를 보이고 있을 뿐이다. 다음장에서는 Windows2000의 DNS Service의 기능과 추가구성에 관한 설명을 한다.

출처: http://www.secure.pe.kr

2009/02/11 15:55 2009/02/11 15:55

이 글에는 트랙백을 보낼 수 없습니다