리소스 레코드는 DNS(Domain Name System)에서 데이터 유형을 정의합니다. RFC 1035로 식별된 리소스 레코드는 DNS 소프트웨어에서 사용하기 위해 내부적으로 이진 형식으로 저장됩니다. 그러나 리소스 레코드는 영역 전송을 수행하는 동안 텍스트 형식으로 네트워크를 통해 전송됩니다.이 문서에서는 보다 중요한 리소스 레코드 유형에 대해 설명합니다.
참고: 더 이상 적극적으로 지원되지 않는 다른 레코드 종류가 많습니다.여기에는 MD(메일 대상), MF(메일 전달자), MG(메일 그룹), MINFO(사서함 또는 메일 목록 정보), MR(메일 이름 바꾸기) 및 NULL이 포함됩니다.IANA DNS 매개변수에서 DNS 레코드 유형의 전체 목록을 얻을 수 있습니다 .
이 문서에 대한 특정 요건이 없습니다.
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참조하십시오.
도메인의 최상위 수준에서 이름 데이터베이스에는 SOA(Start of Authority) 레코드가 포함되어야 합니다.이 SOA 레코드는 도메인 내의 데이터에 대한 최상의 정보 소스를 식별합니다.SOA에는 현재 버전의 DNS 데이터베이스 및 특정 DNS 서버의 동작을 정의하는 다양한 기타 매개변수가 포함되어 있습니다.
각 네임서버 도메인(각 하위 도메인)에 대해 정확히 하나의 SOA 레코드가 있어야 합니다. 이는 IN-ADDR.ARPA(역방향 도메인)의 하위 도메인에 적용됩니다.별도의 SOA가 있는 네임스페이스 영역을 영역이라고 합니다.
이 레코드의 형식은 이 출력에 표시됩니다.이 SOA의 시간 간격에 나열된 값은 RFC 1537에서 권장하는 값입니다 .
DOMAIN.NAME. IN SOA Hostname.Domain.Name. Mailbox.Domain.Name. ( 1 ; serial number 86400 ; refresh in seconds (24 hours) 7200 ; retry in seconds (2 hours) 2592000 ; expire in seconds (30 days) 345600) ; TTL in seconds (4 days) The SOA record for the fictional foo.edu might look something like this: FOO.EDU. IN SOA FOO.EDU. Joe_Smith.Foo.EDU. ( 910612 ; serial number 28800 ; refresh in 8 hours 7200 ; retry in 2 hours 604800 ; expire in 7 days 86400 ) ; TTL is 1 day
이 목록은 가상의 SOA 레코드의 데이터 필드에 대한 설명을 제공합니다.
DOMAIN.NAME. - SOA 레코드가 관련된 도메인의 이름입니다.후행 점(.)을 확인합니다. 따라서 이름에 접미사를 추가할 수 없습니다.
IN—DNS 레코드의 클래스입니다.IN은 "인터넷"을 의미합니다.
SOA—DNS 레코드의 유형, 이 예에서 권한 시작.
Hostname.Domain.Name.—"오리진 필드"에는 권한 데이터가 상주하는 호스트인 이 영역에 대한 기본 이름 서버의 호스트 이름이 포함되어야 합니다.
Mailbox.Domain.Name.—이 도메인에 대한 (이름 서비스)를 담당하는 개인의 사서함입니다.이 필드를 사용 가능한 전자 메일 주소로 변환하려면 첫 번째 점(.)을 @(at-sign)로 바꿉니다. 이 예에서 foo.edu에 문제가 있는 경우 Joe_Smith@foo.edu으로 이메일을 보내십시오.
일련 번호 - 이 도메인에 대한 현재 버전의 DNS 데이터베이스의 일련 번호입니다.일련 번호는 다른 이름 서버가 데이터베이스가 업데이트되었음을 인식하는 방법입니다.이 일련 번호는 1부터 시작하며 단조롭게 증가하는 정수여야 합니다.일련 번호에 십진수를 넣지 마십시오. 이 경우 혼동되고 불쾌한 결과가 발생할 수 있습니다.일부 DNS 관리자는 YMDDHHMM 형식으로 마지막 수정 날짜를 일련 번호로 사용합니다. 다른 관리자는 데이터베이스가 업데이트될 때마다 작은 숫자로 일련 번호를 증가시킵니다.최소 TTL(Time to Live) 번호 뒤에 삽입되고 닫히는 절반 괄호는 SOA가 여러 행에 걸쳐 있을 수 있도록 합니다.
foo.edu 도메인의 보조 네임서버가 기본 네임서버에 연결하여 기본 DNS 데이터베이스가 변경되었는지 확인하고, 보조 서버가 영역 전송을 수행해야 하는 경우 자체 일련 번호를 기본 네임서버의 일련 번호와 비교합니다.
보조 네임서버의 일련 번호가 기본 서버보다 높은 경우 영역 전송이 발생하지 않습니다.기본 이름 서버의 일련 번호가 더 큰 경우 보조 이름 서버는 영역 전송을 수행하고 자체 DNS 데이터베이스를 업데이트합니다.
다른 숫자 필드는 TTL 필드라고 합니다.이러한 컨트롤은 이름 서버가 정보 업데이트를 얻기 위해 서로 폴링하는 빈도(예: 데이터가 캐시되는 기간 등)를 제어합니다.
Refresh(새로 고침) - 보조 네임서버 폴링 빈도 및 일련 번호 변경 확인 빈도를 지정합니다.이 간격은 기본 네임서버에서 DNS 변경 사항이 전파되는 데 걸리는 시간에 영향을 줍니다.
Retry(재시도) - Refresh(새로 고침) 간격으로 연결하지 못한 경우 보조 네임서버가 기본 네임서버와 다시 연결하려고 시도하는 초당 간격입니다.
Expire(만료) - 보조 네임서버가 기본 네임서버에 다시 연결하지 못할 경우 기본 네임서버의 데이터를 "만료"해야 하는 시간(초)입니다.
TTL — 이름 서버의 DNS 데이터베이스에 있는 모든 레코드에 적용되는 기본값입니다.각 DNS 리소스 레코드는 TTL 값을 구성할 수 있습니다.SOA 레코드의 기본 TTL은 특정 리소스 레코드에 명시적 값이 구성되지 않은 경우에만 사용됩니다.이 값은 권한 있는 이름 서버(특정 영역의 기본 및 보조 이름 서버)가 DNS 쿼리에 응답할 때 제공됩니다.
별도로 예약된 각 하위 도메인에는 해당 NS(Name Service) 레코드가 하나 이상 있어야 합니다.이름 서버는 NS 레코드를 사용하여 서로를 찾습니다.
NS 레코드는 다음 형식을 사용합니다.
DOMAIN.NAME. IN NS Hostname.Domain.Name.
도메인에 대한 NS 레코드 값은 해당 도메인의 네임서버 이름입니다.도메인에 대한 각 기본 또는 보조 네임서버에 대한 NS 레코드를 나열해야 합니다.
Address 레코드(A 레코드)는 호스트 이름에 해당하는 IPv4 주소를 생성합니다.단일 호스트 이름에 해당하는 여러 IP 주소가 있을 수 있으며, 각각 동일한 IP 주소에 매핑되는 여러 호스트 이름이 있을 수도 있습니다.
'A' 레코드는 다음 형식을 사용합니다.
Host.domain.name. IN A xx.xx.xx.xx(IPv4 address)
명령을 작동하려면 Host.domain.name에 대한 유효한 'A' 레코드가 DNS에 있어야 합니다(예: telnet host.domain.name 명령). 또는 유효한 'A' 레코드가 있는 호스트 이름을 가리키는 CNAME이 있어야 합니다.
참고: IPv6 주소를 지원하는 DNS 확장은 RFC 1886 에서 다룹니다.
각 호스트에 대한 하드웨어 유형 및 OS(운영 체제) 정보를 제공하도록 HINFO(호스트 정보) 레코드를 설정할 수 있습니다.이 기능은 선택 사항이지만 정보를 사용할 수 있는 것이 유용할 수 있습니다.
호스트 이름당 'HINFO' 레코드는 하나만 있을 수 있습니다.
'HINFO' 레코드는 다음 형식을 사용합니다.
Host.DOMAIN.NAME. IN HINFO "CPU type" "Operating System"
참고: CPU 유형 및 OS 필드는 모두 필수입니다.이러한 필드 중 하나를 공백으로 두려면 " "(큰따옴표로 묶인 공백)로 지정합니다. 한 쌍의 큰따옴표[""]만 사용할 수 없습니다.
참고: HINFO에 필요한 공식 머신 이름은 RFC 1700 에서 찾을 수 있습니다.RFC 1700에는 /etc/services 값, 이더넷 제조업체 하드웨어 주소, HINFO 기본값 등의 유용한 정보가 나열됩니다.
텍스트(TXT) 레코드를 사용하면 임의의 텍스트를 호스트 이름과 연결할 수 있습니다.일부 bind 명령의 잘못된 구현에서는 'TXT' 레코드를 지원하지 않습니다.그러나 일부 bind 명령의 부적절한 구현에서는 동일한 작업을 수행하는 'UINFO'라는 가짜 레코드 유형을 지원합니다.'TXT' 레코드 유형만 사용하는 것이 좋습니다.
단일 호스트 이름에 대해 여러 개의 'TXT' 레코드를 가질 수 있습니다.
'TXT' 레코드는 다음 형식을 사용합니다.
Host.DOMAIN.NAME. IN TXT "system manager: melvin@host.domain.name" IN TXT "melasu"
영역에는 하나 이상의 MX(Mail Exchange) 레코드가 있을 수 있습니다.이러한 레코드는 호스트를 대신하여 메일 메시지를 받는 호스트를 가리킵니다.호스트는 자체의 'MX'가 될 수 있습니다.MX 레코드는 동일한 영역의 호스트를 가리키지 않아도 됩니다.
'MX' 레코드는 다음 형식을 사용합니다.
Host.domain.name. IN MX nn Otherhost.domain.name. IN MX nn Otherhost2.domain.name.
'MX' 기본 설정 번호 nn(값 0~65535)은 메일 사용자가 호스트로 메일 전달을 시도할 때 'MX' 레코드를 선택하는 순서를 나타냅니다.'MX' 번호가 낮을수록 호스트 우선 순위가 높습니다.
CNAME(정식 이름) 레코드는 별칭 호스트 이름을 정의하는 데 사용됩니다.
CNAME 레코드는 다음 형식을 사용합니다.
alias.domain.name. IN CNAME otherhost.domain.name.
이렇게 하면 alias.domain.name이 otherhost.domain.name의 정식(표준) 이름이 다른 호스트의 별칭으로 정의됩니다.
참고: CNAME으로 존재하는 호스트 이름은 다른 DNS 레코드를 적용할 수 없습니다.예를 들어, 도메인이 철학.arizona.edu라고 하는데 별도로 이름이 지정되어 있으면(자체 SOA 및 NS 레코드가 있기 때문), physical.arizona.edu CNAME 레코드를 지정할 수 없습니다.anyuser@philosophy.arizona.edu으로 전자 메일을 보내려면 MX 및/또는 A 레코드를 사용해야 합니다.
포인터 레코드는 A 레코드의 반대이며, IP 주소를 호스트 이름에 매핑하기 위해 역방향 맵 영역 파일에 사용됩니다.다른 SOA 레코드와 달리 PTR(포인터) 레코드는 역방향(IN-ADDR.ARPA) 도메인에서만 사용됩니다.각 인터넷 주소에 대해 정확히 하나의 PTR 레코드가 있어야 합니다.예를 들어 호스트 gadzooks.poetry.arizona.edu의 IP 주소가 128.196.47.55인 경우 다음 형식으로 PTR 레코드가 있어야 합니다.
55.47.196.128.IN-ADDR.ARPA. IN PTR gadzooks.poetry.arizona.edu.
역방향 도메인은 주로 PTR 레코드(SOA 및 NS 레코드 상단)를 포함합니다.
Berkeley r-utilities는 호스트 이름 인증에 PTR 레코드의 값을 사용합니다.DNS는 호스트 이름에 대/소문자를 구분하지 않는다고 지정하지만 일부 운영 체제는 호스트 이름 대/소문자를 구분합니다.