전산쟁이의 카피질

뒤로 검색

6.DNS Server 문제해결

2009/02/11 15:56

6.DNS Server 문제해결


(1)DNS Server 모니터링 툴
DNS Server가 시작되어 있는데 제대로 응답을 하지 못한다면, Windows2000 DNS Server가 제공하는 모니터링 툴을 사용하여 상태를 점검해 볼 수 있다. <화면39>를 통해서 접근한다.

< 화면39. DNS Server 등록정보 메뉴 >


< 화면40. DNS Server Monitoring Tool >

< 화면40>의 '테스트종류선택'에서 '이 DNS서버에 대한 단순쿼리'를 선택하고 [지금테스트]버튼을 누르면 클라이언트의 요청에 응답할 수 있는지를 파악할 수 있다. 화면에서는 '성공'이라는 결과를 보여준다. '다른 DNS서버로의 재귀쿼리'를 선택하고 [지금테스트]버튼을 누르면, 해당 DNS Server가 외부로 root name server로 query를 보낼 수 있는지를 파악할 수 있다. 역시 '성공'이라는 결과를 보 여주고 있다. 문제가 발생했다면, [관리도구-이벤트표시기-DNS Server] 항목을 통해서 문제점을 볼 수 있다. DNS Server오동작의 상당부분은 DNS Service restart를 통해서 해결된다. 명령프롬프트를 열고 "net stop dns"를 실행하고,다시 "net start dns"를 입력하면 DNS Server Service를 재시작할 수 있다.

(2)NSLOOKUP
DNS를 진단하는데 있어서 대표적인 유틸리티라고 할 수 있다. NSLOOKUP을 사용하는방법으로는 크게 2가지를 들 수 있다. Interactive(대화형)와 non-interactive로 나누어 사용해 보자.

Non-Interactive
아래의 <화면41>을 보면 사용법을 알 수 있다. hostname이든 IP Address이든 원하는 정보를 그대로 물어보는 가장 간단한 사용법이다. 단순한 정보를 알아보는 데 효과적인 방법이라고 하겠다.

< 화면41. NSLOOKUP 사용예제 - Non-interactive >

Interactive
대화형으로 접근하여 보다 자세한 레코드를 요청하고, 어느 서버가 문제가 있는 것인지를 진단해 볼 수 있는 방법이다. 아래의 표를 예제로 설명을 하겠다. 역시 명령프롬프트를 통해서 접근한다.
(참고: 진한색으로 표기된 부분이 직접 입력한 부분이며, 나머지는 명령에 의한 결과값이다. 파란색으로 표기한 부분이 필자의 부연설명이다.)


D:\>nslookup--> 대화형으로 접근하기 위한 명령이다.
Default Server: blueapple.mcpstudy.com
Address: 203.239.61.112

>www.mcpworld.com--> www.mcpworld.com에
대한 IP를 요청했다.

Server: blueapple.mcpstudy.com
Address:203.239.61.112

Non-authoritative answer:
Name: www.mcpworld.com
Address:211.200.29.242


>211.200.29.242 --> 211.200.29.242에 대한 hostname을 요청했다.
Server: blueapple.mcpstudy.com
Address: 203.239.61.112

DNS request timed out.
timeout was 2 seconds.
***

Request to blueapple.mcpstudy.com timed-out -->
resolution을 하지 못했다. 이것만으로는 정확히 원인을 규명할 순 없다. mcpworld.com의 DNS Server가 Reverse Lookup Zone을 구성하지 않았을 수 있다.


>set type=soa --> 특별히 원하는 레코드 타입을 미리 정의한다.
microsoft.com
--> microsoft.com도메인의 SOA레코드를 요청하고 있다.
Server: blueapple.mcpstudy.com
Address: 203.239.61.112

microsoft.com
       primary name server = dns.cp.msft.net
       responsible mail addr = msnhst.microsoft.com
       serial = 2001022401
       refresh = 900 (15 mins)
       retry = 600 (10 mins)
       expire = 7200000 (83 days 8 hours)
       default TTL = 7200 (2 hours)
dns.cp.msft.net internet address = 207.46.138.10
>set type=mx --> Mail Server의 레코드를 확인하고 싶다.
>microsoft.com
--> microsoft.com도메인의 MX레코드를 요청하였다.
Server: blueapple.mcpstudy.com
Address: 203.239.61.112

microsoft.com MX preference = 10, mail exchanger = mail1.microsoft.com
microsoft.com MX preference = 10, mail exchanger = mail2.microsoft.com
microsoft.com MX preference = 10, mail exchanger = mail3.microsoft.com
microsoft.com MX preference = 10, mail exchanger = mail4.microsoft.com
microsoft.com MX preference = 10, mail exchanger = mail5.microsoft.com
mail1.microsoft.com internet address = 131.107.3.125
mail2.microsoft.com internet address = 131.107.3.124
mail3.microsoft.com internet address = 131.107.3.123
mail4.microsoft.com internet address = 131.107.3.122
mail5.microsoft.com internet address = 131.107.3.121

>set type=all
--> 도메인에 대한 모든 레코드를 요청하길 원한다.
>mcpworld.com
-->mcpworld.com 도메인의 레코드를 요청했다.
Server: blueapple.mcpstudy.com
Address: 203.239.61.112

mcpworld.com internet address = 211.200.29.242
mcpworld.com MX preference = 10, mail exchanger = tdc-srv1.mcpworld.com
mcpworld.com nameserver = ns.ngene.net
mcpworld.com nameserver = ns2.ngene.net
mcpworld.com
        primary name server = ns.ngene.net
        responsible mail addr = ngene.hanaro.com
        serial = 2001021702
        refresh = 21600 (6 hours)
        retry = 1800 (30 mins)
        expire = 1209600 (14 days)
        default TTL = 21600 (6 hours)
mcpworld.com nameserver = ns.ngene.net
mcpworld.com nameserver = ns2.ngene.net
tdc-srv1.mcpworld.com internet address = 211.116.92.5
ns.ngene.net internet address = 211.58.252.62
ns2.ngene.net internet address = 211.58.252.94

>www.dotnetkorea.org
--> 이 질의를 통하여 한가지 확인을 해 보자.
Server: blueapple.mcpstudy.com
Address: 203.239.61.112

Name: seoul.dotnetkorea.org
Address: 203.239.61.102
Aliases: www.dotnetkorea.org

>www.dotnetkorea.org
--> 첫 번째 질문과 비교해서 차이점을 찾아본다.
Server: blueapple.mcpstudy.com
Address: 203.239.61.112
Non-authoritative answer:
--> 첫 번째 요청에선 없었던 메시지다. 차이는 cache에 있다. DNS Server는 Iterative Query를 통해서 다른 DNS서버로부터 얻은 정보를 레코드에 주어진 TTL동안 보관한다. 그 TTL이 만료되기 전까지는 Iterative Query가 아닌 로컬캐쉬에서 정보를 찾아서 클라이언트에게 응답한다. 그런 이유 때문에 신뢰할 수 없는 응답이라는 표기를 하고 있다. 첫 번째 레코드를 받아오고 나서 실제 레코드정보는 변경이 되었을 수도 있기 때문이다.
Name: seoul.dotnetkorea.org
Address: 203.239.61.102
Aliases: www.dotnetkorea.org

>www.yahoo.co.kr
Server: blueapple.mcpstudy.com
Address: 203.239.61.112


***
blueapple.mcpstudy.com can't find www.yahoo.co.kr: No response from server -->서버로부터 응답이 없다는 에러메시지가 발생했다. 서버의 DNS서비스를 확인해 봐야 한다.
>www.yahoo.co.kr 164.124.101.31
-->www.yahoo.co.kr레코드에 대한 요청을 '164.124.101.31' DNS Server에게 물어보았다.
Server: [164.124.101.31]
--> 응답하는 서버의 IP가 바뀐 것을 주목하자.
Address: 164.124.101.31

Name:www.yahoo.co.kr
Served by:
- NS.KORNET.NET
       168.126.63.1
       kr
- NS.KRNIC.NET
       202.30.50.50
       kr
- NS.RIPE.NET
       193.0.0.193
       kr

>server 203.248.240.31
--> 아예 default server를 수정하는 명령이다. 앞으로의 query를 자신의 DNS Server로 설정된 서버가 아닌 다른 서버에게 DNS 요청을 하겠다는 뜻이다.
Default Server: [203.248.240.31]
Address: 203.248.240.31

>www.yahoo.co.kr
Server: [203.248.240.31]
--> default server의 IP가 바뀐 것을 주목하자.
Address: 203.248.240.31

Name: www.yahoo.co.kr
Address: 211.32.119.135

>ls mcpstudy.com
--> mcpstudy.com도메인의 모든 record를 요청한다. 이 기능은 문제해결을 할 때나, 호스트의 이름이 기억이 나지 않을 때 등에 사용할 수 있다.
[blueapple.mcpstudy.com]
mcpstudy.com.   A     169.254.151.234
mcpstudy.com.   A     203.239.61.112
mcpstudy.com.   NS    server = blueapple.mcpstudy.com
gc._msdcs       A     169.254.151.234
gc._msdcs       A     203.239.61.112
blueapple       A     203.239.61.112
orange          A     203.239.61.108
seoul           NS    server = orange.mcpstudy.com
 
(3)ipconfig/flushdns
Windows 2000은 클라이언트에서도 resolution해온 DNS레코드의 정보를 cache에 저장한다. 간혹 이것 때문에 문제를 일으킬 수도 있다. 잘못된 정보를 제공받은 클라이언트가 계속 잘못된 정보를 사용하게 됨으로써 정상적인 이름분해를 하지 못하는 상황이 있다. 이런 경우 클라이언트의 cache를 비워주는 명령어를 사용하면 된다. 아래의 표를 참고하자.
D:\>ipconfig/displaydns --> cache에 보관된 DNS의 정보를 보여달라는 명령
Windows 2000 IP Configuration

localhost.
------------------------------------------------------
    Record Name . . . . . : localhost
    Record Type . . . . . : 1
    Time To Live . . . . : 31517302
    Data Length . . . . . : 4
    Section . . . . . . . : Answer
    A (Host) Record . . . : 127.0.0.1

www.fila.co.kr.
------------------------------------------------------
Record Name . . . . . : www.fila.co.kr
Record Type . . . . . : 1
Time To Live . . . . : 73002
Data Length . . . . . : 4
Section . . . . . . . : Answer
A (Host) Record . . . : 210.124.177.198

Record Name . . . . . : fila.co.kr
Record Type . . . . . : 2
Time To Live . . . . : 73002
Data Length . . . . . : 4
Section . . . . . . . : Authority
NS Record . . . . . : ns.fila.co.kr

Record Name . . . . . : ns.fila.co.kr
Record Type . . . . . : 1
Time To Live . . . . : 73002
Data Length . . . . . : 4
Section . . . . . . . : Additional
A (Host) Record . . . : 211.106.109.2

ns2.dacom.co.kr.
------------------------------------------------------
Record Name . . . . . : ns2.dacom.co.kr
Record Type . . . . . : 1
Time To Live . . . . : 33263
Data Length . . . . . : 4
Section . . . . . . . : Answer
A (Host) Record . . . : 203.248.240.31

D:\>ipconfig/flushdns

Windows 2000 IP Configuration

Successfully flushed the DNS Resolver Cache.


지 금까지 DNS에 대한 간단한 진단도구 사용법을 설명하였다. 처음 시작부터 5장까지DNS에 대한 주요사항들을 위주로 설명을 했는데, 부족함이 많다. Windows2000환경에서 Active Directory와 DNS Server가 상당히 밀접한 관계가 있음에도 불구하고 DNS만을 위주로 설명을 하려다 보니 Active Directory와의 연동부분이 까다롭게 느껴질 수도 있겠다는 생각이 든다. 하지만, 이 내용만으로도 기본개념을 잡는 것에는 크게 어려움이 없을 거라고 생각하며, DNS를 배우고자 하는 학생들이 이 자료를 통해서 보다 쉽게 앞으로의 방향을 잡아 갈 수 있다면 하는 바램이다. 여러분의 건투를 기원한다.

 

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

이 페이지는 Textcube 1.10.0 : beta 1 로 구동됩니다 데스크탑 화면