분류 전체보기

(2) DNS 서비스 설정하기

2009. 3. 17. 00:49

DNS 서비스의 동작

네임 서버 구조와 분산 네임 데이터베이스

DNS 서비스는 부하를 집중시키지 않도록 하위 도메인을 관리하는 여러 등록 권한 기관을 두어 분산시킨다. 등록 권한 기관이 분산되어 있는 것과 마찬가지로 도메인에 대한 정보 또한 분산 데이터베이스를 구성하여 네임 변환 수행시 부하를 분산시킨다.

도메인 네임 공간에 대한 정보를 관리하는 DNS 권한 구역은 도메인 구조와 마찬가지로 계층적 구조를 이루며 각 DNS 서버는 자신의 네임 공간에 대한 정보와 하위 도메인 네임 공간에 대한 정보를 저장한다. 관리자는 DNS 마스터 파일을 이용하여 특별한 형태의 자원 레코드(RR; Resource Record)에 데이터를 저장하는 방법으로 네임 공간내의 하위 도메인과 호스트와 같은 객체에 대한 정보를 저장한다.

 

DNS 서버의 일반적인 기능

  • 네임 공간의 정보를 저장하고 DNS 클라이언트의 질의에 응답한다.
  • 다른 서버와의 상호작용을 통해 DNS 요청의 유형에 따라 DNS 클라이언트가 되어서 다른 서버로 질의를 요청한다.
  • 마스터 서버와 슬레이브 서버 사이에 수행되는 구역 전달을 위한 기능을 수행한다.
  • DNS 네임 서버 질의의 성능 향상을 위해 네임 서버 응답을 캐싱하여 DNS 클라이언트의 응답 효율을 높인다.

 

DNS 네임 서버

자원 레코드의 관리

RR 필드

DNS 클라이언트의 요청에 대해 네임 서버는 DNS 메시지에 RR을 담아 보냄으로 질의에 대한 응답을 한다.

마스터 파일

전송의 효율을 위해 관리자는 아스키 텍스트로 만들어진 DNS 마스터 파일을 편집하여 RR을 등록하거나 수정하며 DNS 서버는 이를 이진 파일로 변환하여 질의/응답에 사용한다.

RR 타입

[표1. RR 타입과 설명]

RR 타입 값 RR 문자 코드 RR 타입 설명
1 A 주소 (Address) IPv4 주소를 지정한다. 호스트 이름을 IP 주소로 변환하기 위한 정보를 저장한다.
2 NS 네임 주소 (Name Server) DNS 구역(zone)을 위한 권한 DNS 네임 서버의 호스트 이름을 저장한다. 각 구역은 1차 네임 서버를 가리키는 NS 레코드를 1개 이상 가지고 있어야 하며 각 네임 서버의 호스트는 유효한 주소 레코드(A)를 가지고 있어야 한다.
5 CNAME 공인 이름 (Canonical Name) 등록된 호스트 이름을 대신할 별칭(alias)을 위해 사용한다. 내부적으로 호스트 이름을 변경하더라도 변하지 않는 별칭을 이용하여 DNS를 통한 호스트 이름을 일관성 있게 사용할 수 있다.
6 SOA 권한 개시 정보 (Start Of Authority) DNS 구역의 시작을 표시하며 모든 DNS 구역은 하나의 SOA 레코드를 가져야한다. 마스터 서버의 네임 서버 및 관리자 전자우편 주소, 슬레이브 서버의 동작 방법 등을 지정한다.
12 PTR 포인터 (Pointer) IN-ADDR.ARPA 도메인을 통한 역방향 조회를 위한 IP 주소를 지정한다.
15 MX 메일 교환 (Mail Exchange) 도메인 이름으로 전송되는 메일 메세지를 처리하는 메일 서버의 호스트 이름를 지정한다.
16 TXT 노트 (text) 도메인과 관련된 추가적인 정보를 텍스트로 저장한다.

 

RR 클래스

DNS가 다양한 프로토콜을 지원할 수 있도록 제공하였으나 현재 TCP/IP 이외의 사용 프로토콜이 없으므로 TCP/IP 프로토콜을 의미하는 'IN'만이 사용된다. 보통 생략하면 IN을 사용하는 것으로 간주한다.

 

DNS 서버의 종류와 역할

마스터(1차) 서버와 슬레이브(2차) 서버

DNS 구역(zone)마다 1개 이상의 DNS 서버가 존재하여야 하며 DNS 서버는 해당 DNS 구역의 정보를 기술하는 RR 전체를 포함하고 있다. 마스터 서버는 관리자가 해당 도메인 공간(name space)의  정보를 RR 형태로 관리하는 ASCII 텍스트 파일인 DNS 마스터 파일을 가지고 있으며 슬레이브 서버는 이 DNS 마스터 파일을 마스터 서버로부터 복사하여 DNS질의에 대한 응답 자료로 사용한다. 슬레이브 서버는 마스터 서버의 장애에 대비하거나 부하 분산 등의 목적으로 운영되며 보통 1개 이상의 슬레이브 서버를 운영한다.

마스터 서버와 슬레이브 서버는 또한 다른 DNS 영역의 정보를 얻기 위한 DNS 클라이언트의 역할도 수행하여 자신을 DNS 서버로 지정한 다수의 DNS 클라이언트를 대신하여 도메인 이름 찾기 서비스를 대행하기도 한다.

Microsoft에서는 주 영역 서버와 보조 영역 서버로 분류한다. 기본적으로 주 영역 파일은 zone_name.dns라는 이름이 지정되어 서버의 %windir%\System32\Dns 폴더에 저장된다.

 

캐싱 전용 서버 (Caching only)

다른 DNS 서버로부터 DNS 영역 정보를 읽어오는 역할만을 한다. 네트워크 관리자는 지역 네트워크 사용자들의 DNS 요청을 분산시킬 목적으로 지역 네트워크마다 캐싱 전용 서버를 두어 지역 사용자들이 신속한 DNS 질의에 대한 응답을 얻을 수 있도록 운영할 수 있다. 서버 구성시 루트 힌트만을 구성하면 캐싱 전용 서버로 동작한다.

[그림1. Windows 2003 Server의 DNS 서버 구성 선택 창]

DNS캐싱전용서버01.png 

 

DNS 도메인 책임자

관리 책임자

도메인을 전체적으로 관리하며 보통 도메인 소유자인 개인이나 단체가 관리 책임자가 된다.

요금 책임자

도메인의 요금을 담당하는 책임자를 말하며 소규모 기관에서는 관리 책임자가 요금 책임자를 겸한다.

기술 책임자

도메인의 세부적인 기술 사항을 관리하는 담당자이며 호스팅 업체에 의뢰한 경우 호스팅 업체의 기술 담당이 기술 책임자로 등록 되기도 한다.

 

영역 전송

슬레이브 서버는 마스터 서버의 SOA 레코드의 필드값을 확인하여 도메인 영역을 갱신할 것인지를 결정한다.

  • 일련번호(Serial) : 마스터 서버에 있는 영역 데이터베이스의 버전 번호 역할을 하며 슬레이브 서버가 마스터 서버의 도메인 영역 정보의 갱신 여부를 판단하기 위한 기준 역할을 한다.
  • 새로 고침 간격(Refresh) :  슬레이브 서버의 갱신 주기를 지정한다.
  • 다시 시도 간격(Retry) : 마스터 서버의 응답 장애시 재시도 주기를 지정한다.
  • 만료일(Expire) : 슬레이브 서버가 지속적으로 장애로 인해 마스터 서버의 도메인 영역 정보를 갱신하지 못했을 경우 만료일 경과시 자신의 정보를 무효한 것으로 간주하여 사용하지 않게 된다.

 

DNS 루트 네임 서버

DNS는 계층 구조로 구성되어 있으며 최상위 도메이의 상위 개념으로 루트 도메인이 존재한다. 도메인의 IP 주소 변환시 루트 노드에서 시작해야 하므로 DNS 루트를 위한 네임 서버 기능을 담당하는 네임 서버 집합이 존재하며 이를 DNS 루트 네임 서버라고 한다.

루트 네임 서버의 장애는 곧 인터넷 전체의 DNS 체계의 멈춤으로 이어지므로 각 지역별로 복수의 루트 네임 서버를 둠으로써 안정적이며 빠른 응답을 기대할 수 있도록 한다. 현재 13개의 루트 서버가 존재하며 각 루트 서버는 클러스터를 구성하여 복수의 하드웨어 서버로 구성되어 있다.

 

DNS 네임 서버 캐싱

DNS 서버는 자신이 관리하는 도메인 영역의 정보외의 다른 도메인 영역 정보를 DNS 서버간 질의와 응답을 통해 주소 변환이 이뤄지며 이런 결과를 캐시에 저장해 둠으로써 반복적인 DNS 클라이언트들의 질의에 대한 효율성을 높인다. 캐시 데이터의 지속성은 마스터 서버의 SOA 자원 레코드의 TTL 필드의 값에 의해 결정된다.

 

향상된 DNS 서버의 기능

구역 전달의 자동화: DNS 알림 (DNS Notify)

마스터 네임 서버의 영역 정보가 변경될 때 슬레이브 서버에게 통지함으로써 잦은 갱신으로 인한 불필요한 트래픽과 늦은 갱신으로 인한 영역 정보의 무효화를 방지할 수 있다.

 

점증적 전달: RFC 1995, Incremental Zone Transfer in DNS

마스터 네임 서버의 일부 자원 레코드의 변경만으로도 전체 영역 정보를 전송받아야 하는 슬레이브 서버의 동작을 개선하여 일부 변경된 자원 레코드만을 선별적으로 전송받아서 불필요한 갱신을 하지 않도록 한다.

 

DNS 동적 업데이트: 동적 IP 주소의 처리

기존의 DNS는 IP가 고정되어 있음을 가정하므로 큰 규모의 도메인으로 인한 잦은 변경 사항이나 동적 IP 주소를 사용한 변경들을 적용하기 위해서 관리자의 노력만으로는 이러한 변경 사항을 일일이 반영하기에 무리가 있다. 1997년 4월 RFC 2136, "Dynamic Updates in the Domain Name System(DNS UPDATE)"를 통해 DNS 정보를 동적으로 갱신할 수 있도록 갱신 방안을 기술하였고 이를 동적 DNS(DDNS; Dynamic DNS)라고 한다. 갱신 메시지라고 불리는 DNS 메시지를 통해 클라이언트의 변경 사항을 서버에 자동으로 반영된다.

이 글은 스프링노트에서 작성되었습니다.

(1) DNS 서비스 설정하기

2009. 3. 15. 22:23

DNS(Domain Name System) 개요

인터넷에 연결된 모든 컴퓨터는 고유한 IP주소를 갖고 있으며 IP주소를 알아야만 통신을 할 수 있다. 마치 전화를 걸기위해서는 상대편 전화번로를 알아야만 걸 수 있는 것과 마찬가지이다. 이렇게 전화 번호에 해당하는게 IP주소인데 문제는 사람은 숫자를 기억하는데 한계가 있다는 점이다. 그래서 대부분의 사람들은 주소록 기능을 이용하여 전화번호와 이름을 함께 저장하여 이름으로 전화번호를 찾아 전화 통화를 한다. 마찬가지로 숫자로 된 IP 주소 대신 기호체계인 이름으로 인터넷에 연결된 컴퓨터를 찾을 수 있도록 해주는게 도메인 이름이다.

초기에는 개별 컴퓨터에 컴퓨터 이름과 IP 주소의 쌍으로 이뤄진 '호스트 테이블'이라는 텍스트 파일을 저장하여 사용하였으나 인터넷에 연결되는 컴퓨터의 숫자가 늘면서 이러한 방법으로는 통일된 이름의 부여가 어려워졌기 때문에 '도메인 네임 시스템'이라는 이름 찾기 서비스를 개발하였다.

 

도메인 이름 체계

도메인 이름은 중복되지 않는 이름으로 정해진 규칙에 의해 작성되어야 하며 도메인의 종류에 따라 관리하는 기관이 다르다. 하지만 모든 도메인은 논리적으로 하나의 단일한 트리 구조를 갖고 있으며 가상의 도메인 이름인 '루트 도메인(Root Domain)'으로부터 연결되어 가지를 벌여나가는 모양으로 구성되어 있다.

[그림1. 도메인 트리구조]

도메인계층구조.png 

루트 도메인으로부터 벋어 나온 첫번째 단계의 도메인을 '최상위 도메인(TLD; Top Level Domain)'이라고 하며 최상위 도메인은 일반 최상위 도메인과 국가 최상위 도메인으로 나누며 '일반 최상위 도메인(gTLD; generic Top Level Domain)'은 각 분류와 목적에 맞춰 3자리로 지정된 도메인 이름으로 미국이나 외국의 영리 기관에서 관리하고 있으며 '국가 최상위 도메인(ccTLD; country code Top Level Domain)'은 각 국가별로 할당된 2자리의 이름을 지정하여 각 국가의 망정보센터(NIC; Network Information Center)에서 관리하고 있다. 이러한 최상위 도메인 이름은 ICANN(Internet Corporation for Assigned Names and Numbers)에 의해 만들어진 정책에 의해 결정된다.

 

일반 최상위 도메인(gTLD)

초기에는 com, org, net 등 7개의 이름만 사용되었으나 인터넷 이용 기관의 급증으로 com 등 도메인 이름의 소유에 관한 분쟁이 늘어나 이를 해소할 목적으로 biz, info 등의 최상위 도메인을 신설하게 되었다.

일반 최상위 도메인은 ICANN process의 global Internet community에 의해 만들어진 정책으로 'registry operators'에 의해 운영되는 'Unsponsored TLD'와 생성 목적에 맞춰 만들어진 이름을 갖는 'sponsors'에 의해 운영되는 'Sponsored TLD'가 있다.

Unsponsored TLD

.biz, .com, .info, .name, .net, .org, .pro

Sponsored TLD

.aero, .asia, .cat, .coop, .jobs, .mobi, .museum, .tel, .travel

 

[표1. 일반 최상위 도메인과 관리기관]

gTLD 목적 관리기관(Sponsor/Operator) 도입년도
.edu 미국 교육기관 EDUCAUSE  (http://www.educase.edu) 1995
.org 비영리 기관 Public Interest Registry (http://www.pir.org) 1995
.net 네트워크 서비스 제공자 VeriSign, Inc. (http://www.verisign.com) 1995
.mil 미국 국방기관 US DoD Network Information Center (http://www.nic.mil) 1995
.com 제한 없음 VeriSign, Inc. (http://www.verisign.com) 1995
.gov 미국 정부기관 US General Services Administration (http://dotgov.gov) 1995
.int 국제 기구 Internet Assigned Numbers Authority (http://www.iana.org) 1998
.museum 박물관 Museum Domain Management Association, (MuseDoma) (http://musedoma.muse) 2001
.info 제한 없음 Afilias Limited (http://www.afilias.info) 2001
.name 개인 Global Name Registry, LTD (http://www.gnr.name) 2001
.coop 협동조합 DotCooperation, LLC (http://www.nic.coop) 2001
.biz 비즈니스 NeuLevel (http://www.neulevel.biz) 2001
.aero 항공운송 산업 Societe Internationale de Telecommunications Aeronautiques SC, (SITA) (http://www.nic.aero) 2001
.pro 회계사, 법률가, 의사 등 전문가 RegistryPro, LTD (http://www.nic.pro) 2005
.mobi 모바일콘텐츠 제공자 및 이용자 mTLD Top Level Domain, LTD (http://mtld.mobi) 2005
.travel 여행 및 관광 커뮤니티 Tralliance Corporation (http://www.tralliance.travel) 2005
.jobs 인적자원관리자 국제 커뮤니티 Employ Media LLC (http://www.goto.jobs) 2005
.cat 카탈로니아 언어문화 커뮤니티 Fundacio puntCAT (http://www.domini.cat) 2005
.tel 기존통신수단과 최신기술(VoIP) 통합/연동 서비스 제공 Telnic Ltd. (http://www.nic.tel) 2006
.asia 아시아지역 DotAsia Organization (http://www.dotasia.org) 2007

 

국가 최상위 도메인(ccTLD)

국제 도메인 이름(IDN; Internationalised Domain Names)은 ICANN process의 IDN WG(Internationalized Domain Names Working Group)의 정책으로 만들어지며 각 국가별로 할당된 2자리 코드로 지정되어 있다. IANA에서 제공하는 Root Zone Database(http://www.iana.org/domains/root/db/)를 통해 확인할 수 있다.

 

KR 도메인

1단계 도메인인 kr은 ISO 3166에 의한 인터넷상의 도메인체계에서 대한민국을 나타내는 국가 최상위 도메인이다. 현재 한국인터넷진흥원내의 한국인터넷정보센터(KRNIC)에서 관리하고 있다.

kr도메인은 '한글.kr도메인'과 '영문.kr도메인(퀵돔)'의 2단계.kr도메인과 nic.or.kr과 같은 3단계.kr도메인이 있다.

[표2. 2단계.kr도메인]

한글.kr도메인 (한글도메인) 퀵돔 영문.kr도메인 (영문도메인)
도메인의 성격을 나타내는 2차도메인(co, or, go 등)이 없는 형태의 한글도메인. 도메인의 성격을 나타내는 2차도메인(co, or, go 등)이 없는 형태의 영문도메인.
완성형 한글(2,350자)과 숫자(0-9), 하이픈(-) 사용 가능. 숫자와 하이픈만으로 구성된 도메인명은 사용 불가. 하이픈으로 시작할 수 없음.

영문(대소문자 구별 없음)과 숫자(0-9), 하이픈(-) 사용 가능. 숫자와 하이픈만으로 구성된 도메인명은 사용 불가. 하이픈으로 시작할 수 없음.

※ 퀵돔(QuickDom)은 빠름(Quick)과 도메인(Domain)의 합성어로 2006년 9월에 도입된 2단계 영문도메인의 브랜드명.

2자 이상 17자 이하 3자 이상 63자 이하

 

[표3. 3단계.kr도메인]

3단계.kr도메인
nic.or.kr과 같이 도메인의 성격을 나타내는 2차 도메인(co, or, go)이 있는 형태의 영문 도메인.
영문(대소문자 구별 없음)과 숫자(0-9), 하이픈(-) 사용 가능. 숫자와 하이픈만으로 구성된 도메인명은 사용 불가. 하이픈으로 시작할 수 없음.
2자 이상 63자 이하

 

[표4. kr도메인 등록 자격]

2차 도메인

(2단계 공공도메인)

등록 분류 등록 자격
co 영리 법인 또는 개인
ne 네트워크 상동
or 비영리 상동
re 연구 상동
pe 개인 개인
go 정부 기관 행정 기관 또는 입법 기관, 사법기관
mil 국방조직 정부조직법, 국군조직법, 국방조직 및 정원에 관한 통칙에 의한 국방조직
ac 대학/대학원 교육기본법, 고등교육법, 기타 특별법에 의한 교육기관
hs 고등학교 교육기본법 및 초ㆍ중등교육법에 의한 고등학교ㆍ고등기술학교
ms 중학교 교육기본법 및 초ㆍ중등교육법에 의한 중학교ㆍ고등공민학교
es 초등학교 교육기본법 및 초ㆍ중등교육법에 의한 초등학교ㆍ공민학교
sc 기타학교 교육기본법 또는 기타법령에 의하여 주무관청에 설립허가, 등록, 신고 등의 절차를 거친 교육ㆍ훈련기관
kg 유치원 교육기본법 및 유아교육법에 의한 유치원

 

[표4. 지역에 연고를 둔 .kr도메인]

※ 지역에 연고를 둔 법인이나 개인에 등록 자격 있음.

2차 도메인

(2단계 공공도메인)

지역
seoul 서울특별시
busan 부산광역시
daegu 대구광역시
incheon 인천광역시
gwangju 광주광역시
daejeon 대전광역시
ulsan 울산광역시
gyeonggi 경기도
gangwon 강원도
chungbuk 충청북도
chungnam 충청남도
jeonbuk 전라북도
jeonnam 전라남도
gyeongbuk 경상북도
gyeongnam 경상남도
jeju 제주특별자치도

 

 

이 글은 스프링노트에서 작성되었습니다.

+ Recent posts