유동IP 환경을 고정IP로~ DDNS 포트포워딩

Posted by ironmask84
2017. 8. 4. 13:46 나는 프로그래머다!/Sensor


1. 소개


집에 설치한 PC에 접근하는 방식은 보통 "팀뷰어" 같은 화면 공유 프로그램을 활용합니다.

그런데, 화면 공유 프로그램이 아닌 무엇인가 제어를 하고 싶을 때는 집에 설치한 장치가 인터넷에 연결이 되어있고, 
IP 주소를 가지고 있어야 합니다.

대부분의 가정에서는 대기업이 제공하는 인터넷을 쓰다보니 IP주소를 모르고 그냥 연결해서 사용하는 것이 다반사입니다.

사실 보통 사람들은 집에 설치된 공유기에 대기업에서 어떤 IP를 할당해주었는지 알필요가 없죠. 거의 집에 있는 장치에 
접근할 일이 없기 때문입니다.

대기업의 인터넷 서비스는 많은 사용자들이 쓰다보니 유동IP를 할당합니다.

다시말하면, 사용자에게 임의로 공인IP를 할당하고 수시로 그 IP가 바뀌기 때문에 외부에서 집에 있는 장치를 
직접 연결할 수가 없습니다.

마치 집전화 번호가 바뀌니 우리집에 전화걸 방법이 없다는 것이죠. 대신 집에서는 외부에 전화하는것이 문제가 없습니다.

그래서 몇몇 공유기 제조사에서 DDNS라는 기능을 넣은 제품을 판매합니다.

IP가 바뀌어도 그 바뀐 IP를 이름으로 기억하게 만드는 것이죠. 그것이 URL입니다.

 
       DDNS의 개념 : 인터넷과 DDNS의 개념을 설명합니다.
  • IP, Domain, URL에 대한 이해

       인터넷에서 어떤 컴퓨터에 접근하는 데는 IP 라고 하는 주소를 사용합니다.   IP 는 192.168.0.1 과 같은 형태를 하고 있으며 컴퓨터가 이해하기 쉽도록 숫자만으로 구성되어 있습니다.   그러나 실제로 인터넷을 사용하는 주체는 사람이며 사람이 수많은 IP 들을 모두 기억하는 것은 어려운 일입니다.   그래서 고안된 것이 Domain 이라는 것입니다.
       Domain 은 zonesoft.co.kr 과 같이 사람이 기억하기 좋은 형태로 되어 있는 주소이며 실제로 우리가 많이 사용하는 인터넷 주소도 바로 이 Domain 을 기초로 한 URL (http://www.zonesoft.co.kr/default.html 과 같은 형태) 이라는 것입니다.   즉, Domain 이란 특정 컴퓨터를 지정하는 것이며 URL 은 특정 컴퓨터 내의 특정 디렉토리 또는 파일까지 지정하는 것으로 보면 됩니다.
       그런데 문제는 Domain 이나 URL 만 가지고는 컴퓨터가 다른 어떤 컴퓨터를 찾아가지 못한다는 것입니다.   그래서 나온 것이 DNS 라는 것입니다.

  • DNS 의 개념




  •    DNS 는 Domain 을 숫자로 된 IP 로 바꾸어 주는 일을 하는 컴퓨터로서 인터넷 곳곳에 자리를 잡고 Domain 에 대한 질의를 기다리고 있습니다.   즉 인터넷을 사용하는 사람이 zonesoft.co.kr 이라는 Domain 만 알고 있더라도 211.169.248.107 이라는 실제 주소 (IP) 로 찾아갈 수 있도록 해주는 매개체 역할을 하는 것입니다.
       그런데 이 DNS 라는 것이 실상은 "zonesoft.co.kr : 211.169.248.107" 형식의 "Domain : IP" 쌍을 파일에 저장해 두었다가 zonesoft.co.kr 에 대한 질의가 오면 211.169.248.107 을 회답으로 보내주는 구조로 되어 있습니다.   즉 파일의 내용은 정적으로 구성되어 있고 그 내용에 대한 변경은 사람이 손으로 직접 해야 하는 구조로 되어 있는 것입니다.   이러한 방식은 전용선을 사용하는 사람들만 DNS 의 혜택을 누리는 것과 같은 것입니다.   물론 일반 네티즌들도 DNS 로부터 서비스를 받고 있지만 (웹브라우저로 yahoo.co.kr 을 찾아가는 정도) 독자적인 웹 서버를 구축하여 인터넷 서비스를 할 수는 없습니다.   왜냐하면 전세계 어느 DNS 에도 자신의 Domain : IP 쌍이 기억되어 있지 않기 때문입니다.
  • 고정 IP (Static IP) 와 유동 IP (Dynamic IP) 의 차이점

       위에서도 언급했지만 DNS 는 정적으로 고정된 IP 만 기억할 수 있으며 반면 요즘 보급되고 있는 염가의 초고속 인터넷 서비스들은 회원의 컴퓨터에 수시로 변경되는 유동 IP 만 부여하고 있습니다.   유동 IP 로는 인터넷 서비스를 할 수 없습니다.   그 이유로는 첫째, Domain 으로 해당 컴퓨터를 찾을 수 없습니다. (DNS 에서 기억하지 못하므로)   둘째, IP 가 수시로 변하므로 외부에서 IP 만으로 해당 컴퓨터에 접근하기가 어렵고 일반 대중을 대상으로 하는 것은 불가능합니다.

  • 고정 IP 를 사용하기 위한 방법들

       그래서 요즘 많이 보급되어 있는 것이 웹 호스팅입니다.   웹 호스팅이란 전용선을 사용하고 있는 서비스 제공자의 컴퓨터에 작은 공간을 할당받아 자신의 홈페이지를 운영하는 방법입니다.   일반적인 사용에는 별 불편함을 느낄 수 없지만 컴퓨터가 자신의 것이 아니므로 많은 제약을 가질 수 밖에 없습니다.   CGI, DB 등의 사용에 제약이 많고 어떤 새로운 프로그램을 설치할 수도 없습니다.   자신은 하나의 계정을 가지고 있는 사용자일 뿐 슈퍼 유저가 아니기 때문입니다.
       고정 IP 를 부여받는 가장 일반적인 방법은 전용선을 사용하는 것입니다.   물론 대형 시스템에서는 전용선을 사용하는 것이 가장 안정적이고 확실한 방법입니다.   그러나 전용선을 설치하고 운영하는데는 많은 비용이 소요됩니다.   또한 전용선이 안정적이지만 그 속도는 가격에 비해 떨어지는 것이 사실입니다.

  • Dynamic DNS (DDNS) 의 개념

       DDNS 시스템은 유동 IP 를 전용선에 부여되는 고정 IP 처럼 사용할 수 있도록 해주는 시스템입니다.   DDNS 가 하는 일은 일반 DNS 가 하는 일과 같습니다.   그러나 Domain : IP 쌍을 파일에 저장하지 않고 주메모리에 저장합니다.   왜냐하면 유동 IP 를 대상으로 하는 본 시스템의 특성상 IP 를 영구 저장할 필요가 없으며 또한 수시로 그 내용을 갱신하면서 관리하는데는 주메모리가 가장 적당하기 때문입니다.
       DDNS 시스템을 구성하는 또 하나의 요소에는 Noti 가 있습니다.   DDNS 는 각 회원의 컴퓨터에 설치되어 있는 Noti 로부터 그 컴퓨터에 현재 할당되어 있는 IP 를 통보받아서 그 IP 를 Domain : IP 쌍으로 기억합니다.    그러면 자신만의 Domain : IP 쌍을 기억하고 있는 DNS 가 인터넷 상에 있는 것이 되므로 자신의 컴퓨터로 인터넷상에서 모든 네트워크 서비스 (Web, FTP, Mail, Chatting 등 전용선에서만 가능한 모든 서비스) 를 제공할 수 있으며 자신이 슈퍼 유저이므로 CGI, DB 등을 최대한 활용할 수 있습니다.





2. 구성

보통 가정에 들어온 인터넷은 아래 그림같은 구성을 가지고 있습니다.




"서비스 제공자 모뎀"은 SKT 같은 회사가 인터넷 설치 시에 집에 놓아주는 기기입니다. 보통은 여기에 바로 PC 를 연결했었는데요. 

요즘은 인터넷 전화, 인터넷 TV도 같이 보다보니 무선공유기를 놔줍니다. 그 무선 공유기를 IPTIME으로 교체를 해야 됩니다.

그 방법은 각 통신사업자마다 내용이 달라 인터넷에서 찾아보셔야 됩니다.


보통은 모뎀까지만 연결해주니 모뎀에 연결한 IPTIME 공유기를 설정하면 됩니다.

IPtime의 DDNS설정은 아래에 정리하였습니다. 사실 보면 그렇게 어렵지는 않습니다.


IE, 크롬, 파폭 기타 여러 브라우저로 관리자 페이지에 http://본.인.I.P 쳐서 들어갑니다.

관리도구로 들어가면 메인 설정 페이지가 나옵니다.


DDNS 설정 페이지 – DDNS 설정

  • 서비스 공급자: ipTIME DDNS
  • 호스트이름: 원하는 도메인명.iptime.org (ex: abcd.iptime.org)
  • 사용자 ID: my@mail.com 본인 메일 계정
  • 사용자 암호: 원하시는 아무 암호

정상 등록이 나오면 끝났습니다.


원격포트를 열고 외부에서 DDNS 주소를 이용하여 접근하면 이렇게 외부에서도 공유기 관리도 가능합니다.


 발췌 : https://nas.moe/archives/75


3. 설정

DDNS 가 설정이 되었으면, 사실 집에 대표번호가 설정되었다고 보면됩니다.

대표번호는 내선번호가 있어야 하부에 연결된 장치들과 개별 연결이 가능한데 그것이 바로 포트포워딩 설정입니다.





예를들어, DDNS 주소를 tinyfarmer.iptimes.org 라고 설정을 했고, 외부에서 tinyfarmer.iptimes.org : 9000 을 치면 
집에 있는 PC 에 설치된 내 홈페이지가 뜨게 하고 싶을 때 다음과 같이 설정합니다.


DDNS주소 / 외부 포트 9000 ------ 내부IP    192.168.0.15  /  내부 포트  80


위와 같이 매핑 해 놓으면 무조건 설정된 내부 IP의 해당 포트로 찾아 들어가게 됩니다.

설정은 다음을 참고하세요.

                                                             
    ※ IPTIME의 기본 설정 페이지 접속 주소는 "192.168.0.1"입니다.

접속이 안되신다면 누군가는 수정한것이기 때문에, 

아래 링크를 참조해서 진행해 주세요.

→ 공유기 설정 페이지 접속 주소 확인 방법 바로가기


1) 인터넷 창을 열고 인터넷 주소창을 "192.168.0.1" 을 입력해 주세요.






2) IPTIME 설정 페이지 접속이 되셨으면 [관리도구]를 클릭 해 주세요






3) 좌측 매뉴의 [고급설정]→[NAT/라우터 관리]→[포트포워드 설정]을 차례대로 클릭 주세요.






4) 아래의 같은 창이 나오면 이제, 내가 포트포워딩 하려는 기기의 IP주소와 포트번호를 입력해 주시면 되요.

<예시 : IP주소가 "192.168.0.100 이고 포트번호가 3100"인 경우



규칙이름 : 임의지정

내부 IP주소 : 192.168.0.100

외부 포트 : 3100

내부 포트 : 3100 (포트번호는 전부 동일하게 입력해 주시면 됩니다.)

포로토콜 : 대부분 TCP 로 진행하시면 됩니다.


5) 이렇게 전부 입력 후 저장을 해주시면 포트포워딩 완료!!!



출처: http://brand-me.tistory.com/194 [Happy Day.]




4. 마무리

사실 공인 IP 서비스를 신청해도 됩니다.

하지만, 별도의 비용이 들어가므로 공유기가 제공하는 서비스를 이용해도 충분합니다. 단, 자신이 직접 설정해야된다는 수고가 필요하죠. 

인터넷 구성을 집적할 수 있는 수준이면, 외부에서 집에 있는 기기들을 제어하는데 이정도 설정이면 충분합니다.

한번 도전해보세요. ^^