DNS 구성 요소 - 존파일

DNS 구성 요소 – ③ 존 파일(Zone File)

특정 정보나 서비스를 제공하는 호스트(서버)에 접속하기 위해서는 그 영역의 정보, 즉 존 파일을 가지고 있는 네임서버로 우선 접근해야 합니다. 반대로 서비스를 제공하는 입장, 특히나 ISP나 웹호스팅 제공 업체의 입장에서는 네임서버를 직접 구축하고 운영할 필요가 있습니다. 왜냐하면 대부분의 개인 사용자들이나 소규모의 사업자들은 DNS 전문가가 아니기 때문입니다.

인터넷에서 최종적으로 정보를 제공하는 것은 영역(DOMAIN)이 아니라 특정 서버(서비스 제공 호스트)입니다. 따라서 개별 호스트들의 정보를 가진, 즉 ‘존 파일’을 저장하고 있는 도메인 네임서버를 통하여 어떤 정보가 제공되고 어떻게 활용되는지 확인하려면 존 파일의 내용을 알아야 하겠습니다.

① 네임서버 및 관리자 정보

존 파일의 첫 번째 정보는 해당 도메인(영역)에 대한 책임자가 누구인지를 규정합니다. 이는 인간의 입장에서 문제가 발생했을 때 책임자를 통해 해결해야 하니, 책임자의 이메일 정보를 설정해놓는 것입니다. 다른 한편 인터넷이란 호스트간의 접속을 통한 기계들의 통신인 까닭에 해당 영역의 정보를 제공할 호스트, 즉 네임서버 정보가 있습니다.

이러한 영역(domain)에 대한 책임 정보를 공식적으로 SOA(Start of Authority) 레코드라고 합니다. 다음은 도메인 네임서버 관리툴에서 첫 번째 정보인 SOA 레코드를 설정하는 모습입니다.

도메인 책임 권한 정보

GABIA.COM 영역(도메인)에 대한 호스트 정보는 ns.gabia.com이라는 네임서버가 가지고 있으며 그 책임자의 이메일은 ‘admin@gabia.com’이라는 의미입니다(admin 다음에 점(.)은 @의 의미를 가집니다) 그림5는 네임서버를 운영할 필요가 있는 전문 업체의 설정 방식 중 하나입니다. 대부분의 웹호스팅 업체에서는 고객의 웹사이트를 인터넷에 띄우기 위해 고객이 등록한 도메인으로 이러한 설정 작업을 대신해 줄 것입니다.

다시 한 번, 도메인 신청을 위한 필수 입력 정보 중에 네임서버 정보 입력란을 가지고 와 보겠습니다.

도메인 서비스 관리 정보

당신의 홈페이지 파일을 저장하고 있는 호스트 어디에 있습니까? 그리고 그 호스트의 이름 및 IP는 무엇입니까?

전문 인력 및 장비를 갖출 여력이 안 되는 일반적인 경우에는 웹호스팅 업체를 이용할 테니 그 업체에서 해당 정보를 제공할 것입니다. 아직 홈페이지 준비가 안됐다면 일단 도메인 등록 업체가 제공하는 네임서버 사용에 체크하고 등록을 진행하시면 됩니다.

다음은 구체적으로 이러한 네임서버가 관리하는 영역(도메인) 및 그 영역 내의 호스트 정보가 어떤 식으로 저장되고 활용되는지 살펴보겠습니다.

② 호스트 주소 정보(Address Record)

당연한 얘기지만 DNS가 생겨난 이유는 호스트 정보(호스트 주소와 이름)를 활용한 네트워크 접속이므로 ‘존(zone) 파일’의 가장 핵심적인 정보는 ‘호스트 컴퓨터(서버)의 정보’입니다. 이를 공식적으로 Address의 첫 자를 사용하여 ‘A 레코드’라고 합니다. 즉, A 레코드란 호스트 IP와 호스트 이름을 말합니다.

호스트 IP 호스트 이름
211.115.83.234 www
211.115.83.217 domain
211.115.83.214 hosting
121.254.168.215 inmail
43.201.170.100 ns
121.78.117.39 ns1

운영하는 호스트의 수가 많을수록 네임서버에 저장될 A 레코드의 정보도 늘어날 것입니다. 그러나 소규모 인터넷 업체의 경우에는 홈페이지로 사업을 영위하는 데 있어 네임서버, A 레코드, MX 레코드 정도의 정보가 필수적일 것입니다. 특히나 도메인 등록 업체가 웹호스팅 업체와 다르다면, 해당 정보를 웹호스팅 업체로부터 확인하고 도메인 등록 업체의 정보 변경 서비스를 통해 반영해 주어야 합니다.

이메일(Email) 호스트 정보(Mail Exchanger Record)

이메일 서버 이름을 지정합니다. 공식적으로 ‘MX 레코드’라고 합니다. 따라서 가비아 네임서버(ns.gabia.com) 존 파일의 이메일 서버 정보, 즉 MX 서버 이름 항목에는 ‘inmail.gabia.com’이 저장되어 있습니다. 이메일은 본인 인증은 물론이고 인터넷에서 이용하는 거의 모든 서비스의 기본 통지 수단이며 가장 대중적인 서비스입니다. 따라서 유료든 무료든 메일 서비스를 제공하는 업체는 다수의 메일 서버를 운영하며 여러 개의 IP를 사용하여 트래픽을 분산하고 있습니다.

따라서 MX 레코드에는 다수의 호스트 이름과 함께 그 접속 우선 순위를 다음과 같은 형식으로 설정할 수 있습니다.

mail.example.com 10

mail1example.com 20

mail3.example.com 30


참고) 존 파일 설정 사례

다음의 그림은 앞서 언급한 (1)~(3)의 정보가 포함된 네임서버 존 파일 설정 사례입니다. 이런 식으로 각각의 도메인(영역) 하에 있는 호스트 정보를 설정하는 것으로, 네임서버는 저장되어 있는 호스트 정보에 대한 요청에 응답할 수 있습니다.

존파일 설정 사례

출처: https://www.hostdime.com/resources/dns-made-easy/

앞서 설명한 세 가지 정보를 네임서버 존 파일에 설정하는 모습입니다. 숫자로 보이는 것은 초 단위의 시간으로, 네임서버로부터 확보해 간 호스트 정보가 유지되는 시간입니다. 즉, 네임서버 영역을 벗어나 한 번 넘겨진 호스트 정보는 이처럼 미리 정해 놓은 시간 후에 자동으로 소멸됩니다. 이를 TTL(Time to Live, 생존 기간)이라 합니다.

한편 비용 및 인력의 문제로 홈페이지의 운영을 서비스 업체에 일임하는 경우, 자신이 등록한 도메인이 어느 업체의 네임서버에서 어떤 식으로 설정되어 있는지 알고 있어야 합니다. 웹호스팅 업체를 변경하거나 존 파일 정보에 변경이 있을 경우 적절히 대응하기 위함입니다. 도메인 등록 업체의 부가 서비스에는 이러한 호스트 정보를 관리할 수 있는 수단이 거의 예외 없이 제공되고 있습니다.

이상의 세 가지는 존 파일의 핵심적인 기능으로, DNS 개발 초기의 목표가 그대로 구현되었다고 볼 수 있습니다. 그러나 오늘날의 인터넷은 DNS 개발 초기와는 비교할 수 없을 정도로 달라진 환경 속에 있고, DNS도 이러한 변화에 맞추어 지속적으로 그 기능을 보다 폭넓게 활용하고 있습니다.