네임서버 zone파일 내용들의 의미

//네임서버 zone파일 내용들의 의미

네임서버 zone파일 내용들의 의미

zone파일의 내용중 ttl값과 minimim, A레코드값과 CNAME등 비슷하지만 다른 내용들로 인한 혼란이 올때가 있어 각 설정들의 명확한 의미를 정리해놓습니다.
# vi /var/named/alssla.co.kr.zone
$TTL    3600
;
@       IN      SOA     ns1.servis.co.kr. root.alssla.co.kr. (

20190201001      ;serial
10800           ;Refresh
3600            ;Retry
432000          ;Expire
84600 )         ;Minimum
NS      ns1.servis.co.kr.
NS      ns2.servis.co.kr.
MX 10  mail.alssla.co.kr.
MX 20  mail2.alssla.co.kr.
;
alssla.co.kr.            IN      A       192.168.0.10
www         IN      A       192.168.0.10
www         IN      A       192.168.0.11
ftp     IN      CNAME   www
aa.alssla.co.kr.          IN      A       192.168.0.10
mail.alssla.co.kr.       IN      A       192.168.0.10
alssla.co.kr.            IN     TXT      “v=spf1 ip4:192.168.0.10 ip4:192.168.0.20 -all”

존파일의 내용이 상단과 같을때
1) $TTL 값
alssla.co.kr 도메인에 대한 정보를 다른 네임서버(B)에서 가져간다음 이네임서버(B)에서 얼마나 보관할 것인가를 지정한것입니다.
즉 네임서버(B)는 3600초마다 ns1.servis.co.kr 에서 alssla.co.kr에 대한 정보를 가져옵니다.
누군가가 B라는 네임서버에 alssla.co.kr에 대한 정보를 질의할때 3600초동안은 정보를 가지고있다가 바로 줄수 있습니다.
따라서 도메인을 이전하는등 도메인에 대한 정보를 변경할때는 미리 TTL값을 줄여 놓으면 정보 갱신기간이 줄어듭니다.

2) @ 의 의미
origin 도메인을 의미하는것으로 /etc/named.conf파일에 설정되어있는 도메인명을 의미합니다. 여기서는 alssla.co.kr.(마침표포함) 을 의미합니다.
@ 대신 alssla.co.kr. 을 사용해도 됩니다.

3) SOA 의 의미
해당 도메인(alssla.co.kr)에대하여 여기설정한 네임서버(ns1.servis.co.kr)가 모든 정보를 가지고있음을 선언하는 것입니다.
뒤의 ns1.servis.co.kr은 네임서버를 의미하며 root.alssla.co.kr은 도메인관리자의 메일주소를 의미합니다. @대신 .을사용해야합니다.

4) 20190201001      ;serial 의 의미
여기서부터 ;Minimum 까지는 primary네임서버(ns1.servis.co.kr)와 secondary네임서버(ns2.servis.co.kr)을 어떻게 할 것인가에 대한 설정부분입니다.
대부분 도메인설정은 1차네임서버에서 하고 2차네임서버에서는 1차네임서버의 설정값을 주기적으로가져갑니다.
이때 1차네임서버의 설정이 변경되었는지 확인할때 20190201001(serial값)이 사용됩니다. 이값이 1차네임서버가 더 크면 2차네임서버에서 설정을 받아옵니다.
사실 이숫자의 형식은 상관없지만 알아보기쉽게 일반적으로는 yyyymmddnnn으로 사용하며 설정값이 변경되면 nnn에서 1이상만 키워서 넣어주면됩니다.

5) 10800           ;Refresh 의 의미
1차네임서버의 변경된 값들이 있는지를 얼마만에 체크하는지를 설정하는 부분입니다. 기본단위는 초입니다.

6) 3600            ;Retry 의 의미
1차네임서버에 접근이 안될때 얼마만에 다시 접근시도를 할지 설정하는 부분입니다.

7) 432000          ;Expire
1차네임서버에 접근이 안될때 얼마동안 더 접근시도를 할지 설정하는 부분입니다.
이 설정시간이후에도 연결이 되지 않을경우 해당 도메인정보가 삭제되거나 폐기되었다고 판단하고 이후로는 접속시도를 하지 않게 됩니다.

8) 84600 )         ;Minimum의 의미
기본적으로는 TTL 값이랑 동일한 의미를 가집니다.
차이점은 최상단 TTL값은 zone 파일 전체의 TTL 설정이며 minimum(default_ttl)값은 네임서버(ns1.servis.co.kr)에 대한 ttl값이라고 볼수있습니다.
해서 보통 도메인관련 정보의 변경시 최상단의 TTL값만 변경해도 됩니다.

9) NS 레코드
해당 도메인의 네임서버를 지정하는 레코드입니다.

10) A 레코드
해당 호스트가 어떤 아이피를 가르키는지를 설정하는 레코드입니다.
상단 www 의 설정처럼 서버도메인 설정시 호스트명 뒤의도메인(alssla.co.kr)은 생략가능합니다.
하나의 도메인(위의 예에서 www.alssla.co.kr)에 대해 2개이상의 다른 아이피주소를 설정할수 있습니다 .(dns 로드밸런싱)

11) MX 레코드
MX레코드는 해당 도메인의 메일서버를 지정한 것입니다.
즉 alssla.co.kr의 해당 메일들을 어떤 메일서버에서 받도록 할 것인가를 지정한 것입니다.
1차메일서버(mail.alssla.co.kr)가 다운등의 이유로 처리를 못할때 2차메일서버(mail2.alssla.co.kr)가 받아서 보관하게 되며 1차메일서버가 살아났을때 2차에 있는 메일을 1차로 보내주게됩니다. 이를 위해 MX레코드값은 아이피보다는 도메인명으로 지정해주시는 것이 좋습니다.
MX뒤의 숫자는 우선순위를 표시하는 것으로 낮은것이 1차메일서버가 됩니다.

12) CNAME 레코드
특정도메인에대한 서브도메인을 사용하기 위한 레코드입니다.
A 레코드는 특정호스트(예를들어 www)를 아이피에 매칭시키는 것이라면 CN 레코드는 특정호스트(ftp)를 다른 특정호스트(www)에 매칭시켜주는 것입니다.
alias(별칭)을 지정해주는것이라고 생각하셔도 됩니다.

13) TXT 레코드
TXT(텍스트) 레코드는 소유한 도메인에 간단한 텍스트 데이타를 입력하는 기능으로 여러 호스트를 유지할 경우 각 호스트에 대한 설명이나 관련 정보를 입력해두면 유용합니다.

14) SPF 레코드
TXT 레코드의 한 종류로 볼수있으며 전자 메일 스푸핑을 방지하는 데 사용되는 레코드입니다. 하나의 간단한 TXT 레코드에 메일을 보낼 위치의 모든 IP 주소를 지정하고 지정한 아웃바운드 서버만 허용하도록 받는 서버에 지시할 수 있습니다.
“v=spf1 ip4:0.0.0.0 -all” 형식으로 사용하며 각 설정의 의미는
v=spf1 : 사용하고 있는 SPF의 버전입니다.
ip4 : 허용하는 모든 서버 IP 주소를 위한 것입니다.
all : 3가지 옵션을 사용합니다.(all 앞에 붙습니다)
1. -: 위 목록 이외의 다른 곳에서 보낸 메일을 받아들이지 않습니다. 하드 오류입니다.
2. ~: 위 목록 중 하나에서 보내지 않은 전자 메일을 받아들이지 않습니다. 전자 메일을 허용하지만 소프트 오류가 발생합니다.
3. ?: 도메인에서 보낼 수 있는 서버가 더 있음을 나타냅니다.
추가) include : 이 매개 변수에는 도메인에 대한 보내기를 허용할 추가 레코드가 포함됩니다.

15) PTR 레코드
리버스 도메인에 사용되는 레코드입니다. 이 레코드는 A 레코드의 반대이며 역방향 맵 영역 파일에서 IP 주소를 호스트 이름에 매핑하는 데 사용됩니다. 한 위치로 전자 메일을 보내면 역방향 DNS에서 IP 주소를 받고 PTR 레코드를 확인하여 IP 주소가 도메인과 같은지 확인합니다.(주로 isp업체에 요청해서 사용합니다. )

 

About the Author: