Module 7 DNS 구현
개요 Windows 클라이언트와서버를위한이름풀이 (Name Resolution) DNS 서버설치와관리 DNS 영역 (Zones) 관리
Lesson 1: Windows 클라이언트와서버를위한이름풀이 (Name Resolution) 컴퓨터이름이란? DNS 란? DNS 영역과레코드 인터넷 DNS 이름이풀이되는방법 Link-Local Multicast 이름풀이란? 클라이언트가이름을풀이하는방법 이름풀이문제해결
컴퓨터이름이란? 이름 설명 최대 255 글자 Windows Socket 을사용하는응용프로그램은 host name 을사용 알파벳, 숫자, 점, 하이픈을포함할수있음 Host name FQDN 의한부분 단일컴퓨터혹은컴퓨터의그룹을표현 이름에 15 글자가사용됨 16 번째글자는서비스를정의 NetBIOS name Flat namespace
DNS 란? DNS 는 FQDN 과다른호스트이름을 IP 주소로풀이하기위한분산데이터베이스 DNS는아래용도로사용될수있음 : 호스트이름을 IP 주소로풀이 도메인컨트롤러와글로벌카탈로그서버위치검색 IP 주소를호스트이름으로풀이 email을배달할메일서버위치확인.local 도메인은내부사용용으로예약된이름
DNS 영역과레코드 DNS 영역은 DNS 레코드를포함하고있는 DNS namespace의한부분영역형식 : 정방향조회영역 (Forward lookup zone) 역방향조회영역 (Reverse lookup zone) 정방향조회영역의리소스레코드 : A, MX, SRV, CNAME 역방향조회영역의리소스레코드 : PTR, NS, SOA 영역의컨텐츠는파일이나 AD DS 데이터베이스에저장될수있음 많은인터넷표준프로토콜은정방향영역의정보를확인하기위해역방향조회데이터를사용함
인터넷 DNS 이름이풀이되는방법 Microsoft.com DNS 서버.com DNS 서버 www.microsoft.com 의 IP 주소는? 루트 DNS 서버 로컬 DNS 서버 207.46.230.219 Workstation
Link-Local Multicast 이름풀이란? LLMNR 은 DNS 나 WINS 를사용하지않고이름풀이를하기위한추가적인방법 LLMRN 은 IPv6 를위해디자인됨 Windows Vista 이상운영체제에서만작동함 Network Discovery 가반드시 enable 되어야함 그룹정책을통해제어될수있음
클라이언트가이름을풀이하는방법 1. 로컬호스트이름 7. Lmhosts 파일 2. DNS Resolver Cache / Hosts 파일 6. Broadcast 3. DNS 서버 5. WINS 서버 4. NetBIOS Name Cache Windows Server 2008 R2 이상에서는 GlobalName Zone 을사용할수있으며, 전체포리스트에서유일한 single-label names 을포함시킬수있음
이름풀이문제해결 이름풀이에대한문제해결을위해사용되는일반적인유틸리티 : Nslookup Dnscmd Dnslint Ipconfig DNS 서버모니터링 문제해결전에 DNS resolver cache 를항상 clear 시킬것 문제해결을목적으로 hosts 파일을사용 문제고립화
Lesson 2: DNS 서버설치와관리 DNS 솔루션의구성요소 루트힌트 (Root Hints) 란? DNS 쿼리란? 전달자 (forwarding) 이란? DNS 서버캐시가작동하는방법 DNS 서버역할설치방법
DNS 솔루션의구성요소 루트. 리소스레코드.com DNS Resolvers DNS 서버 리소스레코드.edu 인터넷상의 DNS 서버 **DNS resolver 는 DNS 서버로 interative query 와 recursive query 를생성하고보냄
루트힌트 (Root Hints) 란? 루트힌트는 DNS 루트서버의 IP 주소를포함 루트 (.) 서버 DNS 서버루트힌트 DNS 서버 com 클라이언트 microsoft 인터넷상의 13 개의 FQDN 이며, DNS 역할설치시포함되는 cache.dns 파일에복사됨 DNS 서버의속성에서 재귀를사용안함 (Do Not Use Recursion For This Domain) 옵션을선택하면루트힌트에대한쿼리를수행할수없음 재귀 (recursion) 와재귀쿼리 (recursive query) 는다름. DNS 서버의재귀는 DNS 쿼리를풀이하기위해루트힌트를사용한다는것을의미함
DNS 쿼리란? DNS 서버에대한순환쿼리는다른 DNS 서버에대한 referral로응답 DNS 쿼리는 DNS 서버로보내지는이름풀이를위한요청자순환쿼리 로컬 DNS 서버루트힌트 (.) 쿼리는재귀 (recursive) 와순환.com (interative) 에응답 재귀쿼리는 DNS 서버로보내지고완전한응답을요구 DNS 클라이언트와 DNS 서버는쿼리를초기화 mail1.contoso.com 172.16.64.11 DNS 전달자사용로컬 DNS 서버클라이언트클라이언트 루트힌트사용.com DNS 서버는네임스페이스에대해권한 (authoritative) 혹은권한없음 (nonauthoritative) 네임스페이스에대한권한있는 DNS 서버는 : 요청된 IP 주소를반환 권한있는응답 네임스페이스에대한권한없는 DNS 서버는 : 캐시를확인 contoso.com Database
전달자 (forwarder) 이란? 전달자는조건부외부전달자이름을 (Conditional 풀이하거나 forwarding) 외부 DNS 는도메인이름이름을조건을풀이하기사용하여위해요청지정된 DNS 서버 전달자로컬 DNS 다른순환모든쿼리DNS 도메인.com에응답 루트ISP 힌트 DNS (.).com contoso.com 로컬 DNS 서버클라이언트 클라이언트 contoso.com DNS
DNS 서버캐시가작동하는방법 DNS 서버캐시 호스트이름 IP 주소 TTL ServerA.contoso.com 131.107.0.44 28 seconds ServerA 는 131.107.0.44 어디에? Client1 Client2 ServerA 는 131.107.0.44 어디에? ServerA 캐시에이름이유지되는기본시간은 1 시간 DNS 서버캐시에서하나의항목도삭제할수있음 Ipconfig /displaydns 는로컬 DNS 클라이언트캐시를표시함 DNS Cache Locking 기능은캐시에대한덮어쓰기를방지하여 cache poisoning 공격을방어할수있음
DNS 서버역할설치방법 DNS 서버설치방법 서버관리자 Active Directory Domain Services 설치마법사 DNS 서버를관리하기위한도구 DNS 관리자스냅 - 인 서버관리자 DNS 관리자콘솔 (dnsmgmt.msc) DNSCmd 명령줄도구 원격서버관리도구
Lesson 3: DNS 영역 (Zones) 관리 DNS 영역형식이란? 동적업데이트란? Active Directory 통합영역이란?
DNS 영역형식이란? 영역주 (Primary) 보조 (Secondary) 스텁 (Stub) 설명 읽기 / 쓰기가가능한 DNS 데이터베이스 %windir%\system32\dns 폴더 읽기만가능한 DNS 데이터베이스 네임서버위치를확인하는데필요한레코드만포함하고있는영역 - 위임된영역의 SOA, NS, A 레코드 - stub 영역을업데이트할수있는하나이상의마스터서버 IP Active Directory 통합 영역파일이아니라 AD DS 에저장되는영역데이터
동적업데이트란? DHCP 클라이언트서비스가클라이언트를위한레코드를등록 클라이언트시작시 네트워크연결시 IP 주소를새로받거나변경할때 ipconfig /registerdns 를실행할때 1. 클라이언트가 SOA (Start of Authority) 쿼리발송 2. DNS 서버가 SOA 리소스레코드반환 3. 클라이언트가주 DNS 서버에동적업데이트요청발송 1 2 3 4 5 6 7 DNS 서버 리소스레코드 4. DNS 서버는업데이트를수행할수있다고응답 5. 클라이언트가보안되지않은업데이트를 DNS 서버로발송 6. 영역이보안된업데이트만허용할경우업데이트는거부됨 7. 클라이언트는 DNS 서버로보안된업데이트전송
Active Directory 통합영역이란? DNS 영역데이터는 AD DS 에저장됨 영역에대한 multimaster 쓰기허용 AD DS 복제를사용하여 DNS 영역복제 효율적인복제토폴로지사용 (attribute-level 복제 ) 효율적인 AD 복제프로세스사용 : Incremental updates 보안된동적업데이트사용 보안 : 영역, 도메인, 리소스레코드를위임할수있음 zone contoso.com hqdc01 filesvr01 desktop101