외부IP에서 내부IP 접속 환경 설정
외부IP에서 내 컴퓨터(내부 IP)로 접속하기
이번 시간은 외부 IP에서 내 컴퓨터로 접속하기 위해서 반드시 필요한 과정중에 하나인 공유기 설정 방법에 대해서 알아 보도록 하겠습니다. 개인 서버를 만들기 위해서 가장 필요한 부분이 아닐까 합니다. 외부에서 접속이 불가능 하고, 공유기 내부에서만 활용가능하면, 그것은 더이상 서버가 아닌 홈서버의 역할밖에 하지 못합니다. 외부에서도 접속이 가능하게끔 개인 서버 구축에 제일 필요한 부분을 해봅시다!
현재, 인터넷을 한 컴퓨터에서만 사용한다. 즉, 랜선 하나만 있는데 바로 컴퓨터와 연결이 되어있고, 다른 기기는 사용하지 않는다 하면 전혀 상관이 없는 이야기입니다.
현재는 대대분이 한 인터넷 라인을 가지고 여러가지 기기를 통해서 접속하고 관리하고 있습니다. 이번 시간의 가장 큰 목적은 우리집 인터넷에 연결되어 있는 여러대의 컴퓨터중 서버로 항상 접속하도록 만들고 싶습니다. 그 설정을 배워보도록 합니다.
시작하기 전에 앞서 용어 먼저 설명드릴게요.
공인 IP - 인터넷 업체로부터 우리집으로 쏴주는 IP주소. 외부에서 접속하기 위한 실제 주소 입니다.
사설 IP - 공유기 내에서 새로이 주소를 만들어서 뿌려주는 주소입니다.
포트 - IP주소 뒤에 ":80"식으로 붙는 주소 입니다. 하나의 IP로 여러 포트를 열어 각기 다른 접속을 합니다.
예를들어,
인터넷 업체로부터 뿌려주는 IP주소는 123.456.789.012 입니다. (공인 IP) 이 주소를 가지고 인터넷 공유기에서는 한 회선에 연결된 인터넷을 뿌려주기 시작합니다. 하지만 컴퓨터 한대당 IP가 필요한데, 인터넷 업체로부터 받은 IP는 하나이기 때문에 공유기에서 자체적으로 IP를 만들어 냅니다.(사설 IP)
인터넷 업체에서 받아오는 IP주소인 123.456.789.012는 공유기에 전달이 되고 공유기는 그 신호를 받고 데스크탑에는 192.168.0.2의 주소를 할당해주고, 노트북에는 192.168.0.3의 주소를 할당해줍니다. 그리고 모바일기기 192.168.0.4는 스마트폰, 192.168.0.5는 태블릿.
이런식으로 여러대의 인터넷 사용기기에 IP주소를 전달해주고 부여해줘서 각각의 기기에서 인터넷 사용이 가능한 것입니다.
위에서 나온 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 의 경우는 사설 IP에 해당됩니다.
참고로, 192.168.0.1 의 주소는 공유기 설정 웹페이지에서 사용하고 있습니다.(공유기의 내부 IP주소입니다.)
먼저 공유기 설정 페이지에 들어갑니다.
일반적으로 많이 사용하는 ipTIME의 경우는 192.168.0.1 을 브라우저 주소창에 쓰면 바로 연결이 됩니다.
만약 다른 업체의 공유기를 사용하신다면 각각의 설정 페이지에 접속하는 IP주소가 따로 마련되어 있습니다. 혹시라도 모르겠거나 검색이 귀찮으시다면 이 방법도 있습니다.
네트워크 > 네트워크 인프라 > 공유기 이름
바탕화면의 네트워크에 들어가면 네트워크 인프라 부분에 내 공유기 이름이 적힌 장치가 보입니다. 그 공유기에서 마우스 오른쪽 버튼을 눌러 장치 웹페이지 보기를 클릭하면 같은 화면을 보실 수 있습니다.
제 경우는 ipTIME을 사용하기에 브라우저를 이용하여 http://192.168.0.1 에 접속하였습니다. 제대로 접속하면 다음과 같은 화면이 나옵니다.
로그인 하기 전에 먼저 확인해야 할 부분이 있습니다. 바로 외부 아이피 주소 입니다. 하단에 보면 동적 IP 연결됨 하고 IPv4 방식의 IP주소가 보입니다. 이것은 인터넷 업체에서 우리집으로 뿌려주는 순수한 IP주소 입니다. 아까 말씀드렸다시피, 한 대의 컴퓨터에만 연결을 하였다면 위 주소로 접속하였을 때, 바로 내 컴퓨터로 접속이 됩니다. (관련된 방화벽 개방시) 현재는 저 IP주소가 외부에서 접속을 해줄 수 있는 길이 되기 때문에 잘 기억해둡니다. (공인 IP주소)
처음 접속하시면 아래의 아이디와 비밀번로를 입력해서 로그인 합니다.
사용자 이름 : admin
비밀번호 : admin
로그인을 하였으면 직접적으로 외부에서 접속 할 수 있게 설정 해보겠습니다.
고급설정 > NAT/라우터 관리 > 포트포워드 또는 고급설정 > NAT/라우터 관리 > DMZ / Twin IP 설정 으로 들어갑니다.
지금 여기서 외부에서 접속할 수 있는 방법만 보면 총 세가지 입니다.
1. 포트포워드
2. DMZ
3. Twin IP
각각에 대해 설명 먼저 드리고 지나가겠습니다.
1. 포트포워드
외부에서 접속시 공인IP는 하나이기 때문에 각각의 기기로 연결하기 위해서는 꼼수가 필요합니다. 바로 공인 IP의 포트를 각각 개방하는 방법입니다.
예를 들어 현재 공유기에 연결되어 있는 기기가 4대라고 합니다.
첫번째는 데스크탑, 두번째는 노트북, 세번째는 서버, 네번째는 게이밍 기기
현재 할당된 공인 IP주소는 123.123.456.456이라고 예를 들어보자면, 외부에서 각각의 기기에 모두 연결을 하고 싶습니다. 원래대로라면 공인 IP주소인 123.123.456.456을 입력해도 접속되어지는 것은 아무것도 없습니다.
그래서 공인 IP주소로 단순히 접속하는 것이 아니라 길을 제시해주어 각각의 컴퓨터로 찾아가게끔 하는 방법입니다.
공인 IP주소 123.123.456.456 뒤에 :10을 붙이면 데스크탑으로 접속하도록 :20를 붙이면 노트북으로 접속하도록 :30을 붙이면 서버로 가도록 하는 방법입니다.
즉,
123.123.456.456:10 이면 데스크탑으로
123.123.456.456:20 이면 노트북으로
123.123.456.456:30 이면 서버로 접속하도록 설정하는 방법입니다.
포트 번호의 경우 대표적인 프리셋을 제공하는데, 실질적으로 웹서버와 FTP서버 메일서버를 모두 따로 두시고 따로따로 관리 할것이 아니라면 프리셋은 그닥 쓸모없는 기능입니다. ☞
기억하기 쉽고 알기 쉬운 포트 번호를 설정을 해두는 것이 목적이 아니라, 단순히 접속 기기를 분산하기 위한 것이기 때문에 대부분 사용자 정의로 사용을 하시게 될겁니다.
2. DMZ
위에 포트포워딩의 확장판이라고 보시면 됩니다. 하나의 기기를 지정하여 기본적으로 모든 포트를 지정한 기기로 연결하게 합니다.(지정된 기기의 설정기준은 MAC Address입니다.)
위의 예에서 이어가보면서버를 지정된 기기로 설정을 합니다. 즉 서버의 포트 주소였던 123.123.456.456:30은 의미가 없어지게 됩니다. 왜냐하면 위에 포트포워드에서 설정한 123.123.456.456:10(데스크탑)과 123.123.456.456:20(노트북) 을 제외하고는 아무 포트를 입력해도 서버로 접속하게 됩니다. 123.123.456.456:45을 입력하든, 123.123.456.456:13을 입력하든, 123.123.456.456:1463을 입력하든 간에 모두 서버로 접속을 하게 됩니다.
이것은 다시말하면 가장 많이 사용하게 되는 웹포트인 :80포트도 개방하여 일반적인 웹브라우저에서 접속이 가능하다는 이야기 입니다.
한마디로, 포트포워딩으로 조건 걸어놓은 포트를 제외하고 나머지 모든 포트는 서버로 연결되게끔 합니다.
3. Twin IP
이 기능은 외부아이피를 돌리는 기능을 합니다. 사실 위의 DMZ와 거의 같은 기능이기는 하지만 DMZ와는 약간 다른 부분이 있습니다. 공인 IP주소는 공유기에 직접 연결이 되어있지만 공유기 자체에서 공인 IP로 무언가를 하는 일은 상당히 적습니다. 그래서 공유기 외의 다른 기기를 마치 랜선을 직접 연결하듯이 공인 IP를 할당받게 됩니다.
예를 들어 설명하면, 서버 컴퓨터의 맥 어드레스를 Twin IP의 지정 기기로 등록을 해놓으면 앞으로 123.123.456.456의 주소는 서버의 주소가 됩니다. (물론 실제로는 공유기가 먼저 받아서 전달을 해주는 것이지요.)
전화번호로 따지면 대표번호로 생각하시면 됩니다. 여러개의 전화번호가 있지만 업체를 대표하는 회사 전화번호는 하나로 통일 하듯이 외부에서 접속시 접속할 기기들은 많지만 그 중 대표 기기를 정해 공인 IP의 권한을 모두 주는 방식입니다.
조금 더 알기 쉽게 예를 들어 설명해보자면, 회사에서 많이 쓰는 사내 전화를 예로 들어봅시다.
대표 전화 번호 (여기서 예 123-4567) - 공인 IP
내번 번호 (예 #00)- 포트
그 회사를 대표하는 대표 전화 번호는 공인 IP입니다. 대표전화번호가 있지만 #을 누르고 내선 전화번호를 누르면 지정된 내선번호로 연결됩니다.
포트포워드의 예
123-4567#01 로 전화를 걸면 사장실로 연결
123-4567#02 로 전화를 걸면 이사에게 연결
123-4567#03 로 전화를 걸면 부장에게 연결
123-4567#04 로 전화를 걸면 과장에게 연결
123-4567#05 로 전화를 걸면 사원에게 연결
이 경우는 미리 지정해놓은 내선번호(포트)를 통해 전화번호를 누르며 내선번호를 입력하면 바로 연결이 됩니다. 실제로 IP주소도 마찬가지 인데, 공인 IP인 123.123.456.456에 #처럼 :를 붙이고 번호를 붙이면 지정된 기기로 연결합니다.
DMZ의 예
위의 포트포워딩에서 123-4567#01(사장실) 과 123-4567#02(이사실) 만 세팅해 놓은 상태라고 가정합니다. 그리고 DMZ에서 설정된 기기는 부장의 전화기로 예를 들면, 대표번호로 전화 걸면 123-4567#03으로 전화하든 123-4567#12로 전화하든 123-4567#80으로 전화하든 모든 내선번호에 대해서 등록이 되어있던 되어있지 않던 간에 모두 부장에게로 연결이 됩니다.
일반적으로 123-4567에 전화를 걸면 사실 내부적으로는 123-4567#80(내선번호 80번)으로 자동연결이 되는 시스템이었다고 가정해봅시다. 그러면 구조가 이렇게 됩니다.
123-4567 전화 연결 > 123-4567#80으로 내부전환 > #80의 내선번호로 변환되었음 > 부장에게 전달
즉, 웹에서로 생각한다면
웹 브라우저에서 공인 IP연결 > 123.123.456.456으로 접속 > 자동으로 123.123.456.456:80으로 변환
> 포트번호가 80인 것 확인 > 포트포워딩에서 예외 설정된 포트가 아니기 때문에 해당 포트는 서버컴퓨터로 연결
이런식의 연결 방식을 사용하고 있습니다.
Twin IP의 예
DMZ는 모든 내선 번호가 부장에게 연결되었다고 한다면 Twin IP는 그냥 대표번호가 부장의 전화기 입니다. 이 경우는 내선번호를 거칠 일이 없습니다. 123-4567로 전화를 걸면 내선번호 변환 필요없이 바로 부장의 전화기 울립니다. 부장님 죽어나네요.
즉, 웹으로 바꾸면 대표 공인 IP주소를 가지게 되는 것이고, 바로 인터넷 회선과 연결하였다고 생각하면 됩니다.
거의 비슷한 것 같지만 약간의 차이가 느껴지시나요? 실제로도 수많은 핑이 왔다 갔다 하는 경우에는 접속시간에 차이가 생깁니다. 특히 전송량이 커지면 커질수록 갭은 점점 증가하지요.
그래서 결국 지금 제가 서버에 연결해 놓은 방식은 Twin IP입니다. 공인 IP를 직접 사용하게 되면 하나의 네임서버의 역할을 하게 됩니다. 따라서 나중에 도메인을 구입하였을 때 확장성이 좋습니다.
공유기에 따라서 Twin IP방식은 이야기가 많이 다르지만 ipTIME은 Twin IP, Anygate 및 D-link 같은 업체는 Super DMZ(SDMZ)라고 부르고 있습니다.
Twin IP설정
1. 고급설정 > NAT/라우터 관리 > DMZ / Twin IP 설정으로 접속
2. 서버 컴퓨터 로 접속하여 현재 접속된 PC의 주소로 설정 체크
3. 적용 누름
만약, 서버PC로 접속을 하지 않았다면 서버PC의 MAC Address를 찾기위해 MAC 주소 찾기를 눌러 현재 사용되고 있는 내부 IP주소를 통해 MAC주소를 파악할 수 있습니다.
이 과정이 끝났다면 앞으로는 공유기 안에 있는 컴퓨터에서만 접속이 가능한 것이 아니고, 외부 IP에서 공인 IP를 입력하여 접속이 가능해 집니다.
이상으로 외부IP에서 내 컴퓨터로 접속하는 방법이나, 서버에 연결하는 법을 알아보았습니다. 다음 시간에는 공유기의 WOL 기능에 대해서 알아보도록 할게요!