DNS 운영과실무 IDC 운영팀정해상 Tel : 02-3149-4822 E-mail : hsjung@elim.net
목차 1. DNS 개념이해 2. DNS 관련용어정리 3. DNS 질의 / 응답경로이해 4. DNS의기본Zone File 이해 (BIND Zone File 기준 ) 5. WINDOWS SERVER DNS 설치 6. WINDOWS SERVER DNS 보안설정 7. BIND DNS 설치 8. BIND DNS 보안설정 9. Domain 장애유형별처리 10. Domain 서버이전절차 11. BIND DNS 유용한기능설정
1. DNS 개념이해 - I A. DNS 정의 Domain Name System 이란이름과 IP 주소를매핑하여주는거대한분산시스템. Forward Zone www.abc.com 192.168.0.1 Reverse Zone 192.168.0.1 www.abc.com
1. DNS 개념이해 - II Root Domain ICANN Top Level com org kr Second Level yahoo ubf co Third or subdoamins www www kr mymy Subdoamins www ftp www
1. DNS 개념이해 - III B. DNS 서버의유형 Master 도메인에대한소유권을가지고있는네임서버 Slave 도메인에대한 back-up copy를유지하는서버 Primary가비정상운행될때와부하를분산시키기위해운용 다수가존재가능 Cache only server 도메인에대한데이터를관리하지는않고, resolving만을처리
2. DNS 관련용어정리 -I Domain( 도메인 ) : 도메인등록대행업체에구입하게되는실질적인도메인 Host(Subdomain) : MS IE 에서사용하는 URL 을보면 www.abc.com 을사용하는데 이때 abc.com 앞에붙는모든단어 매핑 IP( 호스트 IP) : 호스트명과같이 Zone File 에서짝을이루어설정되는 IP 1,2 차네임서버 (Primary, Secondary) : 도메인등록대행업체에등록하는 DNS 서버의이름 Master, Slave 서버 ( 주 / 보조서버 ) : 운영방식에따른 DNS 서버구분 주서버 (Master Server) -> 실제 Zone File 에대한수정권한을갖고있는서버. 보조서버 (Slave Server) -> 주서버에서 Zone File 을복사하여보관하는서버.
2. DNS 관련용어정리 -II Krnic, Internic : 구매하는 Domain 에대한실제적인 DB 관리기관 Whois 검색 : krnic, internic DB 에등록되어있는 Domain 정보, 공용 IP 의현재사용 현황을확인하는검색 Zone File : abc.com 이라는도메인사용시해당도메인에대한소유권, 관리번호, 호스트명, 매핑 IP 등이실제적으로설정되고저장되는 File TTL : 외부의다른서버가 Zone File 을갖고있는주 / 보조서버에서 Domain 에대한 변경여부를확인하는시간 Serial No : 다른서버가주 / 보조서버의 Domain 변경여부확인시에해당파일의 변경여부를확인하는기준이되는번호
3. DNS 질의 / 응답경로이해 NIC 6 5 KT DNS 7 8 4 Elim DNS 3 9 2 PC 1
4. DNS 의기본 Zone File 이해 -I A. 자주사용하는 Record 설정방법및이해 NS(Name Server) 레코드 해당도메인에대한네임서버를명시할때사용 IN NS ns.abc.com. IN NS ns2.abc.com. A(Address) & CNAME(Canonical Name) 레코드 A 레코드는도메인에 IP를부여 www IN A 192.168.0.1 ns IN A 192.168.0.1 ns2 IN A 192.168.0.3 mail IN A 192.168.0.2 CNAME 레코드는도메인에대한또다른이름이가능하도록사용 ftp IN CNAME www test IN CNAME www CNAME 의경우 MX, NS 레코드와사용해서는안된다. MX(Mail exchanger) 레코드 MX 레코드는해당호스트의메일라우팅경로를조정 @ IN MX 10 mail @ IN MX 20 submail PTR(Pointer) 레코드 PTR 레코드는 IP 주소에대해도메인명을매핑하여주며, Reverse Zone 파일에서사용 1 IN PTR www.abc.com
4. DNS 의기본 Zone File 이해 -II B. 예제로본 Zone File 및기본설정값의미이해 $TTL 1h @ IN SOA ns.abc.com. root.ns.abc.com. ( 2005013101 ;Serial 3600 ;Refresh (1h) 1800 ;Retry (30min) 3600000 ;Expire (41days) 3600) ;Minimum (1h) IN NS ns.abc.net. IN NS ns2.abc.net. abc.com. IN A 211.111.111.1 @ IN MX 10 mail @ IN MX 15 mail2. www IN A 211.111.111.1 ibi IN A 211.111.111.2 lib IN A 211.111.111.3 mail IN A 211.111.111.1 mail2 IN A 211.111.111.2 dtb IN A 61.126.63.1
5. Windows Server DNS 설치 - I A. 설치순서 a. DNS 도메인등록 b. DNS Server Service 설치 c. Forward Lookup Zone 추가 (Master DNS) d. c의 Zone에 Record Type별 Record 추가 e. Reverse Lookup Zone추가 (Master DNS) f. e의 Zone에 Record Type별 Record 추가 g. Slave Name Server설치 h. Dynamic Update 구성 i. DNS Client 구성
5. Windows Server DNS 설치 II - DNS Server Service 설치
5. Windows Server DNS 설치 III - Lookup Zone 추가 (Master DNS)
5. Windows Server DNS 설치 - IV
5. Windows Server DNS 설치 - V
5. Windows Server DNS 설치 VI - Zone 에 Record Type 별 Record 추가
5. Windows Server DNS 설치 VII -Zone 별기능설정
5. Windows Server DNS 설치 VIII - Slave DNS 설정
5. Windows Server DNS 설치 - IX
5. Windows Server DNS 설치 X - DNS 서버 TEST
6. Windows Server DNS 보안설정 I - Zone Backup
6. Windows Server DNS 보안설정 - II
6. Windows Server DNS 보안설정 - III A. NTFS 파티션설정 B. 최신서비스팩설치 C. 최소한의서비스운영 D. 최소사용자및관리자계정유지및암호관리 E. 원격에서 nslookup으로 DNS서버의데이터확인막기 F. 최소한의역방향조회영역유지
7. BIND DNS 설치 - I A. RPM으로설치하는방법 1) Download Site => http://fr2.rpmfind.net/linux/rpm2html/search.php?query=bind 2) 실행명령 => # rpm Uvh bind-9.x.x-i386.rpm # rpm Uvh bind-[utils devel chroot libs]-9.x.x-i386.rpm 3) 설치연관파일확인하기 => # cd /etc # ls l named.conf -rw-r--r-- 1 root root 659 May 16 18:55 named.conf # cd /var/named # ls l -rw-r--r-- 1 named named 2498 Jan 16 2004 named.ca -rw-r--r-- 1 named named 667 Nov 28 2003 zone.127.0.0
7. BIND DNS 설치 - II B. Source 컴파일방법 1) Download Site => http://www.isc.org/index.pl?/sw/bind/bind9.php 2) 컴파일명령. => #./configure # make # make install 3) 확인해야할파일들 => # vi /etc/named.conf # vi /etc/rndc.conf # vi /etc/rndc.key # vi /etc/host.conf # vi /etc/resolv.conf # vi /var/named/named.ca 4) named.ca Download 복사 (site : ftp://ftp.rs.internic.net/domain/)
8. BIND DNS 보안설정 I A. DNS 보안정책 1) DNS 서버의물리적분리 서로다른네트워크에 Master, Slave 설치 서로다른건물에 Master, Slave 설치 서버다른 OS에 Master, Slave 설치 2) DNS 서버의용도에따른분리 Advertising 과 Resolving 으로구분하여설치 3) Recursion 질의제한 Named.conf 수정 options { allow-recursion { none; }; }
8. BIND DNS 보안설정 - II 4) Zone-Transfer 제한 options { allow-transfer { none; }; 5) Dynamic Update 제한 options { allow-update { none; }; }; 6) TSIG 를이용한보안강화 Zone Trasfer, notify, 순환질의, Dynami update 시암호화키를사용 7) View 를이용한 DNS 분리 (BIND 9) 동일도메인중내부사용자와외부사용자가각각별도의응답이필요할경우
8. BIND DNS 보안설정 III 8) Bind 버전정보유출제한 options { version Unknown ; }; 9) DNS 방화벽정책 10) DNS 질의모니터링 (http://dnstop.measurement-factory.com/)
8. BIND DNS 보안설정 - IV C. 핵심구성보안권한설정 1) /etc/named.conf 2) /usr/sbin/named ( 수동설치시 /usr/local/sbin) 3) /usr/sbin/rndc 4) /etc/rndc.conf 5) /etc/rndc.key 6) /var/named 디렉토리 7) /var/named.ca 8) /var/named.local => /var/named 디렉토리를제외한모든파일들을모두보안관리번호 600으 로설정한다. => /var/named 디렉토리의모든파일은보안관리번호 644로설정한다.
9. Domain 서버장애유형별확인및처리 I A. DNS 서버장애처리도구및사용방법 NSLOOKUP Windows 실행방법 : 시작 -> 실행 -> nslookup [ 확인 ] Linux 실행방법 : 실행 Shell 에서 nslookup 입력 실행예제 (windows) 사용예제 > www.abc.com Server: ns.elim.net Address: 203.239.130.1 Non-authoritative answer: Name: abc.com Address: 199.181.132.250 Aliases: www.abc.com > server kns.kornet.net Default Server: kns.kornet.net Address: 168.126.63.1 > set q=mx > abc.com Server: kns.kornet.net Address: 168.126.63.1 abc.com MX preference = 10, mail exchanger = mx3.disney.com abc.com MX preference = 10, mail exchanger = mx4.disney.com > set debug
9. 유형별장애처리방법 II B. 장애유형별처리방법 Q1. 웹서버설정이정상적으로완료했으며서버에서는정상적으로홈페이지가올라오는데일반 PC 에 다? 서 IE 를실행시켜 www.abc.com 입력하면에러가뜨고 IP 를입력하면홈페이지가정상적으로뜬 A1. 시작 -> 실행 -> nslookup [ 확인 ] 을실행하여 www.abc.com 쿼리를확인했을때정상적으로응 답하여 IP 가나오는지확인한다. IP 가안나올경우해당도메인의 Zone File 을관리하는서버를확인 해봅니다. Q2. Nslookup 실행시기존 IP 와새로설정된 IP 가번갈아가면서응답할때확인및조치사항은? A2. 이런경우는보통 1,2 차 DNS 서버의설정이틀릴때발생합니다. 1,2 차 DNS 서버의설정상태를 확인하시면됩니다. Q3. Elim.net DNS 의응답과 KT, Hanaro DNS 서버의응답이틀리게발생합니다. A3. 각각의 DNS 서버에 Zone File 이존재하거나 Cache File 이아직업데이트되지않았을때발생한다.
9. 유형별장애처리방법 - III Q1. 해외메일서버또는국내메일서버 (Daum) 중일부메일서버에서메일이들어오지않는다. A1. MX 에대한 reverse Zone 이설정이되어있지않기때문이다. Q2. 주도메인서버에서변경후보조도메인서버의 Backup Copy 내역이변경되지않는다. A2. Notify 이기능에해제되어있는지확인한다. Q3. BIND DNS 서버운영중로그에계속해서 Lame Server 라는메시지가올라온다. A3. Named.conf, Zone 파일오류또는네임서버설정에존재하지않는도메인에대한응답요청을받을경우발생합니다 Q4. Windows DNS 에서 Secondary Zone 설정을 Primary 로변경할경우에러가발생한다. A4. 레지스트리의값을변경해야한다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones\[Zonename] Type = 2 에서 1 로변경 Q5. DNS 캐쉬공해 (Pollution) 을막는방법은? A5. 레지스트리의값을변경해서보안이안되어있는레코드에대해응답하지않도록필터를설정할수있다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servieces\Dns\Parameters SecureResponses ( 형식 : DWORD) 를만든다음값을 1 로변경
10. Domain 이전실무예시 1 먼저개통일및 IP 를확인하여 1~2 일이전부터작업을진행 고객사 DNS 서버 Whois 검색 12 7 11 NIC 12 7 개통담당자 1 Elim DNS 13 9 4 DNS 관리자 2 3 고객 DNS 서버에설정되어있는 Zone File 을백업 백업받은 Zone File 을 Domain@elim.net 으로발송 4 백업한 Zone File 을확인하여동일하게 Elim DNS 에등록합니다. 단, TTL Time 은 60 초로설정 5 6 7 8 도메인등록대행업체에 1,2 차네임서버정보를 Elim DNS 로변경하고 1 일간대기 1 일간대기시간동안전용회선 /VPN 회선개통후변경될서버의호스트명, 매핑 IP 를 Domain@elim.net 으로발송 Whois 검색으로 1,2 차네임서버정보가 Elim DNS 로변경되었는지확인 Elim.net 으로부터할당받은 IP 를서버에설정하기직전에 DNS 담당자에게 IP 변경사실통보 10 2 5 1 3 6 8 9 ElimDNS 설정및서버 IP 동시변경. 10 타업체 DNS 정상응답확인후 Elim DNS 설정을그대로고객사 DNS 서버에다시설정 11 도메인등록대행업체에 1,2 차네임서버정보를고객사의 DNS 서버로변경하고 2 일간대기 고객사 9 고객사서버 12 1,2 차네임서버정보가고객사 DNS 로변경되었는지확인 13 Elim DNS 의설정파일을삭제합니다.
11. BIND DNS 유용한기능설정 I A. 미러링서버간의부하공유 1. 대표호스트도메인을 Shuffle Addresses에연결하는방법 www 180 IN A 210.105.79.101 180 IN A 210.105.79.102 180 IN A 210.105.79.103 2. 다수의 CNAME을연결하는방법 Named.conf 설정 Options { multiple-cnames yes; }; Zone File 설정 www 180 IN CNAME www1.abc.com. 180 IN CNAME www2.abc.com. 180 IN CNAME www3.abc.com www1 180 IN A 210.105.79.101 www2 180 IN A 210.105.79.102 www3 180 IN A 210.105.79.103 180 IN A 210.105.79.104 180 IN A 210.105.79.105
11. BIND DNS 유용한기능설정 II B. 도메인포워딩방법 1. 하나의도메인으로로딩되어야할것을다른도메인에있는홈페이지내용을로딩되게하는것 홈페이지홈디렉토리의 index.html 에다음내용을입력. <html> <head><title> 도메인포워딩 </title></head> <meta http-equiv=refresh content=0;url=http://www.abc.com> <body> </body> </html>