5.Windows2000 DNS Server 관리
(1) DNS Zone Transfer
앞 에서 DNS서버 셋업에 관련된 작업을 다루어 보았다. 하나의 DNS Server를 가지고 있는 회사에서 만일 그 서버가 망가졌다면 어떻게 될 것인가? 당연히 외부에서의 접근도, 내부에서 외부로의 연결도 하지 못하게 될 것이다. 또, 조직이 아주 커서 하나의 DNS Server로써 모든 클라이언트의 요청을 효율적으로 처리하기가 어려운상황이 되었다면 어떻게 해야 할 것인가? 당연히 결론은 "추가 DNS Server"의 설치를 고려해야 할 것이다. 하지만, 한가지 고려되어야 할 점은 그 추가 DNS Server는 반드시 첫 번째 DNS Server와 동일한 레코드를 가지고 있어야 한다는 것이다. 그래야만 DNS Client의 요청에 서로 다른 DNS Server에서 일관성이 유지될 수 있을 것이기 때문이다.
그 렇기 때문에, 회사에서 Backup을 위해서 추가 DNS Server를 셋업하는 것은 첫 번째 DNS Server가 가지고 있던 원본을 복제하는 작업을 해야 하고, 당연히첫 번째 서버가 정상적으로 동작하고 있는 상태에서 추가할 수 있다. 이때 백업서버를 가리켜서 Secondary DNS Server라고 부르고, 그 서버가가지고 있는 도메인영역을 Secondary Zone이라고 부른다.
(2) Secondary DNS Server 설치
아 래의 <화면31>의 예제에서는 MIDAS라는 이름의 서버에 DNS Service를 추가하고, mcpstudy.com 도메인을 관리하는 Secondary DNS Server가 되고자 한다. 이 과정이 성공적으로 진행되기 위해서는 원본을 가지고 있는 DNS Server에서는 Zone database를 전송해 줄 수 있도록 보안설정이 되어 있어야 한다. 기본적으로 아무 서버에서나 요청한다면 전송해 주도록 설정이 되어 있다. <화면30>의 Zone등록정보를 통해서 확인할 수 있다.
< 화면30. DNS Zone 등록정보의 "영역전송"탭 >
준비가 되었으면 이제 Secondary DNS Server를 설치해 보자. <화면31>을 통해서 접근한다. 과정은 지난 장에서 소개한 것과 큰 차이가 없으므로 어렵지 않을 것이다.
< 화면31. DNS Zone 추가 >
다음 화면에서 "표준 보조영역"을 선택해야 한다. Secondary DNS Server를 추가하기 위한 과정이다.
영 역이름을 추가해야 한다. 현재 설치하고 있는 DNS Server가 Primary DNS Server의 DNS Client로 되어 있다면 [찾아보기]를 통해서 접근할 수도 있다. 별 차이는 없다. 이름항목에 정확히 도메인명을 입력한다.
마스터 DNS서버의 IP를 주어야 한다. 마스터DNS서버는 원본을 제공해 줄 수 있는 DNS서버를 의미한다. 먼저 설치했던 blueapple.mcpstudy.com의 IP주소를 입력했다.
역시 파일이 만들어진다. 기본설정을 그대로 두고, [확인]을 누른다.
이 제 secondary DNS의 설치가 완료되었다. 아래의 <화면32>를 보면, 콘솔 오른쪽에 많은 정보가 전송되어 왔음을 확인할 수 있다. 이제부터 MIDAS라는 이름의 DNS서버는 mcpstudy.com 도메인의 Secondary Zone을 가지고 서비스를 할 수 있게 되었다.
< 화면32. DNS Console >
(3) Zone Transfer (영역전송)
위 의 과정에서 Zone transfer라는 작업이 진행된다. Zone transfer는 엄밀히 따지면 서버대 서버의 작업이 아니다. 서버의 Zone과 Zone간의 작업이라고 하는 것이 맞겠다. 영역전송과정은 자동으로 일어난다. 이 과정에 대한 설정은 "SOA"레코드로서 처리되고 있다.
Secondary DNS가 master DNS를 통해서 Zone transfer를 하고자 할 때 처음 요청하는 레코드가 바로 이 SOA레코드이다. <화면34>에서 마이크로소프트의 네트워크모니터 툴을 사용해서 Zone transfer과정을 캡춰한 내용을 보자.
< 화면33. DNS Zone transfer capture화면 >
화 면의 파란색의 부분이 Secondary DNS Server가 master DNS Server에게 SOA레코드를 요청하는 패킷이다. 바로 아래에는 master로부터의 응답이 오고 있는 것이 보여진다. Secondary DNS에서 master DNS Server로부터 영역전송을 받기 전에 가장 먼저 SOA레코드에 대한 요청이 이루어졌다. SOA레코드에 어떤 정보가 담겨 있는지 확인해보자.<화면34>
< 화면34. DNS Zone등록정보 SOA Record정보 >
Secondary DNS Server에서는 SOA레코드를 받아서 "일련번호"정보를 알아야 한다. 화면에서는 일련번호로 '39'라는 숫자를 보여주고 있다. 일련번호가 의미하는 것은 DNS Zone에 대한 변경사항의 번호이다. Zone에서 레코드의 추가,삭제등의 변경사항이 생길 때마다 일련번호는 1씩 증가하게 된다. Secondary DNS Server는 일련번호를 비교해서 자신이 앞선 전송과정 이후에 바뀐 내용이 있는지 확인할 수가 있게 된다. 예를 들어서 저번 영역전송때 일련번호가 '20'이었다면 이번에는 21부터 39까지 바뀐 레코드에 대한 전송을 요청할 수 있게 된다.
NT4.0 의 DNS의 경우는 DNS Zone transfer과정마다 전체 레코드에 대한 복제가 이루어졌다(Full Zone Transfer ; AXFR). 반면에 Windows 2000 DNS는 기본적으로 바뀐 레코드만 복제하는 방법을 사용한다(Incremental Zone Transfer ; IXFR ). 지극히 당연한 것처럼 보이지만, Windows2000에서 개선된 점중의 하나이다.
Secondary DNS서버에서는 자동적으로 SOA레코드에 있는 정보중에서 "새로고침간격"마다 master DNS Server에 접근하여 변경사항을 확인하게 되는데, 여러분이 직접 현재 상태를 반영시키는 업데이트를 강제로 진행하고 싶다면, 수동으로 처리하는 방법도 있다. <화면35>
< 화면35. DNS Manual Zone Transfer >
Secondary DNS Server를 구성하였다면 클라이언트 컴퓨터의 TCP/IP설정도 조정해야 한다. 아래의 화면처럼 구성된다면 Primary DNS가 offline상태라도 정상적인 Name resolution을 처리할 수가 있게 된다. 첫 번째 DNS서버가 정상적으로 동작하고 있는 동안에는 보조DNS서버로 요청을 보낼 일이 없다. 어디까지나 백업 차원에서 제공되는 것이다.
(4) SRV Record
처 음에 전반적인 개요를 설명할 때 WIndows2000에서의 DNS는 그 기능이 휠씬 확장되었다는 이야기를 했다. Windows2000과 DNS가 어떤 관계에 있는지를 알아보자. NT4.0때만 하더라도 마이크로소프트 네트워크에서 DNS의 영향은 그다지 크지 않았다. 보통의 경우라면 인터넷에 접근해야 하는 경우에만 사용하는 것이 일반적이었고, 유닉스네트워크와 혼합된 환경이라면 유닉스기반의 네트워크에 접근하기 위해서 이름서비스를 제공하는 것이 DNS의 주된 기능이었다. Microsoft자체의 도메인기반의 네트워크에서는 DNS가 아닌 WINS라고 하는 다른 형태의 이름분해를 처리하는 서비스가 주된 임무를 수행했다. 하지만, Windows2000으로 오면서 WINS Server가처리하던 서비스를 이제는 DNS가 처리해야 한다. 당연히 클라이언트는 DNS에게 query를 던져서 원하는 정보를찾아야 하는 것이다.
마 이크로소프트는 기업네트워크를 위해서 "도메인"이라는 이름의 작업그룹을 이용한다. MS가 도메인모델을 통해서 추구하고자 하는 것은 "디렉토리서비스"를 통하여 도메인내의 모든 사용자들은 최초 한번의 로그온만으로 도메인내의 모든 서버에 접근을 용이하게 하겠다는 것이다. NT4.0에서는 이러한 마이크로소프트의 "도메인"과 DNS상에서의 "도메인"을 별개로 취급했었다. 그래서 회사환경의 "도메인"에 대한 이름분해 서비스로서 "WINS"라고 부르는 name server를 두었고, 인터넷 DNS상의 "도메인"에 대한 이름분해 서비스로서 "DNS"라는 name server를 두고 이원화 되어 있는 구조를 사용했던 것이다. 하지만, Windows2000으로 들어오면서 두 도메인을 따로 생각하지 않고, 통합시킨 구조를 사용한다. 엄밀히 말하면 통합이라고 표현하기에는 상당한 이해가 필요해진다. 결국 통합되었다는 표현은 다음과 같이 정리한다. 기업내부 네트워크를 구성하기 위한 도메인을 만드는데 있어서, 그 도메인이름을 인터넷상의 DNS Domain Name을 사용하게 되는 것이다. 이렇듯 이름이 통합되었다는 얘기다. 결국 회사에 존재하는 사용자, 그룹, 컴퓨터 등 모든 정보들은 Active Directory라고 부르는 디렉토리 데이터베이스에 저장하고, 그들을 가지고 있는 서버를 찾는 작업에 있어서 DNS가 서비스를 제공하고 있는 것이다. 결국 DNS가 하는 서비스는 Active Directory위치를 찾아주는 "Locator Service"라고 할 수 있다.
그 렇다면 Windows2000의 DNS에는 뭔가 큰 변화가 있었을 거라는 짐작이 간다. 하지만 실제로 들여다보면 그다지 큰 변화는 없다. 단지 "SRV"라고 하는 레코드type을 지원하고 있다는 것을 알 수 있다. 그 SRV는 의미 그대로 "서비스를 하고 있는 서버"라는 뜻이 된다. <화면36>
< 화면36. SRV Record >
< 화면36>에서 왼쪽에 보이는 4개의 하위도메인들이 Domain Controller가 자동으로 등록하는 도메인들이다. 오른쪽에 보이는 "_ldap"이라는 호스트이름이 "서비스위치"라는 type으로 등록되어 있는 것을 볼 수 있다. 그것이 바로 "SRV"라는 레코드이다. 화면에서 보여지고 있는 정보는 "ldap"서비스를 하는 서버가 "blueapple.mcpstudy.com"이라는 사실을 알려주고 있다. "ldap"서비스는 사용자 로그온을 처리하는 도메인컨트롤러가 제공하는 서비스이다. 사용자가 로그온을 할 때, 로그온을 받아주는 서버가 누구인지를 알고 있어야만 한다. Windows 2000 client는 그 정보를 바로 DNS Server에게 요청을 하게 되는데, 그때 요청은 결국 "ldcp server가 누구인가?"라는 요청이 되고, DNS Server는 등록된 레코드중 해당 서비스를 하는 서버로 등록된 레코드를 알려주게 되는 것이다. 이들 레코드에 대한 자세한 정보는 Active Directory를 통해서 공부하도록 한다.
Windows2000 의 DNS Service는 동적업데이트를 지원한다. 이것은 당연한 결과라고 보여진다. 앞에서 설명한 바와 같이 DNS가 기업내부네트워크까지 적극적으로 반영하고 있기 때문에 NT4.0에 비해서 상당히 많은 양의 정보를 제공해야만 한다. 이것을 예전 버전처럼 일일이 수동으로 작업을 한다면 상당히 번거로운 작업이된다. 이러한 문제점을 Windows 2000 DNS Server는 dynamic update protocol을 사용함으로써 관리작업을 단순화 시켜 주고 있다. Windows2000 관리자라면 당연히 사용해야 할 옵션중의 하나이다. 작업에 대한 과정은 이미 3장에서 설명한 바 있다.
(5) DHCP Service와의 연동
만 일 dynamic update protocol을 통해서 등록되는 DNS Client가 DHCP Client라면 어떻게 될까? DHCP Client는매번 다른 IP Address를 사용할 수도 있는 유동적인 시스템이다. 이에 Windows 2000 DNS는 이러한 DHCP Client에게 IP를 제공하는 역할을 하고 있는 DHCP Server와 연동을 시키는 방법을 사용한다. 탁월한 방법이다. 아래의 <그림12>를 참조한다.
< 그림 12. Dynamic update 동작원리 >
(6) Active Directory 통합영역 사용
DNS를 설치하고, 관리할 도메인에 대한 Zone을 추가하다 보면 영역의 종류를 결정하는 항목이 나온다. 아래의<화면37>을 참고한다.
< 화면37. Zone type 변경 >
'Active Directory통합영역'이란 말 그대로 Windows2000 Domain Controller가 가지고 있는 Active Directory에 DNS Zone database를 통합하겠다는 뜻이다. 그렇게 했을 때 얻는 이점이 무엇이 있을지 생각해 보자.
앞서서 Secondary DNS Server의 필요성과 설정방법에 대해 설명하였다. 분명히 백업의 측면을 고려한 설정이긴 하지만 부족한 점이 있다. Primary DNS Server는 DNS Zone database원본을 가지고 있고, Secondary DNS Server는 복사본을 가지고 있다. 실제로 DNS Zone database변경에 영향을 줄 수 있는 서버는 오로지 Primary DNS Server만이 가지고 있는 기능이다. Secondary DNS Server는 수동적으로 Primary server에 변경이 있으면 그 내용을 복제하는 역할을 하고 있을 뿐이다. 만일 Primary DNS Server가 문제가 있어서 다운이 되었다면, Secondary DNS Server는 DNS Client에게는 정상적인 서비스를 할 수 있겠지만, DNS Zone database의 변경작업은 더 이상 할 수가 없게 된다. 다시 말하면 새로운 레코드를 추가한다거나, 삭제, 레코드 수정 등의 작업은 하지 못한다는 뜻이다.
이 런 문제를 해결할 수 있는 방법이 있다. 바로 'Active Directory통합영역'을 사용하는 방법이다. 비록 Active Directory를 가지고 있는 도메인컨트롤러에서만 구현되는 방법이긴 하지만, 어떤 DNS Server든지 레코드 변경작업이 가능하다는 장점이 있다. 추가로 DNS Zone transfer가 더 이상 필요가 없다. 도메인컨트롤러간의 Active Directory repilcation작업에 DNS 복제프로세스가 통합되기 때문에 보다 유연한 복제토폴러지를 사용할 수 있게 되는 것이다. 또 한가지 장점이라면 Active Directory통합영역을 사용하면승인받은 클라이언트만 DNS에 접근하게 만드는 방법도 제공하기 때문에 보안의 측면에서도 보다 효과적인 방법이다.
'Active Directory통합영역'으로의 변경작업은 DNS 콘솔의 해당 Zone의 등록정보를 통해서 수정할 수 있다. <화면38> 'Active Directory통합영역'을 사용하면 동적업데이트 옵션에서 "보안된 업데이트만"을 사용할 수 있게 된다.
< 화면38. Secure Update >
지금까지 Windows 2000 DNS Service의 몇가지 기능과 관리방법에 대해서 설명하였다. 다음 장에서는 마지막으로 DNS Server의 문제점을 해결할 수 있는 진단도구와 해결방법에 대해서 알아보자.
[출처] [스크랩]5.Windows2000 DNS Server 관리 (1)|작성자 산들바람