본문 바로가기
카테고리 없음

도메인 강좌 4강 : 도메인 레코드 및 네임서버 설정

by 나무바다 2021. 7. 12.
반응형

도메인 네임서버 설정 검색하기

안녕하세요 나무바다입니다.

 

지난 시간에 네임서버가 어떤 방식으로 동작하는지와

클라이언트인 브라우저가 네임서버에 질의하는 방식에 대해서 공부했습니다.

 

오늘은 실제적으로 도메인에 네임서버를 설정하는 방법에 대해 공부해보도록 하겠습니다.

일단 몇 가지 내용이 있을 수 있겠는데요.

 

처음으로 구매하신 도메인에 네임서버가 어떻게 설정되어 있는지 검색해 보겠습니다.

지난 시간에 배운 명령 프롬프트를 띄워보도록 하겠습니다.

 

"시작 > 명령 프롬프트" 를 실행하시거나 "윈도우 + R" 키를 눌러 "시작" 에 cmd를 입력하신 후 엔터를 쳐주세요.

그럼 아래와 같은 화면이 실행됩니다.

 

명령 프롬프트 (cmd) 창 입니다. 이곳에 명령어를 입력합니다.

 

네임서버를 알아보는 명령어는 nslookup 입니다.

nslookup을 입력해주시고 아래와 같이 입력해보세요.

C:\Users\jywoo>nslookup
기본 서버:  kns.kornet.net
Address:  168.126.63.1

> set type=NS
> treebada.kr
서버:    kns.kornet.net
Address:  168.126.63.1

권한 없는 응답:
treebada.kr     nameserver = ns-570.awsdns-07.net
treebada.kr     nameserver = ns-334.awsdns-41.com
treebada.kr     nameserver = ns-1996.awsdns-57.co.uk
treebada.kr     nameserver = ns-1137.awsdns-14.org

ns-334.awsdns-41.com    internet address = 205.251.193.78
ns-570.awsdns-07.net    internet address = 205.251.194.58
ns-1137.awsdns-14.org   internet address = 205.251.196.113
ns-1996.awsdns-57.co.uk internet address = 205.251.199.204
ns-334.awsdns-41.com    AAAA IPv6 address = 2600:9000:5301:4e00::1
ns-1996.awsdns-57.co.uk AAAA IPv6 address = 2600:9000:5307:cc00::1
>

한줄한줄 설명드려 보겠습니다.

  • set type=NS 
    • 도메인에 설정된 네임서버를 설정하기 위해서는 NS라는 레코드 타입을 지정해 주어야 합니다.
  • treebada.kr
    • 이어서 바로 내가 조회해보고자 하는 도메인을 직접 입력합니다.

 

위와 같이 입력하면 현재 해당 도메인에 대한 네임서버 조회 내역을 출력해주고 있습니다.

여기서 중요하게 생각되는 부분은 네임서버로 명시된 4개 서버인데요.

저는 아마존 웹서비스의 네임서버 서비스를 사용하고 있기 때문에 위와 같이 표시되고 있습니다.

 

그럼 이 설정은 어디에서 바꿀 수 있을까요?

여러분의 도메인은 여러분이 구매하신 도메인 구매 사이트에서 관리하실 수 있습니다.

 

저는 해당 도메인을 hosting.kr에서 구매하였습니다.

해당 페이지도 잠깐 보여드리도록 하겠습니다.

 

아래 페이지는 "나의 도메인 > 도메인 선택 > DNS 설정 탭" 부분인데요.

위 nslookup을 통해 조회했던 내용이 그대로 설정되어 있음을 알 수 있습니다.

 

더불어, 구매한 사이트에서 제공하는 기본 네임서버를 사용하는 경우

해당 페이지에서 모든 것을 설정할 수 있습니다.

 

어떤 네임서버를 사용하실 것인지는 여러분의 선택입니다.

 

저는 개인적으로 국내에서는 dnsever라는 사이트를 추천드리고 있는데요.

 

단, dnsever는 기본적인 사용료를 받고 있기는 합니다만 가용성이 높아 제가 사용하고 있는 것이고요.

혹시라도 결제 발생하는 것이 싫으시면 지금 도메인 구매하신 사이트의 기본 네임서버를 사용하셔도 무방합니다.

 

설정에 필요한 기본적인 부분은 모두 같습니다.

단, 설정 페이지의 UI만 다르기 때문에 그 부분만 고려해서 설정해주시면 되겠습니다.

 

 

도메인 레코드 타입

일단 도메인을 설정하기 전 레코드에 대해 이해하고자 합니다.

레코드란 도메인의 서브도메인, 즉 A.treebada.kr의 A에 해당하는 부분을 설명한 한 줄을 뜻합니다.

 

blog.treebada.kr이라는 사이트가 있다고 하면,

이 도메인을 어느 IP로 보내줄 지에 대해 명시해 놓은 한 줄을 이야기합니다.

 

이렇게 도메인을 IP로 교환해 주는 여러 방식이 있게 되는데요.

아래 대표적인 방식(레코드 타입)들에 대해 잠깐 설명드리고 넘어가도록 하겠습니다.

 

A레코드 (A Record)

이 레코드 타입은 직접 IP로 교환해 줄 경우를 뜻합니다.

blog.treebada.kr 은 11.22.33.44로 보내라 라고 명시해 두는 것을 뜻합니다.

흔히 웹사이트 접근 시에도 많이 사용하는 레코드입니다.

 

그럼 A 레코드도 한번 조회해 보겠습니다.

treebada.kr 의 A 레코드를 조회해 보았습니다.

Microsoft Windows [Version 10.0.19042.1083]
(c) Microsoft Corporation. All rights reserved.

C:\Users\jywoo>nslookup
기본 서버:  kns.kornet.net
Address:  168.126.63.1

> set type=A
> treebada.kr
서버:    kns.kornet.net
Address:  168.126.63.1

권한 없는 응답:
이름:    treebada.kr
Address:  27.0.236.139

>

조회 결과가 보이시나요?

 

A레코드 타입을 설정하였고 (set type=A), 이후 결과로 27.0.236.139를 리턴해주었습니다.

이 IP는 제가 이용하고 있는 티스토리의 IP입니다.

단, 직접 접근하신다고 제 블로그가 뜨지는 않습니다.

 

이는 서버 내에서 virtual host로 설정하여 입수되는 도메인에 따라 각각 다른 페이지를 띄워줄 수 있기 때문입니다.

 

CNAME 레코드 (Canonical Name Record)

cname 레코드는 별칭 레코드라고 불립니다.

이는 별칭을 만들 수 있는 기능인데요.

별칭이란 A레코드로 연결해 놓은 서브도메인이 존재할 경우, 그 레코드의 별명을 지어주는 기능입니다.

www.treebada.kr 도메인에 현재 저는 티스토리 서비스의 도메인에 대해 cname 레코드를 작성해 놓았습니다.

 

한번 조회해 볼까요?

> set type=CNAME
> www.treebada.kr
서버:    kns.kornet.net
Address:  168.126.63.1

권한 없는 응답:
www.treebada.kr canonical name = host.tistory.io

아래 불필요한 조회 내역은 제가 삭제하여 올립니다.

canonical name으로 설정된 부분을 보아주세요.

 

host.tistory.io의 별칭으로 www.treebada.kr  을 사용하고 있습니다.

이는 어떤 결과를 얻을 수 있을까요?

 

결과적으로 cname 레코드를 사용하고 있기 때문에,

host.tistory.io 의 a레코드를 참조하게 됩니다.

 

그럼 다시 host.tistory.io 의 a 레코드를 조회해 보겠습니다.

> set type=a
> host.tistory.io
서버:    kns.kornet.net
Address:  168.126.63.1

권한 없는 응답:
이름:    blog-tistory-l51ybqnn.kgslb.com
Address:  27.0.236.139
Aliases:  host.tistory.io

결과적으로는 www.treebada.kr 도메인은 host.tistory.io를 cname으로 설정하였고,

host.tistory.io는 a레코드로 27.0.236.139를 바라보고 있으니

결국 www.treebada.kr  은 27.0.236.139를 바라보고 있습니다.

 

cname 레코드는 참조만 하고 있기 때문에 해당 도메인의 a레코드 값이 변경된다고 하더라도 그대로 바라볼 수 있는

장점이 있습니다.

 

제가 treebada.kr의 a레코드로 27.0.236.139를 동일하게 바라보고 있었는데요.

이 경우 예를 들어 티스토리 서비스의 ip주소가 변경되는 경우 어떻게 될까요?

 

티스토리에서 본인들의 서비스 주소인 host.tistory.io의 a레코드는 신규 서버의 ip로 변경해 줄 것이기 때문에,

www.treebada.kr의 접속은 그대로 원활하겠지만, treebada.kr의 주소는 제가 설정하였기 때문에,

제가 직접 업데이트를 해주어야 합니다.

 

이런 점에서 장점을 들 수 있고, 제가 제 도메인에 대해서 설정하더라도, www.treebada.kr과 treebada.kr 이

동일한 곳을 바라보고 있다면, treebada.kr에 해당 도메인을 설정하고 www.treebada.kr은  cname 레코드를 통해 treebada.kr을 참조하도록 바라보게 만들면 좋은 설정이 될 수 있겠습니다.

 

 

MX 레코드 

MX 레코드는 메일 서비스를 위한 레코드입니다.

흔히 회사 도메인의 메일. 그리고 네이버나 카카오의 메일 주소를 사용하시면서 이런 궁금증 갖지 않으셨나요?

해당 도메인의 레코드 또한 서비스의 메일 서버 주소를 바라볼 수 있습니다.

그럼 네이버의 MX 레코드를 조회해보도록 하겠습니다.

 

> set type=MX
> naver.com
서버:    kns.kornet.net
Address:  168.126.63.1

권한 없는 응답:
naver.com       MX preference = 10, mail exchanger = mx1.naver.com
naver.com       MX preference = 10, mail exchanger = mx2.naver.com
naver.com       MX preference = 10, mail exchanger = mx3.naver.com

 

결과가 나왔습니다.

 

네이버의 경우 mx1, mx2, mx3의 메일 exchange 서버를 운영하고 있네요.

 

MX 레코드의 경우, 메일서버 우선순위인 preference와 메일서버 주소인 exchanger에 대한 설정을 할 수 있습니다.

우선순위는 그냥 순서를 표시하기 위해 적어두는 입력 값입니다.

 

사실 메일 서버 설정의 경우 연동하는 메일 서비스의 설정 시에 해당 레코드 값을 보여주고

네임서버 설정에 그대로 넣으면 되기 때문에 더 이상 설명드릴 내용이 없습니다.

 

 

TXT레코드 

TXT 레코드는 사람이나 기계가 읽을 수 있는 임의의 텍스트를 기록하기 위한 레코드입니다.

별도 다른 기능은 없으며, 특정 서비스에서 내 도메인인지 인증하기 위한 절차로 많이 사용됩니다.

이유는 해당 레코드를 추가할 수 있는 것은 관리자인 사람만 가능하기 때문입니다.

 


여러분이 알아야 하는 도메인 레코드 타입은 이 정도입니다.

보통은 A, CNAME 정도만 설정하셔도 사이트 연결하시는 것은 모두 해결됩니다.

 

그럼 실제 설정 시에 어떤 주의할 점이 있는지 알아보겠습니다.

 

 

 

도메인 설정 주의사항

전파시간

도메인 설정 후 해당 도메인으로 바로 접근해보면 대부분 접근되지 않는 경우가 많습니다.

이것은 왜 그럴까요?

 

지난 강의에서 도메인 네임서버는 트리구조를 가지고 있다고 했습니다.

그리고 캐시의 유효시간인 TTL에 대해서도 이야기했었지요.

 

기존에 접속이 가능했던 서버라면 캐시 기록이 있어 이전 A레코드나 CNAME 레코드를 조회할 가능성이 큽니다.

따라서 적어도 TTL로 설정한 시간이 지난 후 조회해보셔야 합니다.

 

이것을 보통 전파시간이라고 하는데요.

특히 지역에 따라서는 최대 이틀까지도 전파시간이 걸리는 경우도 있습니다.

물론 바로 적용되는 경우도 간간히 있기도 합니다 ^^;

 

이점 꼭 알아두시고 참고하셔야겠습니다.

 

하지만 설정이 잘 되었는지 확인하는 방법. 설마 없을까요?

있습니다. 제가 설정한 네임서버로 직접 들어가 확인하는 방법이 있겠지요.

전파와 상관없이 해당 네임서버에서는 정상적인 응답 값을 주어야 합니다.

 

단, dns 서버마다 조회를 막아놓은 경우가 아주 가끔 있습니다.

이 경우는 툴을 별도 제공하고 있으니 참고 부탁드립니다.

 

nslookup을 실행하면 현재 조회 중인 네임서버가 표시되게 되는데요.

아래 그림에서 확인해보겠습니다.

 

조회 네임서버가 kns.kornet.net 으로 되어 있다.

 

저는 KT를 쓰고 있지만 sk 브로드밴드를 쓰는 친구가 내 사이트에 접속이 되지 않는다고 가정하겠습니다.

해당 친구의 PC에서 아래와 같이 확인해 볼 수 있겠습니다.

C:\Users\jywoo>nslookup
기본 서버:  kns.kornet.net
Address:  168.126.63.1

> server 221.139.13.130
기본 서버:  cns2.hananet.net
Address:  221.139.13.130

> practice.treebada.kr
서버:    cns2.hananet.net
Address:  221.139.13.130

권한 없는 응답:
이름:    practice.treebada.kr
Address:  11.22.33.44

 

제가 여태껏 사용하지 않았던 server 명령어를 사용하였습니다.

server 명령어는 쿼리 하는 대상 서버를 바꿔주는 역할을 합니다.

즉, 직접 질의할 네임서버를 선택하는 것이지요.

 

 

여기까지 잘 이해되셨나요?

 

그럼 다음장에서는 직접 레코드를 설정하는 것을 보여드리도록 하겠습니다.

감사합니다.

 

 

 

 

 

 

반응형

댓글