네임서버[DNS]에는 여러 가지 레코드[Record] 타입이 있습니다. 가장 많이 쓰이는 [A/MX/CNAME/SPF(TXT)]등의 레코드가 있으며 이것을 하나의 존[ZONE] 파일로 관리를 하게 됩니다. 각 레코드들이 어떤 역할을 하고 어떻게 등록이 되어있는지 확인해보도록 하겠습니다.
◇ 존[Zone] 파일 예시
◇ 레코드[Record] 등록 예시
레코드 종류
□ SOA(Start Of Authority) Record
뜻 그대로 질의 응답이 들어올 경우 가장 먼저 보여주는 값이며 도메인에 대한 시작 정보를 담고 있습니다. 관리자 정보, 생성(갱신)날짜, 동기화 시간, TTL(전파 시간)등을 표시하며 기준이 되는 값이 정해진 것은 없으나 [Zone]파일에 있어서 [SOA]는 꼭 등록이 되어야하는 중요한 레코드중에 하나입니다. |
□ 필드 명칭 Mname(Master name) : 마스터 네임서버의 도메인 이름을 설정 [ns1.testdns.com] Rname(Responsible name) : 도메인 존 관리자/담당자의 도메인 이름 설정 [master.testdns.com] Serial : 처음 만들 경우는 생성 날짜, 이후 존파일 갱신시 끝자리 숫자 하나씩 증가 [슬레이브 전파를 위한 설정] Refresh : 도메인 존을 갱신하는 주기 시간 [초단위 설정] Retry : 도메인 존 갱신 실패시, 재시도 주기 시간 [초단위 설정] Expire : 도메인 존 갱신 실패하여 도메인에 대한 DNS질의 응답을 최종적으로 중단해야 하는 기간 [초단위 설정] Minimum : 다른[제3자] 네임서버가 해당 서버의 Zone 파일 정보를 가져갈 경우 다음 레코드 변경사항이 적용될 때까지 걸리는 시간 [초단위 설정] |
※ 참고 사항 1. PowerDNS는 [Zone]파일 생성 할 경우 [SOA]가 자동으로 디폴트 값으로 들어갑니다. 커스텀 할 경우는 [List Zone Templates] 메뉴에서 미리 등록하여 템플릿의 값을 따라가도록 수정이 가능합니다. 2. 만약 1/2차 네임서버로 구성이 되어있다면 레코드 수정할때마다 마스터[1차]가 슬레이브[2차]로 전파 될 수 있도록 [Serial]값 끝부분이 1씩 증가하게 됩니다. PowerDNS는 자동으로 올라가므로 Bind의 경우는 직접 값을 올려야 전파 가능 |
□ NS(Name Server) Record
해당 도메인에 대한 권한이 있는 DNS서버를 표시하는 레코드, 즉 실제 운영하는 DNS레코드가 있는 서버를 지정해야 합니다. |
※ 참고 사항 만약 저처럼 네임서버를 직접 구축하였다면 도메인을 구입한 업체에서 [ns1.testdns.com][ns2.testdns.com]에 대한 서버의 IP를 지정해줘야 합니다. 이렇게 해야 다른 도메인을 등록하더라도 네임서버를 찾아가는 주소 역활이 가능해집니다. |
□ A, AAAA(Address) Record
DNS서버에서 가장 일반적으로 쓰이는 레코드이며 [A]레코드는 도메인 정보를 입력하면 IPv4서버를 찾아갈 수 있게 합니다. [AAAA]레코드 동일하나 IPv6[1111:0:0:0:2:300:400a:567b]형태의 서버를 찾아갈 수 있게 합니다. 웹호스팅 서비스를 제공하는 업체에서 많이 이용하는 레코드입니다. |
※ 좀더 직관적으로 설명하자면 다음과 같습니다. ▷ URL주소 [http://ip6.test-2.com] 주소 입력 ▶ 서버(PC) [1111:0:0:0:2:300:400a:567b]를 찾아갑니다. ▷ URL주소 [http://sub.test-2.com] 주소 입력 ▶ 서버(PC) [192.168.0.3]를 찾아갑니다. ▷ URL주소 [http://test-2.com] 주소 입력 ▶ 서버(PC) [192.168.0.1]를 찾아갑니다. ▷ URL주소 [http://www.test-2.com] 주소 입력 ▶ 서버(PC) [192.168.0.1]를 찾아갑니다. |
□ CNAME (Canonical Name) Record
CNAME은 간단하게 말하자면 도메인 네임의 별칭(Alias)을 말합니다. 이미 적용되어있는 [A]레코드에 별도의 서브(멀티)도메인을 호스트네임으로 등록하는 방법을 말합니다. 말로 설명하기에는 이해가 하기 힘들므로 스크린샷으로 대처 |
※ 참고 사항 ▷ CNAME의 경우는 위와 같이 단순하게 하나의 별칭으로만 이용하면 문제가 되지 않지만 2~3중으로 복잡하게 설정할 경우 쿼리 조회 시 불필요한 트래픽이 증가할 수 있습니다. ▷ CNAME을 사용해서 다른 A레코드로 관리하는것 보다는 별도의 A레코드로 추가하는것을 권고 |
□ MX(Mail Exchange) Record
외부에서 이메일을 발송 할 경우 도메인 네임서버가 설정된 메일서버로 전달[수신]해주는 역활을 합니다. 만약 여러 메일서버를 이용할 경우는 우선순위[Priority]를 설정하여 수신되는 순서를 정할 수 있습니다. 메일호스팅 서비스를 제공하는 업체에서 많이 이용합니다. |
※ 예시 ▷ MX값 우선순위[Priority] 낮은 숫자가 높다. ▷ 외부에서 메일주소[mail@test-2.com]로 발송하면 수신받을 시 순위[0]가 가장 높은 [mail.test.com] [mail2.test.com] 메일서버로 전달한다. 순위가 같을 경우는 [50:50]비율로 각 서버로 전달된다. ▷ 두대의 메일서버가 문제가 발생할 경우 발송 재시도 시 그다음 우선순위[10]인 [mail3.test.com]으로 전달 될 수 있다. ▷ MX값은 메일서버가 호스트네임이 없을 경우 IP로 입력해도 됩니다 [수신일 경우만] |
□ SPF(Sender Policy Framework) Record
메일서버 정보를 사전에 네임서버에 등록을 하여 수신자가 이메일에 표시된 발송자 정보가 실제 메일서버의 정보와 일치하는지를 확인할 수 있도록 인증하는 기술입니다. 대다수의 스팸발송자가 신원을 숨기기 위해 발송자 주소나 전송경로를 허위로 표기하거나 변경하는 경우가 많기 때문에 적용하는 것을 권고하고 있습니다. |
※ 참고 사항 ▷ 혼동하기 쉬운부분으로 SPF값은 일종의 메일인증 기술이므로 실제 등록은 TXT레코드에 등록 표시 합니다. ▷ 이값은 발송자의 경우는 네임서버에 SPF(TXT)값을 등록을 해야하며 수신자는 메일서버(스팸차단솔루션)이용하고 있다면 SPF기능을 활성화해야 작동합니다. ▷ 시작은 'v=spf1' 으로 시작 ▷ 만약 메일서버가 여러대가 있다면 인클루드(include)형태의 호스트네임으로 등록 가능합니다. ▷ 끝부분 ALL은 검사방식의 종류로 [Softfail(~) all] 되어있다면 검사는 통과하지만 의심스러운 메일로 판단하며 [Fail(-) all]일 경우는 조건에 만족하지 않을 경우 수신자가 완전히 거부하며 상대방에게 리턴메일을 발송합니다. |
□ TXT(TEXT) Record
도메인에 대한 설명이나 역활 등의 텍스트(TEXT)를 기입하는 용도로 주로 어떠한 외부로부터 인증하기위한 수단으로 많이 이용됩니다. |
※ 참고 사항 ▷ 앞서 말했듯이 메일인증기술인[SPF/DKIM/DMARC]레코드는 TXT레코드에 등록을 합니다. ▷ 공인인증서를 구입후 발급받을때에 TXT값으로 인증받아 처리할 수 있습니다. |
□ PTR(Pointer) Record
도메인 질의시 IP로 변환해주는게 아닌 반대로 IP질의시 도메인 정보를 확인하는 정책으로 주로 메일인증기술에 많이 쓰입니다. 예를 들어 수신측(스팸차단) 메일서버에서 발송서버의 IP를 조회하여 도메인이 등록된 PTR레코드 값과 일치하면 정상메일로 판단하여 수신하겠다는 역방향 질의 방식입니다. 다른말로 리버스 도메인[Reverse Domain] 이라고도 합니다. ※ 일반질의 [test-2.com ▶ 192.168.150.100] ※ PTR질의 [192.168.150.100 ▶ test-2.com] |
※ 참고 사항(중요) ▷ PTR등록은 네임서버를 제공하는 업체가 아닌 그 해당 IP를 관리하는 ISP인터넷공급(KT,LG,U+)등의 업체에 등록을 해야 합니다. |
□ SRV(Service Locator) Record
MX와 비슷하지만 좀더 상위방식으로 유사한 TCP/IP 기반 서비스를 제공하는 여러 서버를 네임서버에 정의된 값을 등록하여 찾을 수 있게 하는 레코드입니다. 이름(서비스 로케이터)그대로 [서버스이름/프로토콜/우선순위/포트/타켓(도메인 이름)등]하나의 레코드 안에 모든 정보를 담고 있으며 우리나라에서는 주로 마이크로소프트[Microsoft 365]서비스를 이용할 경우 SRV레코드 등록 요청을 받을 수 있습니다. |
※ 참고 사항[영문] https://en.wikipedia.org/wiki/SRV_record 각 필드의 레코드 폼 설명은 위키백과를 참고해 주시기 바랍니다. |
마무리
이외에도 종류는 많이 있지만 주로 사용하는 레코드 종류만 알아보았습니다. 제가 몇 년 동안 네임서버[PowerDNS/Bind]를 관리해왔지만 [SOA/NS/A(AAAA)/CNAME/MX/SPF/TXT/PTR/SRV] 외에는 등록을 해보거나 요청을 받은 적이 없습니다. 그 외에 등록할 새로운 레코드가 생긴다면 지속적으로 업데이트하도록 하겠습니다. 마지막으로 네임서버 레코드 추가 및 변경은 전파시간이라는 게 존재합니다. 등록한다고 해서 바로 질의응답을 아니라 최상의 루트(. ROOT)까지 ~ 최대 24시간 소요되므로 시간적 여유가 있을 때 작업을 진행하는 게 좋습니다. 참고하시기 바랍니다. 감사합니다.
'◈『Open(Source) Solution』 > 네임서버(DNS)' 카테고리의 다른 글
CentOS 8 네임서버(PowerDNS) - MariaDB(Replication) 이용한 1차 / 2차 네임서버 구성 (0) | 2020.07.29 |
---|---|
CentOS 8 - 네임서버(PowerDNS 4.X) - 로그[Logging] 설정 (0) | 2020.07.27 |
CentOS 8 - 네임서버(PowerDNS) 구축(With MariaDB, PowerAdmin) (0) | 2020.07.24 |