도메인과 서버 연결 이해 (서브도메인 연결하기)
서버와 도메인의 연결 방법
서버하고 도메인하고 연결이 알고나면 간단한 일이지만 하나도 모르는 상태에서 진행을 하면 이해하기 힘든 부분이 있나 봅니다. 이번 시간에는 도메인과 서버를 연결하는 방법에 대해서 설명하고자 합니다. 같은 내용으로 질문을 많이 받는데, 아마 처음 시작하는 분들에게는 어려운 부분이 아닐까 합니다. 이번 포스팅에서는 IIS 기준으로 설명을 하지만, IIS 바인딩 설정에서 "호스트 이름" 항목은 아파치 서버의 VirtualHost와 같은 역할을 하니 연결방법을 이해한다면 쉽게 설정할 수 있을 거라고 생각합니다.
일단 최소한의 기본적인 지식을 알고 있어야 하는데 공유기에서 서버로 포트 전달방법에 대해서 알아야 합니다. 일반적으로 DMZ 설정을 사용하고 있지만, 몇몇 특수한 공유기들은 TwinIP나 SuperDMZ와 같은 외부 IP를 특정 PC에서 할당되도록 할 수 있는 기능이 들어 있습니다. 그 둘의 차이점과 하는 방법을 먼저 알아야 합니다. 그 방법에 관련된 글은 아래의 글을 참고해보세요.
또한 도메인은 구입하거나 또는 무료로 얻어야 합니다. 도메인을 구할 수 있는 곳은 몇군데가 있습니다. 그 중에서 무료로 도메인을 구할 수 있는 곳이 있습니다. 아래의 글을 참고하면 도메인을 얻는데 도움이 됩니다.
관련글 <도메인 설정>
[도메인 정보] 단돈 500원으로 .com 도메인 사용하기
[도메인소개] .com 도메인을 2천원에! (Go Daddy)
.net .com 도메인 1000원($1)으로 사용하기
도메인을 구입하고 나면 이제 서버와 연결시키는 과정이 필요합니다.
여기부터는 기본적으로 알아야 할 지식을 짚고 넘어가 보도록 하겠습니다.
도메인 설정 |
도메인 사이트에서 서브 도메인이나 기본 도메인을 설정하는 방법을 설명하기 전에 도메인 설정화면부터 먼저 보여드리고 설명하겠습니다.
이 화면은 네임서버중에 무료인 DNSZI.com 에서 설정하는 화면입니다. 레코드를 먼저 선택하고 그 안에서 서브 도메인을 입력하는 형태를 가지고 있습니다.
그리고 이 아래 화면은 Freenom.com에서 도메인을 설정하는 화면입니다. 레코드 방식을 통합적으로 설정하기 때문에 서브도메인명을 입력하고 Type에서 레코드 방식을 선택하면 됩니다.
Name 부분이 헷갈리기 쉬운데 아무 이름을 임의로 입력하는 것이 아니라 이 부분이 바로 서브도메인 명이 됩니다. domain.tk 라는 도메인을 가지고 있을 때 Name 칸에 studyforus를 입력한다면 studyforus.domain.tk 라는 서브 도메인을 생성합니다.
이 두가지 설정방법은 거의 다 비슷비슷하고 대동소이하기 때문에 원리만 이해하면 어디를 이용해도 설정할 수 있습니다. 그리고 일반적으로 도메인에서 주로 설정하는 레코드는 A Record와 CNAME 입니다.
A Record : IP 주소를 통해 연결하는 방식입니다.
CNAME : 도메인 주소를 통해 연결하는 방식입니다. (여기에 DDNS 주소를 연결하면 편리합니다.)
이 두가지 방식은 일정한 주소로 연결하는데 도메인으로 연결하느냐 IP주소로 연결하느냐의 차이 입니다. 마치 특정 전화번호를 저장해서 이름으로 찾느냐(CNAME) 아님 전화번호를 직접 입력하느냐(A Record) 의 차이와 비슷합니다.
또한 서브도메인이 아닌 2차 도메인, 예를 들어 domain.com과 같은 앞에 서브도메인이 없는 형태에는 앞에 네임 부분을 생략하고 레코드만 입력하면 됩니다. 즉, 맨 앞칸은 서브 도메인 명을 입력하는 곳으로 꼭 입력하지 않아도 된다는 뜻입니다.
그리고 TTL의 경우는 네임서버에서 갱신하는 주기(시간)을 뜻하는데 네임서버에서 빨리 도메인을 적용하고 싶으면 TTL시간을 작게 설정하면 됩니다. Freenom의 경우에는 300초가 최소입니다.
서버 설정 |
IIS를 예를 들어서 설명하도록 하겠습니다. 기본적으로 도메인을 연결할 때 포트 주소는 80(http의 기본포트)으로 사용해야 합니다. 만약, ISP(인터넷 공급업체)측에서 80포트를 막아놨다면 그 때는 다른 포트 번호로 접속을 해야 합니다만, 그럴 때는 인터넷 업체에 전화해서 포트 개방을 요구하던지, 그에 맞는 상품을 사용하면 됩니다.
IIS의 바인딩 설정에서는 중요하게 봐야할 부분이 바로 "호스트 이름" 항목입니다. 위에도 적었다 시피 아파치에서는 "VirtualHost"로 불리는 기능입니다. 도메인을 추가하고 싶다면 이 호스트 이름 항목에 원하는 도메인 주소를 입력하면 됩니다. 물론, 서브도메인명도 가능합니다.
도메인을 설정하기 전에 이정도만 기억하면 이제 조금 상세하게 설정해보도록 합시다.
메인 도메인 설정하기 - TwinIP 사용 |
먼저 아래와 같은 설정입니다.
공인 IP주소 111.222.123.123을 가진 환경에서 공유기에 랜선이 물려있고, 공유기에서는 서버로 TwinIP 설정이 되어있는 상태를 가정해보도록 하겠습니다.
도메인 설정
test.com과 같은 2차 도메인만 사용하므로 Name 항목은 생략합니다. 빈칸으로 놔둬도 정상적으로 등록이 가능합니다.
또한 IP주소로 연결하는 경우에는 A Record (잘 모르겠으면 고정IP 경우에 설정하면 좋습니다.) 도메인을 통해서 연결하는 경우에는 CNAME 레코드를 이용합니다.
일반적으로 유동IP를 사용하는 환경에 DDNS를 공유기 자체에서 설정을 하였다면 그로 얻은 DDNS 접속 주소를 CNAME 레코드에 입력하면 됩니다.
공유기 설정
Twin IP (또는 Super DMZ)로 설정이 되어있다면 서버로 지정한 컴퓨터는 외부의 공인 IP를 그대로 사용할 수 있습니다. 이 설정을 통해서 서버의 IP주소가 111.222.123.123과 같은 외부IP주소를 사용하기 때문에 IIS 바인딩 설정에서 IP 주소를 한번 더 확인해 보세요.
서버 설정
IIS에서 IP 주소는 외부 IP 주소인 111.222.123.123, 그리고 포트 번호는 80 마지막으로 호스트 이름에는 test.com을 입력합니다.
앞으로 이런 방식으로 도메인을 연결하고 또 서브도메인을 추가합니다. 공유기 종류에 따라서 조금씩 변동이 있습니다.
메인도메인 설정하기 - DMZ |
이번에는 다른 설정은 같지만 공유기에서 TwinIP 설정을 하지 않고 DMZ 설정 또는 포트 포워딩 설정을 이용해서 서버에 연결한 경우입니다.
도메인 설정은 위와 변함이 없으나, 서버에서는 변경이 있습니다. 일단, IP 주소의 구조가 다르기 때문에 공유기와 서버에서 조금 설정을 해야 하는 부분이 있습니다.
도메인 설정
test.com과 같은 2차 도메인만 사용하므로 Name 항목은 생략합니다. 빈칸으로 놔둬도 정상적으로 등록이 가능합니다.
또한 IP주소로 연결하는 경우에는 A Record (잘 모르겠으면 고정IP 경우에 설정하면 좋습니다.) 도메인을 통해서 연결하는 경우에는 CNAME 레코드를 이용합니다.
위와 설정은 같습니다. 서버의 IP주소가 내부 IP주소를 가지고 있더라도 항상 도메인에 연결할 주소는 외부 IP로 연결해야 합니다.
공유기 설정
DMZ 설정을 이용하는 경우에는 거의 TwinIP와 기능을 같지만 서버에서 사설 IP를 사용하느냐, 공인 IP를 사용하느냐의 차이를 제외하고는 거의 같은 기능이라고 보시면 됩니다. 단, 특정하게 80포트만 개방하는 경우에는 포트포워딩 설정을 통해 반드시 외부의 80포트를 내부의 서버로 향하게 해야 합니다.
이 때 설정은 외부 포트를 80 그리고 접속할 내부 IP 주소는 192.168.0.10, 내부포트는 80으로 설정하면 됩니다.
서버 설정
IIS에서 IP 주소는 내부 IP 주소중 하나인 192.168.0.10 그리고 포트 번호는 80 입니다. 비록 내부의 IP주소를 사용하더라도 DMZ나 포트포워딩 설정이 잘 되었다면 111.222.123.123의 80포트는 곧 내부의 192.168.0.10의 80포트와 같기 때문에 호스트 이름에 똑같이 test.com을 입력합니다.
TwinIP 와는 조금 차이가 있지만 DMZ 설정으로 서버가 내부 IP(사설 IP주소)를 갖는 다는 번거로움 빼고는 모두 똑같은 기능을 합니다. 참고로 공유기에서 서버의 내부 IP주소를 고정하기 위해서는 공유기 내부 아이피 고정하기글을 참고하면 도움이 될 듯합니다.
서브 도메인 설정 |
마지막으로 서브도메인 설정법입니다. 도메인 설정에서 빈칸으로 나뒀던 곳에 이제 원하는 서브도메인 명을 입력해서 사용할 수 있습니다. 여기서는 sub라는 이름을 입력해서 sub.test.com 이라는 서브도메인을 등록하도록 하겠습니다.
도메인 설정
3차 도메인을 사용하기 위해서 Name 란에 원하는 서브 도메인 명을 입력하면 됩니다. 이때 서브도메인의 연결주소는 여전히 위와 같이 A Record 또는 CNAME으로 연결하면 됩니다. IP주소로 연결하는 경우에는 A Record (잘 모르겠으면 고정IP 경우에 설정하면 좋습니다.) 도메인을 통해서 연결하는 경우에는 CNAME 레코드를 이용합니다. 일반적으로 유동IP를 사용하는 환경에 DDNS를 공유기 자체에서 설정을 하였다면 그로 얻은 DDNS 접속 주소를 CNAME 레코드에 입력하면 됩니다.
공유기 설정
Twin IP 를 예를 들어 설명을 진행하지만 위에 DMZ 설정이나 포트포워딩 설정일 경우도 적어놨고 그 방법은 같기 때문에 참고를 하면 좋을 듯 합니다. 서버의 IP주소를 IIS 바인딩 설정에서 IP 주소를 한번 더 확인해 주세요.
서버 설정
IIS에서 IP 주소는 외부 IP 주소인 111.222.123.123, 그리고 포트 번호는 80 마지막으로 호스트 이름에는 sub.test.com을 입력합니다.
서브 도메인 역시 도메인 설정 방법과 같은 방법을 사용합니다.
요약 |
설정방법을 살표보니 비슷한 부분이 꽤나 있죠? 종합적으로 이야기 하면 아래처럼 설정하면 됩니다.
도메인설정
IP 주소(A Record)로 연결하거나 도메인명(CNAME)으로 연결하는 경우에는 반드시 서버의 외부 IP인 공인 IP주소로 연결을 해야 합니다.
도메인 설정에서 가장 주의해야할 부분 이지요. 그리고 공유기의 설정 부분을 제외하면 서버에서 주의해서 설정해야 하는 부분은 다음과 같습니다.
서버 설정
포트설정 : 80 다른 포트가 아닌 무조건 80 포트로 해야 정상적으로 도메인을 연결할 수 있습니다.
호스트 이름(VirtualHost) : 도메인주소를 입력합니다.
공유기에서 연결되는 방식만 확실하게 설정한뒤 위에 두가지만 기억하면 도메인 추가하는 방법은 의외로 쉽습니다.
일단 많이 들어오는 질문 중 하나라 글을 작성했는데 도움이 되었으면 합니다.