민월드 마인크래프트

여섯번째 : 서버에 도메인 연결하기 기타 네트워크 관련

MinWorld blog 2020. 1. 22. 16:37

여섯번째 : 서버에 도메인 연결하기 기타 네트워크 관련




이번에 할 이야기는 서버가 준비되어 있고 집에 인터넷이 연결되어 있다면 해야 할 일들입니다.

 

쉽게 말해 서버에 인터넷을 연결하고 집이 아닌 외부에서 접속을 할 수 있게 하는 방법입니다.

 

여기이걸 이해하기 위해서는 유동IP, 고정IP, 내부IP, TwinIP, DDNS, CNAME, 도메인, 포트 등등의 네트워크 용어를 알아야 하는데

 

구체적으로 하나하나 설명하는거 보다는 이야기를 풀면서 그때그때 쉽게 설명하면서 풀어 나가 겠습니다.

 

자세히 공부하고자 하시면... 네이버를 이용하셔서...

 

자 일단 서버컴퓨터가 준비되어 있고 인터넷을 연결해서 서버컴퓨터를 인터넷에 연결했다고 가정하겠습니다.

 

그러면 서버컴퓨터에 IP가 생성되었을텐데 IP를 보면 크게 두가지로 나누어서 볼 수 있습니다.

 

인터넷IP 또는 내부IP

 

가령 집에들어 오는 인터넷모뎀하고 서버컴퓨터를 바로 연결했다. 그러면 인터넷IP로 나올겁니다.

 

하지만 인터넷모뎀을 공유기에 연결하고 공유기를 통해 서버컴퓨터로 연결을 하면 내부IP 예를 들어 '192.168.0.2'가 뜰겁니다.

 

자 여기서 문제... 그냥 나혼자 집에서 서버를 쓴다면 더이상 할건 없습니다. 그냥 내부 아이피로 접속해서 즐기면 되니까요.

 

하지만 우리집이 아닌 외부에서 다른사람들이 내 서버에 접속 해야 한다면 반드시 아이피는 내부 아이피면 안됩니다.

 

적어도 인터넷IP로 서버가 설정 되어 있어야 합니다.

 

그러면 인터넷모뎀과 서버를 바로 연결하면 되겠네요? 땡 아닙니다.

 

우리가 일반적으로 사용하는 집인터넷은 IP가 유동 아이피 입니다. 유동 IP즉 IP가 주기적으로 바뀐다는 말인데요.

 

쉽게말해 지금 서버아이피가 예를 들어 210.10.1.150 이라고 한다면 하루 이틀정도는 이 아이피로 서버를 접속할 수 있습니다.

 

하지만 하루이틀지나면 접속이 안되요. 그이유는 아이피가 바뀌거든요 110.11.23.153 이런식으로요. 그럼 아이피가 바뀔때마다. 서버에 

 

접속하고자하는 사용자들하테 바뀐아이피를 알려줘야 하니까 엄청 불편합니다.

 

왜 아이피가 바뀌나요? 이유는 간단합니다. 우리가 쓰는 아이피는 쓸수 있는 갯수가 한정되어 있어요. 그리고 그갯수가 거의 포화상태 입니다.

 

통신사업자 입장에서는 아이피도 돈주고 사오는건데 가입자 하나하나마다 IP를 고정적으로 주는거도 힘들고 그러면 인터넷 비용이 엄청

 

오를겁니다. 그래서 유동IP를 쓰는건데요. 즉 아이피를 사용하는 사람에게만 유동적으로 주면 내가 쓰다가 인터넷을 끄면 그 아이피를 다른

 

사람이 쓸 수 있게 만들어서 아이피의 활용도를 높인겁니다.

 

그럼 아이피를 고정하는 방법은 없는건가요? 있습니다. 각통신 사업자는 고정IP즉 IP를 고정으로 주는 서비스도 있는데요 

 

IP한개당 약 2만원? 정도를 추가하면 고정 아이피를 쓸 수 있습니다.

 

그런데 여기서 잠깐.. 한달에 2만원이면 모하러 집에서 서버를 운영하지요? 

 

우리는 최대한 저렴하게 서버를 운영하는 것을 목적으로 합니다.  

 

그럼 유동아이피를 고정아이피처럼 쓰는 방법은 없을까요? 있습니다.

 

첫번째는 프로그램으로 바뀌는 아이피를 자동으로 인식해서 특정 도메인에 자동으로 알려주는 프로그램을 쓰는 건데 이를 DDNS라고 합니다.

 

여기서 또 어려운 말이 나옵니다. DDNS 이말을 이해하기 전에 우린 도메인이라는것을 알아야 합니다.

 

도메인은 쉽게말해 사람이 쉽게 알고 입력하게 하는 명칭이다 라고 생각하면 됩니다.

 

우리가 네이버에 접속할때 네이버 IP로 접속을 해야 할텐데요 네이버의 IP는 210.89.164.90입니다.

 

그런데 우리가 네이버를 인터넷주소창에 210.89.164.90으로 쳐서 접속하지는 않아요.. 이걸 외우기가 넘나 어렵기 때문입니다.

 

그래서 우리는 도메인을 씁니다. 즉 naver.com 이렇게 치고 들어가는 겁니다. 도메인은 외우기 어려운 아이피를 쉽게 단어로 바꾼거다

 

라고 생각하면 쉽니다. 그러면 각 서버의 IP목록을 어딘가에 저장해서 도메인과 매칭해야 합니다. 이때 이 역할을 해주는건 DNS서버

 

라고 합니다. 즉 우리가 네이버에 접속하기 위해서 인터넷 주소창에 naver.com이라고 치면 바로 네이버로 가는게 아니고 DNS서버하테

 

"안녕 DNS서버야 너 혹시 naver.com IP주소 알아?" 라고 먼저 물어본다음 DNS서버가 "어 알지 210.89.164.90 이야" 라고 답변이 오면

 

우리컴퓨터는 210.89.164.90으로 접속하는겁니다.

 

자 그럼 DDNS는 모냐. DNS앞에 D가 하나 더 붙는다 이건 Dynamic 즉 동적이라는 뜻으로 DDNS는 동적DNS라고 합니다.

 

DDNS는 실시간으로 DNS를 갱신하는 방식으로 운영됩니다. 즉 서버에 DDNS프로그램을 실행하면 이프로그램이 실시간으로 IP를 보고

 

있다가 IP가 바뀌면 DNS서버에 바뀐 아이피를 알려줍니다. 그래서 아이피가 바껴도 도메인으로 접속이 가능한 것이지요.

 

그래서 서버에 DDNS프로그램을 설치하고 DDNS를 운영 하는 회사에 서버를 등록하면 됩니다.

 

다만 DDNS를 운영하는 회사가 대부분 유료 입니다........ 무료가 있기는한데.. 몬가 이상해... 그리고 프로그램도 설정도 어렵고 암튼

 

그렇습니다. 그나마 윈도우용 DDNS프로그램은 설치나 운용이 쉬운데,, 리눅스는 완전... 겁나 어렵고 관리가 힘듭니다.

 

그래서 두번째 방법으로 많이 합니다.

 

두번째, 공유기를 이용한 DDNS방법

 

요즘 나오는 공유기 특히 우리나라는 IPTIME을 참 많이 쓰는데요 공유기에 보시면 DDNS를 설정할 수 있습니다.

 

하지만 DDNS를 설정하기전에 먼저 해야 할 것이 있는데요.

 

포트포워드 또는 DMZ또는 TwinIP를 설정해야 합니다.

 

오늘 글이 상당히 길어지네요 ㅋㅋㅋ 암튼 설명하자면

 

위에서 말했듯이 공유기에 서버를 연결하면 서버의 아이피는? 네 맞아요 내부IP를 받게 됩니다. 즉 공유기가 공유기에 연결된 기기들끼리만

 

쓸수 있는 IP를 서버나 컴퓨터에 주게 됩니다. 그러면 이건 인터넷IP가 아니기 때문에 외부에서 서버에 접속을 할 수 없게 됩니다.

 

그래서  포트포워드 또는 DMZ또는 TwinIP를 설정해야 합니다.

 

각각이 외부에서 내서버로 접속할 수 있는 방법인데요. 조금씩 내용이 다릅니다.

 

여기서 잠깐 포트포워드 또는 DMZ또는 TwinIP를이해하기 위해서는 포트라는 개념을 이해해야 합니다.

 

포트는 쉽게말해 문이라고 생각하면 됩니다. 서버에는 엄청 많은 문이 있습니다. 그리고 각문 뒤에는 가서 할수 있는 일들이 다른데요.

 

예를 들어 우리가 쓰는 인터넷웹브라우저는 80번 포트를 씁니다. FTP는 21번 SSH는 22번등등 각 포트마다 역할이 있지요.

 

그럼 마인크래프트는 몇번일까요? 25565번입니다.

 

자 그럼 돌아와서

 

외부에서 25565번접속을 시도하면 서버로 연결을 시켜줘야 하는데 그 방법이 포트포워드 또는 DMZ또는 TwinIP를 이용한 세개의 방법이

 

있는 겁니다.

 

우선 포트포워드부터 볼게요.

 

포트포워드는 지정된 포트를 어디로 보내라 라고 하는 방법입니다.

 

즉 공유기 안에 서버가 있는데 서버 아이피는 내부아이피 이므로 외부에서는 공유기 안에 있는 서버에 접속이 원천 차단됩니다.

 

하지만 포트포워딩을 설정하면 특정 지정된 포트로의 접속을 내부에 있는 서버로 가게 해주는 방법입니다.

 

이 방법은 보안이 매우 높습니다. 일반적으로 서버를 인터넷IP로 해놓으면 하루에도 엄청난 공격을 받게 됩니다.

 

참고로 제 서버의 경우 하루에 약 3000번정도의 불법 접속을 차단하고 있습니다.

 

즉 25565번을 서버로 가게 설정해 놓으면 서버는 마인크래프트 접속자만 받는 서버의 역할을 하게 됩니다.

 

만약 여러분이 마인크래프트만 운영하는 서버라면 이방법을 추천드립니다.

 

또한 포트포워딩은 다수의 서버를 각각 다른 역할로 운영할때 유용합니다. 포트마다 접속할 서버를 지정하여 운영할 수 있기 때문입니다.  


다음은 DMZ 설정입니다.

 

DMZ 설정은 서버에 모든 포트를 개방하는 방법입니다.

 

하나의 서버에 모든 포트를 다 개방하기에 다수의 포트를 포트포워딩 하는 경우 설정이 귀찮은 분은 DMZ설정으로 한번에 해결하려고

 

사용하는 설정입니다. 하지만 모든포트를 개방하는건 그만큼 보안에 취약할 수 있습니다.

 

다음은 TwinIP 입니다. 이방법은 좀 특별한데요. 지정된 컴퓨터에 즉 서버에 인터넷IP를 부여해 주는 겁니다.

 

즉 공유기를 사용하지만 마치 공유기가 없이 모뎀과 서버를 직접 연결하는 효과를 주게 됩니다.

 

하지만 DMZ설정과 같이 보안에는 취약합니다.

 

그러기에 마인크래프트와 몇몇 서비스만 운영하는 서버라면 포트포워딩을 통한 운영을 추천드립니다.

 

자 포트포워드 또는 DMZ또는 TwinIP에 대한 설명은 끝났고..

 

내 서버를 이 세가지중 하나로 연결 했다고 하면 다음에 해야 하는것이 DDNS설정입니다.

 

 요즘 공유기들 거의다 DDNS설정을 할 수 있게 되어 있습니다. 제가 쓰는 IPTIME의 경우에도 지원을 하고 있고

 

설정도 매우 간단합니다. 호스트 이름, 사용자 ID, 보안문자만 입력하면 바로 등록이 됩니다.

 

만약 호스트 이름을 baboda7979 하였다면 IPTIME 에서는 baboda7979.iptime.org를 발급해 줄겁니다.

 

그러면 baboda7979.iptime.org를 입력하면 바로 연결된 내 서버로 접속하게 되는 겁니다.

 

이렇게 하면 일단 서버접속 설정은 끝났습니다.

 

추가적으로 만약 내가 특정 도메인을 가지고 있다라고 합시다.

 

우리 민월드의 도메인은 fdtlab.co.kr 인데요 이건 제가 오래전부터 가지고 있던 도메인입니다.

 

물론 baboda7979.iptime.org를 통해 내 서버에 접속할 수 있지만 몬가 쌔끈한 이름으로 접속하는 방법을 찾고자 할때..

 

또는 내가 도메인이 남아서 연결하고 싶을때.. 하는 방법입니다.

 

일반적으로 1차 도메인 즉 .com, .net, .org, .co.kr 등을 서버에 연결할때는 IP주소를 입력해야 합니다.

 

하지만 고정된 IP주소가 없기때문에 우리는 baboda7979.iptime.org 를 가지고 연결을 해야 하는데, 이때 쓰이는 설정이

 

CNAME 설정입니다. 이건 도메인을 구입한 업체홈페이지에서 도메인 설정에 가면 입력할 수 있습니다.

 

예를들어 mc.fdtlab.co.kr를 만들고 CNAME을 baboda7979.iptime.org로 입력하면 됩니다.

 

참쉽지용?

 

네크워크 관련은 여기까지 입니다.

 

감사합니다.


http://www.fdtlab.co.kr/bbs/board.php?bo_table=admin&wr_id=6