가비아 네임서버 ip - gabia neimseobeo ip

웹 개발을 처음 진행할 때 가장 먼저 고민하게 되는 것 중 하나는 어떤 도메인(domain) 이름을 사용할 것인지입니다. 도메인은 172.217.175.78과 같은 외우거나 쓰기 어려운 IP 주소를 사람이 사용하기 편리한 google.com과 같은 이름을 붙여 관리할 수 있도록 만든 것입니다. 또한 같은 서비스를 위해 사용하는 IP 주소가 여러 개거나 이들이 바뀐다고 하더라도, 도메인과 잘 연결만 해두면 사용자들은 해당 IP 주소들에 대해서는 전혀 신경 쓰지 않아도 된다는 점에서도 안정적입니다. 여기에서는 가볍게 AWS(Amazon Web Services) EC2를 통해 배포하고 있는 웹 서비스가 있다고 가정하고, 해당 public IP로 가비아를 통해 구입한 도메인이 연결되게 하는 방법을 몇 가지 내용과 함께 간단히 다루겠습니다. 어떤 클라우드 컴퓨팅 서비스과 도메인 서비스를 사용하든 기본적인 방식은 동일합니다.

//domain.gabia.com/

가비아(GABIA)는 한국에서 가장 많이 사용되는 도메인 서비스 중 하나입니다. //domain.gabia.com/으로 들어갔을 때 보이는 화면에 관심이 있는 도메인을 입력하면 이를 사용할 수 있는지, 가능한 최상위 도메인(com, net, org, online, 등 도메인에서 맨 뒤쪽에 해당하는 부분)과 각 가격은 어떠한지를 보여줍니다. 여기서 구매할 것을 택해 ‘신청하기’를 눌러 진행하면 됩니다.

도메인을 신청(구매)하는 과정은 간단합니다. 신청 정보 입력 단계에서 주목할 만한 부분은 ‘서비스 관리 정보’에 포함된 ‘네임서버 설정’과 관련된 부분입니다. 도메인을 IP 주소와 연결하기 위해서는 DNS(Domain Name System)라는 시스템이 이용됩니다. 이 DNS를 운영하는 서버를 네임 서버(name server)라고 합니다. 네임 서버가 하는 일은 휴대폰에 전화번호를 내가 지정한 이름으로 저장해 갖고 있는 연락처(전화번호부)가 하는 일과 비슷합니다. 도메인 이름과 IP 주소를 양쪽으로 서로 변환해주는 역할을 하는데, 따로 만들거나 사용할 네임 서버가 없다면 가비아 네임서버를 사용하는 것이 편리합니다.(물론 구매 후 바꿀 수 있습니다.) 지금 구입하는 도메인과 IP 주소를 상호 변환하는 데에 가비아가 운영하는 네임 서버를 이용하겠다는 것입니다.

여기서는 간단히 ‘가비아 네임서버 사용’을 선택하겠습니다.

관련 정보를 모두 입력하고 비용 결제까지 마치고 나면, 가비아 네임서버를 사용하는 경우에는 당장 해야할 것은 한 가지뿐입니다. 물론 웹 브라우저를 통해 도메인과 IP 주소가 잘 연결되었는지 쉽게 확인할 수 있는 편이지만, nslookup을 통해서도 연결 전후를 비교해보도록 하겠습니다. nslookup은 name server lookup을 뜻하며, 여러 운영체제에서 공통적으로 사용 가능한 명령어입니다. 예를 들면 다음과 같습니다.

MacBookPro:~ $ nslookup google.com
Server: 210.220.163.82
Address: 210.220.163.82#53
Non-authoritative answer:
Name: google.com
Address: 172.217.175.78

여기서 위의 Server, Address는 아래 답변을 얻기 위해 질의한 네임 서버 정보를 나타냅니다. Address의 #53은 port 53을 나타내며, 이는 name server들이 기본적으로 사용하는 port입니다. Non-authoritative answer는 문제가 있는 것은 아니고, 질의한 내용을 답하기 위해 네임 서버의 cache나 다른 네임 서버가 가진 정보가 사용되었을 때 ‘정확하지는 않을 수 있음’을 뜻하는 것으로 일반적으로는 무시해도 무관합니다. nslookup은 특정 네임 서버를 이용해 정보를 찾아오게 할 수도 있는데, 다음과 같이 사용하면 됩니다. 여기서는 가비아 네임 서버(ns.gabia.co.kr)를 특정해보겠습니다.

MacBookPro:~ $ nslookup google.com ns.gabia.co.kr
Server: ns.gabia.co.kr
Address: 211.234.118.50#53
Name: google.com
...

아까와 달리 Server 행에서 지금 사용된 네임 서버가 가비아 네임 서버임을 확인할 수 있습니다. Address의 211.234.118.50은 ns.gabia.co.kr에 대응되는 IP 주소이며, 아까와 주소는 달라졌으나 역시 port 53이 사용되고 있습니다. nslookup은 그 외에도 다양한 옵션을 지원하는데, 예를 들어 해당 도메인이 기본적으로 사용하는 네임 서버도 확인할 수 있습니다. -type 옵션 뒤에는 NS(네임 서버) 외에도 A, AAAA, CNAME, NS, MX, SPF, PTR 등 다양한 resource record 유형을 입력해 해당 record 정보를 조회할 수 있습니다.

MacBookPro:~ $ nslookup -type=NS google.com
Server: 210.220.163.82
Address: 210.220.163.82#53
Non-authoritative answer:
google.com nameserver = ns1.google.com.
google.com nameserver = ns2.google.com.
google.com nameserver = ns3.google.com.
google.com nameserver = ns4.google.com.
Authoritative answers can be found from:

이를 통해 Google의 경우에는 ns1.google.com 등 자체적으로 네임 서버를 운영하여 사용하고 있는 것을 확인할 수 있습니다. 회사들은 이런 경우가 흔한 편입니다.

이제 방금 구입한 도메인 주소를 조회해보면, 아래와 같은 결과가 나올 것입니다. #으로 표시한 부분은 구입한 도메인이라고 생각하시면 됩니다.

MacBookPro:~ $ nslookup #######.###
Server: 219.250.36.130
Address: 219.250.36.130#53
** server can’t find #######.###: SERVFAIL

SERVFAIL은 네임 서버가 해당 도메인에 대해 요청한 정보를 찾는 것에 실패했다는 것입니다. 그런데 이것은 해당 도메인이 존재는 한다는 것을 내포하기도 합니다. 아무도 구매하지 않았고 전혀 사용되지 않는 도메인을 조회하려고 할 때에는 Non-eXistent Domain을 뜻하는 NXDOMAIN이라는 error가 발생합니다. SERVFAIL을 해결하기 위해서는 구매한 도메인에 대해 앞서 언급한 resource record를 저장해야 합니다. 등록한 도메인 상세 페이지로 이동하면, 다음과 같은 화면을 볼 수 있습니다. 가비아 네임 서버를 이용하기로 했기에 네임 서버 1차, 2차, 3차에는 가비아가 운영하는 서버 주소들이 들어가 있습니다.

도메인 상세 페이지

여기서 헷갈릴 수 있는 부분이 ‘DNS 호스트’ 설정과 ‘DNS 정보’ 내의 ‘DNS 레코드 설정’인데 둘은 큰 차이가 있습니다. 가비아 고객센터에서도 관련 내용의 문서가 있습니다. DNS 호스트는 자체적으로 네임 서버를 구축하여 이용하기 위해 그 호스트를 등록하는 것입니다. 즉, 가비아 네임 서버를 사용하는 지금의 경우에는 필요한 설정이 아닙니다. 아까 nslookup을 사용했을 때 발생한 SERVFAIL을 해결하기 위해서, 그리고 현재의 목적인 도메인으로 IP 주소를 대체하기 위해서는 DNS 레코드(resource record)를 추가해야합니다. 따라서 ‘DNS 레코드 설정’으로 들어갑니다. ‘DNS 설정’에서 구매한 도메인의 설정으로 한 번 더 진입하면 다음과 같은 화면이 나타납니다.

여기서 ‘레코드 수정’을 선택해 A 타입의 레코드를 추가하면 됩니다. 잠시 사족을 붙이자면, 아직까지 IPv4(익숙한 172.217.175.78 같은 형태) 외의 IP 주소를 사용할 일이 별로 없어서 그런지 AAAA 타입은 가비아에서 선택지로 존재하지 않습니다. AAAA 타입은 IPv6에 대한 레코드 유형입니다. IPv6는 IPv4가 32bit라는 제한된 주소 공간을 갖고 있기에 더 넓은 범위를 표현하고자 만들어진 프로토콜로, 128bit의 넓은 공간을 가지고 있으며 2001:0db8:0000:0000:0000:8a2e:0370:7334 같이 표기합니다.

EC2 화면의 예시. IPv4 Public IP의 열에 있는 IP 주소를 사용합니다.

‘호스트’에는 구입한 도메인의 앞 부분이 대응된다고 편하게 생각할 수 있습니다. 일반적으로 www.example.com과 example.com에 해당하도록 호스트에 www와 @ 을 많이 사용할 것입니다. @ 은 도메인 그 자체, 말하자면 앞에 아무것도 없는 것을 뜻합니다. naver.com이 확장해서 사용하고 있는 blog.naver.com, cafe.naver.com처럼 다른 호스트들도 등록해서 별개의 IP 주소에 연결할 수 있습니다. 이러한 서브 도메인을 위해서는 CNAME 타입의 레코드도 많이 사용하는데, 이에 대해서는 여기서 다루지는 않도록 하겠습니다. TTL은 Time To Live를 뜻하며, 다음 변경사항이 적용될 때까지 일반적으로 걸릴 시간(즉 caching의 timeout 시간)을 초로 지정해 넣는 것입니다. 새롭게 추가하는 record의 반영은 거의 바로 되므로 지금 당장은 크게 신경 쓰지 않아도 됩니다. 각 레코드를 추가하고 우측 ‘상태’ 열의 ‘확인’을 선택하고 마지막으로 ‘저장’을 눌러 이를 반영합니다.

여기까지 완료하면 도메인을 IP와 연결하는 것이 완료된 셈입니다. 브라우저에서 구입한 도메인을 입력하시면 배포한 웹 서비스로 연결되는 것을 확인할 수 있습니다. 물론 이전처럼 IP 주소를 통해서도 진입할 수 있습니다. nslookup 명령어를 통해서도 구입한 도메인이 방금 등록한 레코드의 IP 주소 정보와 연결된 것을 확인해보겠습니다.

MacBookPro:~ $ nslookup #######.###
Server: 210.220.163.82
Address: 210.220.163.82#53
Non-authoritative answer:
Name: #######.###
Address: XXX.XXX.XXX.235

위와 같이 앞서 google.com에 대해 확인해보았을 때와 유사하게 출력되면 성공적으로 연결이 된 것입니다.

Toplist

최신 우편물

태그