SOA 레코드는 필수 레코드이다. SOA레코드는 도메인 영역을 표시하는 역할을 하며, 네임서버에게 어떤 기준에 의해 이 도메인을 관리하여야하는지 알려주는 역할을 한다.
SOA 레코드는 도메인 Zone 파일 작성에서 반드시 작성해야하는 레코드로 표준 사항인 동시에 도메인 네임체계의 기본 원칙에 관련 된 사항이다.
SOA 레코드는 이 도메인 영역이 구분된 관리영역을 갖는 독립적인 도메인 존임을 표시해 준다.
만약 SOA 레코드가 누락된 도메인 존 파일을 네임서버에 반영시키려 하면, 네임서버는 에러로그 몇 줄 남기고 무시해버린다. 네임서버 입장에서는 SOA 레코드가 누락된 도메인 존을 '어떻게 관리해야 하는지 알 수가 없기 때문'에 아예 처음부터 반영하지 않음으로써 문제발생을 미연에 방지하려고 한다.
SOA 레코드는 이 도메인 존으로 별도로 구분된 도메인 영역이며 이 도메인 영역은 어떤 기준으로 관리되어야 한다고 "네임서버"에게 알려주는 정보를 담고있다. 이때 네임서버는 마스터 네임서버, 슬레이브 네임서버, 캐시 DNS 서버까지 포함하는 모든 네임서버를 지칭한다.
SOA 레코드는 Start Of Authority의 약자이다. 여기서 Authority는 관리권한을 의미하는 것으로 번역할 수 있고 관리권한이 시작되는 곳으로 도메인 존 영역의 시작점을 의미한다. 이 지점부터는 관리 영역이 나뉘어지는 것을 의미하며 여기서부터는 내가 관할하는 영역이다 라는 표시를 SOA레코드가 해준다.
크게보면, DNS 체계는 루트 도메인(.)이 전체 도메인 영역을 대표하고 그 내부에 다시 도메인 영역들을 분할하여 각자 알아서 분할된 영역을 관리하는 방식으로 구성되어 있다. 나누어진 각 도메인 영역을 표시하는 수단이 SOA 레코드이다. 도메인 존은 SOA레코드에 의해서 그 영역의 범위가 구체적으로 규정된다.
도메인에 서브 도메인을 두어 하위 영역을 분할하는 경우, 즉 도메인을 위임(delegation)하는 경우, NS레코드(글루레코드)로 해당 서브도메인(또는 자식도메인)이 소재한 네임서버를 지정해 주고, 서브 도메인의 마스터 네임서버에서는 이 서브 도메인 이름에 대해 반드시 SOA레코드를 설정해야 한다. 위임이라는 것은 일정 도메인 영역의 관리권한을 위임한다는 의미이고, 이렇게 위임받은 주체는 독자적인 관리정책으로 그 도메인 영역을 관리하게 된다. 이때 그 관리정책 중 네임서버가 알아야 할 도메인 존의 관리정책을 DNS 레코드로 표현한 것이 바로 SOA 레코드이다.
용도 구분 | SOA 필드 명칭 | 개요 |
마스터 네임 서버 표시 | mname | Master name의 약자 마스터 네임서버의 도메인 이름을 설정함 |
존 관리자 연락쳐 표시 | rname | Responsible name의 약자 도메인 존 관리자/담당자의 e-mail 주소를 도메인이름 형식으로 표현하여 설정 |
존 데이터 동기화 관리 기준 | serial refresh retry expire |
도메인 존의 갱신 버전번호 정보 설정 도메인 존을 갱신하는 주기 시간을 초단위로 설정 시간도메인 존 갱신여부 확인에 실패한 경우, 재시도 주기 시간을 초단위로 설정 도메인 존 갱신이 실패하여 도메인에 대한 DNS질의응답을 중단해야 하는 기간을 초단위로 설정 |
존에 없는 레코드의 TTL 값 | minimum | 존에 없는 도메인/레코드 응답 경우, 이 도메인/레코드(부재 도메인/레코드) 부재정보의 캐싱에 적용하는 TTL 값 |
serial : secondary 네임서버는 이를 보고 정보 갱신여부를 판단. 현재보다 숫자가 높으면 업데이트
- 일반적으로 YYYYMMDDNN으로 구성됨
refresh : secondary가 primary에 접속해서 설정이 갱신되었나 확인하는 시간주기
- 갱신이 잦으면 3H(10800) zone이 안정되는 시점에서는 6H(21600)로 설정
retry : secon.가 prim.에 서 설정내용을 읽어들일 수 없는 경우, 재요청하는 시간주기
- refresh기간보다 짧을 때 의미있음 대부분 30M~1H로 설정하는 경우가 대부분
expire : secon.가 prim.에 서 설정내용을 읽어들일 수 없는 경우, 언제까지 계속해서 정보를 요청할지 지정
- 보통 1W~2W(1209600) 으로 설정
minimum : 다른 네임서버가 해당 zone을 가지고 갔을 경우, 적용되는 유효기간(TTL값 명시되지 않으면 해당 값을
기본으로 가진다.)
- 1H~3H 정도로 잦은 변경이 예상될 경우 설정, 0은 캐싱하지 말라는 뜻
SOA 필드의 용도 구분을 먼저 보면, 대략 4개로 구분할 수 있다.
이 중에서 존 관리자 연락처를 표시하는 rname 필드를 제외한 나머지 필드들은 네임서버에게 알려주어야 할 "이 도메인을 어떤 기준으로 관리해야 하는가"에 대한 정보를 담고있다. 캐시DNS서버를 위한 필드인 minimum을 제외한 mname, serial, refresh, retry, expire필드는 마스터 네임서버와 슬레이브 네임서버가 참조하는 필드이다.
권고하고있는 설정 기준 값
'Network' 카테고리의 다른 글
[DNS] TXT / MX / NS (0) | 2022.05.26 |
---|---|
[DNS] A / AAAA / CNAME (0) | 2022.05.23 |
[DNS] TSIG (0) | 2022.05.17 |
[DNS] BIND (0) | 2022.04.29 |
DNS Name Sever (0) | 2022.04.29 |