Network

[Network] DNS Record

mxruhxn 2024. 11. 26. 14:21
728x90
반응형

DNS Record

  • DNS Record는 DNS 서버가 해당 패킷을 받았을 때 어떤식으로 처리할지를 나타내는 지침을 말한다. 쉽게 말하면 도메인이 어떻게 동작할지 정의한 것이다.
  • DNS 레코드에는 서버가 요청에 응답하는 방법에 대한 다양한 구문과 명령이 포함되어 있다.

개인 도메인을 구입하여 도메인 등록 대행 사이트에 내 도메인과 서버 IP를 연결하기 위해서는 DNS record에 대해서 알아야 한다.

DNS Record 종류

  1. A 레코드 (Address Record)
example.com A 192.168.1.1 www A 192.168.1.2
  • 도메인을 특정 IPv4 주소에 '직접' 매핑한다.
  • A 레코드는 반드시 도메인과 아이피 간의 일대일 매칭이 될 필요는 없다. 도메인 매핑 설정에 따라서 일대다 / 다대일도 될 수 있다
    • naver.com의 A 레코드를 조회하면 여러 IP 주소가 매핑되어 있는 것을 확인할 수 있다.
  • 장점: 한번의 요청으로 찾아갈 서버의 IP 주소를 한번에 알 수 있다
  • 단점: 서버 이전등의 문제로 IP가 변동될시에 일일히 변경해야 한다

 

  1. AAAA 레코드
    example.com    AAAA    2001:0db8:85a3:0000:0000:8a2e:0370:7334
  • A레코드의 IPv6 버젼으로 도메인을 IPv6 주소에 매핑한다.

 

  1. CNAME 레코드 (Canonical Name Record)
    www    CNAME    example.com
  • 도메인 별명 레코드라고 부르며, 도메인 주소를 또 다른 도메인 주소로 이중 매핑 시키는 형태의 DNS 레코드 타입
  • 쉽게 말하면 도메인 주소로 연결한 부분에 다시 한번 도메인 주소로 연결하는 방식이다.
  • CNAME 레코드는 무조건 다른 도메인 주소를 등록해야 하며 A 레코드처럼 직접 IP 주소를 등록해서는 안 된다
    • 예를들어 다음 daum.net 도메인이 있다고 했을 때, 이 도메인의 CNAME 을 daum2.net 로 정해, 브라우저에 daum2.net을 입력하면 daum.net로 접근되는 형식이다.
  • 장점: 서버 이전등의 문제로 IP가 변동될시에 변경하지 않아도 된다.
  • 단점: 맵핑을 중복으로 연달아 하여, 실제 IP 주소를 얻을 때까지 여러번 DNS 정보를 요청해야 한다는 점 -> 경우에 따라 성능 저하 유발 가능

 

  1. MX 레코드 (Mail Exchange Record)
    example.com    MX    10 mail.example.com
  • 해당 도메인과 연동되어있는 메일서버를 확인하는데 사용하는 레코드
  • MX 레코드가 해당 도메인에 설정되어 있어야, 해당 도메인을 이메일 주소로 사용할 수 있다
  • MX레코드는 일반적으로 도메인을 구입한 회사 홈페이지(예: 호스팅케이알, Cafe24, 가비아 등)에서 설정할 수 있다

 

  1. TXT 레코드 (Text Record)
    example.com    TXT    "v=spf1 include:_spf.google.com ~all"
  • 텍스트를 입력할 수 있는 레코드이며, 주로 메모를 남기는 용도
  • 실제로 네이버의 TXT 레코드를 살펴보면 다음과 같이 key:value 구조로 정보를 적어놓은걸 볼 수 있다
  • 도메인 소유권 검증 또는 SPF, DKIM과 같은 이메일 보안을 위해 텍스트 데이터를 저장한다

 

  1. NS 레코드 (Name Server Record)
    example.com    NS    ns1.exampledns.com
  • 네임 서버 레코드로 도메인에 대한 네임서버의 권한을 누가 관리하고 있는지 알려주는 레코드로, 보통 도메인 구입처가 해당된다.
  • 쉽게 말해, 내가 example.com 이라는 도메인을 cafe24에서 구입해서 사용하고 있다고 하면, example.com 도메인을 관리하는 네임 서버는 cafe24가 되게 된다
  • NS 레코드는 어떤 도메인에 대한 처리를 다른 도메인 네임 서버에게 위임하는 기능을 가진 레코드이다

 

  1. PTR 레코드 (Pointer Record)
  • IP 주소에 대한 도메인 주소를 확인할 수 있는 레코드로, A 레코드의 반대 방향인 레코드이다.
  • A레코드와 달리, PTR레코드는 1개의 IP에 1개의 도메인 네임만 가질 수 있다

 

  1. SOA 레코드 (Start-of-Authority Record)
  • 네임서버가 해당 도메인에 관하여 인증된 데이터를 가지고 있음을 증명하는 레코드
  • 기본 이름 서버, 도메인 관리자의 전자 메일, 도메인 일련 번호 및 영역 새로 고침과 관련된 여러 타이머를 포함하여 DNS 영역에 대한 핵심 정보를 지정한다.
  • SOA레코드가 없는 도메인은 네임서버에서 정상적으로 동작하지 않으며, SOA 레코드는 도메인 당 1개이다.
  • 정보
    • Mname / primary name : 도메인에 대한 기본 호스트네임
    • RName / mail addr : 관리자의 이메일 주소. 일반적인 이메일 형식인 @가 아니라 마침표가 들어있음.
    • serial : 도메인의 갱신 버전 번호. 일반적으로 날짜(YYYYMMDD)형식.
    • refresh : 도메인 영역의 데이터 갱신 여부를 체크하는 주기(초 단위)
    • retry : (장애 등의 이유로) refresh 주기로 체크하지 못했을 경우, 체크를 재시도하는 주기(초 단위)
    • expire : retry의 주기로 체크를 수차례 반복하다가, 도메인을 더이상 신뢰할 수 있는 영역이라고 간주하지 않아 서비스를 중단하는 최대 기한.
    • minimum : 도메인을 찾을 수 없는 경우, 네임 서버가 도메인의 부재정보를 캐싱하는 시간

 

  1. SPF 레코드(Sender-Policy-Framework Record)
  • 특정 도메인에서 이메일을 보낼 수 있도록 메일 수신을 승인할 모든 주소를 명시하는 이메일 인증 역할
  • SPF 레코드는 원래 이메일에 이용되는 표준 프로토콜 SMTP(Simple Mail Transfer Protocol)이 본질적으로 이메일의 "발신" 주소를 인증하지 않기 때문에 만들어졌다
  • SPF 레코드를 등록하게 되면, 메일을 받는 서버는 보낸 메일 주소로부터 취득한 도메인 정보로 그 DNS 레코드를 SPF 레코드의 값과 비교하여 원본 주소를 위장한 스팸 메일이 아닌 여부를 판단한다. 출입을 허가하지 않고, 발신자의 IP 주소나 도메인이 없다면 수신 서버(도어맨)은 해당 이메일을 배달하지 않거나 스팸으로 표시한다.
  • SPF 레코드는 공식적으로 지원 중단(deprecated)되었다.. SPF 레코드를 설정하려면 바로 위에서 배운 TXT레코드에서 특정 표준에 맞게 설정해야한다
  • TXT 레코드에서의 SPF 레코드 설정 표준 
    • v=spf1SPF 레코드가 포함되어 있다고 서버에게 알려주는 예약어 이다. SPF 레코드는 모두 이 문자열로 시작해야 한다.
    • 이 다음으로 SPF의 승인된 IP 주소의 목록이 이어진다. 위의 예제 스트링에서는 ip4=192.0.2.0ip4=192.0.2.1해당 도메인에서 이메일을 보낼 수 있도록 승인 받았음을 알려준다.
    • include:examplesender.net는 include 태그의 예로서 해당 도메인에서 이메일을 보낼 수 있는 제3자 조직을 서버에 알려주는 키워드
    • 마지막으로 -allSPF 레코드에 열거되지 않은 주소는 이메일을 보낼 수 있도록 승인 받지 않았으므로 거부하라고 서버에 알리는 키워드
  • v=spf1 ip4=192.0.2.0 ip4=192.0.2.1 include:examplesender.net -all

 

DNS 전파 시간

DNS 변경 사항이 글로벌 네트워크에 반영되는 데는 시간이 걸린다. 이 전파 시간은 TTL(Time To Live) 설정에 따라 달라지며, 일반적으로 24~48시간 정도 소요될 수 있다.

도메인 등록

도메인 등록 과정

  1. 도메인 이름 선택
    • 도메인은 고유해야 하며, 이미 사용 중인 도메인은 등록할 수 없습니다.
    • 일반적으로 .com, .net, .org와 같은 일반 최상위 도메인(gTLD)이나 .kr, .jp와 같은 국가 코드 최상위 도메인(ccTLD)을 선택한다.
  2. 도메인 등록 서비스 선택
    • Google Domains, Namecheap, Cafe24, Gabia, AWS Route 53와 같은 도메인 등록 기관(Registrar)에서 도메인을 구매한다.
  3. 도메인 구매
    • 원하는 도메인이 사용 가능한지 확인한 후 등록비를 지불한다. 비용은 도메인의 종류와 기간(1년, 2년 등)에 따라 달라진다.

네임서버 설정

도메인 등록이 완료되면 해당 도메인이 가리킬 네임서버를 설정해야 한다. '네임서버'는 DNS 레코드를 저장하고 사용자 요청을 처리한다. 도메인을 구매하면 대부분의 경우 도메인 등록 기관(Registrar)에서 기본 네임서버를 자동으로 설정해주기 때문에 이 과정은 생략할 수 있다. 하지만 이 기본 네임서버를 그대로 사용할지, 아니면 다른 네임서버로 변경할지는 사용자의 선택에 따라 달라진다.

  • 네임서버의 역할
    • 네임서버는 도메인의 DNS 정보를 관리하며, 도메인 이름을 IP 주소로 변환하는 역할을 한다.
    • 예를 들면, www.example.com → 192.168.1.1
  • 네임서버 설정 방법
    • 도메인 등록 기관에서 제공하는 기본 네임서버를 사용하거나, Cloudflare, AWS Route 53과 같은 외부 DNS 서비스를 사용할 수 있다.
    • 네임서버 정보(NS 레코드)를 도메인 관리 페이지에서 설정한다.

DNS Record 설정과 서브 도메인

도메인 등록 및 네임서버 설정까지 마쳤다면, 위에서 배운 DNS 레코드를 적절히 설정해주어야 한다. 보통 A 레코드를 통해 IP와 도메인을 연결하고, CNAME을 통해 해당 도메인에 별칭을 부여하는 방식으로 많이 사용한다. 이때 서브 도메인도 설정 가능한데, '서브도메인(Subdomain)'은 도메인의 일부로, 메인 도메인(Main Domain)을 확장하여 특정 섹션이나 서비스를 독립적으로 구분하기 위해 사용된다. 서브도메인은 메인 도메인 앞에 추가되는 이름으로 구성되며, 보통 다양한 용도와 목적에 맞게 설정된다.

 

서브도메인의 구조

  • 서브도메인은 도메인 이름의 앞부분에 추가되는 접두어로 나타난다.
  • 구조: 서브도메인.메인도메인.최상위도메인(TLD)

서브도메인 구조 예시

  • www.example.com
    • www → 서브도메인
    • example → 메인 도메인
    • .com → 최상위 도메인(TLD)
  • blog.example.com
    • blog → 서브도메인 (블로그용)
  • shop.example.com
    • shop → 서브도메인 (쇼핑몰용)

서브도메인의 특징

  • 독립적인 URL
    • 서브도메인은 메인 도메인과 별개로 작동할 수 있다.
    • 각 서브도메인에 대해 개별적인 웹사이트, 애플리케이션, 서버를 설정할 수 있다.
    • 예시: 다양한 서비스 구분, 다국어 웹사이트, 개발 환경 및 테스트 환경 분리, 모바일 버전 분리
  • DNS 설정을 통해 생성
    • 서브도메인은 도메인 등록 기관이나 DNS 관리 도구에서 A 레코드, CNAME 레코드 등을 추가하여 설정된다.
  • 비용
    • 서브도메인 자체는 추가 비용이 들지 않으며, 메인 도메인을 소유하고 있으면 무제한으로 생성할 수 있다.

서브도메인 생성 및 설정

  1. DNS 관리 도구 접속
    • 도메인 관리 서비스 제공자의 DNS 관리 페이지로 이동
  2. DNS 레코드 추가
    • A 레코드 또는 CNAME 레코드를 추가하여 서브도메인을 설정
    • A 레코드: 서브도메인을 특정 IP 주소로 매핑한다. -> blog.example.com A 192.168.1.1
    • CNAME 레코드: 서브도메인을 다른 도메인 이름에 매핑한다 -> www.example.com CNAME example.com
  3. 서버 설정
    • 서브도메인이 연결될 서버를 준비하고, 해당 서브도메인에 대한 설정(웹 서버, 애플리케이션 등)을 완료한다.
  4. 전파 시간 대기
    • 변경 사항이 DNS에 반영되는 데는 최대 24~48시간이 걸릴 수 있다.
728x90
반응형