본 주제를 다루기 전에 복습할 것이 있다. 예전에 설정했던 공인,사설IP주소,포트번호를 기억해보자. 

내가 설정했던 IP주소,포트번호는 다음과 같다.


공인IP주소 : 14.38.111.22 (통신사가 내 집으로 주는 IP주소)

공유기의 DNS : qwe123.iptime.org

공유기의 내부IP주소 : 192.168.0.1

공유기의 포트번호 : 9876

NAS의 내부IP주소 : 192.168.0.7

NAS의 ssh포트번호 : 22

외부에서 ssh로 접속하기 위한 포트번호 : 2722




이제 윈도우 환경에서 NAS에 ssh접속할 수 있는 프로그램인 PuTTY를 다운받자.

https://www.putty.org/

위의 홈페이지로 들어가서 PuTTY 를 다운받아 설치하고 실행한다.


1번. IP주소를 적는다. 여기서 두 가지 경우가 생긴다. PuTTY를 실행한 장치가 같은 네트워크에 있는지, 다른 네트워크에 있는지에 따라 달라진다.

◇같은 네트워크에 있다면, 14.38.111.22(qwe123.iptime.org) 또는 192.168.0.7 을 적는다. PuTTY를 집 안에서 실행한 경우이다.

◇다른 네트워크에 있다면, 14.38.111.22(qwe123.iptime.org)만 가능하다. PuTTY를 집 밖에서 실행한 경우이다.

14.38.111.22(qwe123.iptime.org)는 외부,내부 상관없이 접속가능하고, 192.168.0.7는 내부에서만 접속가능하다. 

당연한 이야기이지만, 같은 네트워크일 경우에는 192.168.0.7로 접속하는 것이 빠르고 안정적이며, 심지어 통신사에서 인터넷이 끊겨도 NAS에 접속가능하다. 

qwe123.iptime.org는 14.38.111.22과 같은 것이다. 이해가 안간다면 DNS 검색


2번. 포트번호입력. 위의 1번에서 192.168.0.7를 적었다면 22를, 14.38.111.22(qwe123.iptime.org)를 입력하였다면 2722를 입력한다.

14.38.111.22(qwe123.iptime.org)로 ssh를 접속하는 것은 데이터가 공유기 바깥까지 나갔다가 다시 들어오는 상황이므로 외부포트번호인 2722를 입력해야 한다. 같은 네트워크에서 PuTTY를 실행한다 하더라도 말이다.


3,4번. 자주 접속하는 경우 IP주소와 포트번호를 저장하는 것이다. 적당한 이름을 3번에다 적고 4번 Save를 눌러 저장.


5번. Open을 누르면 접속이 된다. 3,4번에서 저장했다면 이름을 더블클릭해도 접속 가능.



처음 접속한다면 인증서관련 창이 뜨는데, 가볍게 [예]를 눌러준다. 

접속이 되면 검은 바탕, 흰 글씨로 NAS의 모니터로 봤던 화면과 똑같은 로그인 화면이 뜬다.

우분투 설치시에 설정하였던 username과 password를 입력하여 접속이 잘 되는지 확인하자.



참고로 스마트폰으로도 원격접속이 가능하다.플레이스토어, 앱스토어에서 ssh라고 검색하면 된다.

이 블로그에서는 우분투 서버를 이용하여 NAS를 자작하는 것을 목표로 하고 있다. 

우분투 서버를 설치할 수 있는 장치는 많다. 안쓰는 데탑, 사양이 너무 낮은 노트북, 임시로 쓸 가상머신, 라떼판다와 같은 초소형PC 등등...

형태는 다양하겠지만 우분투 서버를 설치한 장치(PC, 노트북, 가상머신)를 통틀어 NAS라고 하겠다.


NAS가 일반 PC와 다른 특징 중 하나는 NAS의 세팅을 NAS에서 직접 할 필요가 없다는 것이다. 

이 말은 인터넷에 연결되어 있으면 어디서든 NAS의 설정이 가능하다는 것이다.

집 안이거나 밖이거나, 국내이거나 해외이거나, 유선랜이거나 WIFI를 이용하거나 데이터를 이용하거나 상관 없이 NAS에 접속하여 설정이 가능하다. 조금 불편하긴 해도 스마트폰으로도 가능하다.


그럼 두 가지 궁금증이 생길 것이다.
1. NAS에 접속하려면 따로 설정을 해야하는가?
2. 어떤 프로그램을 이용해야 NAS로 접속이 가능한가?

1의 답은 NAS는 따로 설정할것이 없고, 공유기에서 '포트포워딩'을 해주어야 한다.
2의 답은 윈도우PC라면 PuTTY를, 안드로이드폰이라면 JuiceSSH를, 리눅스라면 내장된 터미널로 가능하다. 
(JuiceSSH말고 ssh로 검색하여 나오는 다른 어플들도 가능할 것이다. 아이폰도 ssh로 검색해서 나오는 앱으로 가능할 것이다.)

이 글에서는 1번을 해결하고, 2번은 다음 글에서 다루겠다.




NAS가 사용할 내부IP주소 고정하기


포트포워딩을 하기 앞서, NAS의 내부IP주소를 고정해보자. 고정하는 이유는 NAS의 내부IP주소가 변경될때마다 바뀐 IP주소 찾고, 외우고 해서 접속해야 하기가 번거롭기 때문이다.


ipTIME 제품으로 설명한다. 공유기 설정에 접속하자. 모른다면 전의 글에서 다루었으니 다음 줄을 클릭한다.

▶▷▶ 2. 외부에서 접속가능 하도록 공유기 기본 설정



회색 사각형은 보안상 가린 부분이다.

1~3을 순서대로 누르면 내부IP주소를 고정할 수 있는 설정창이 뜬다.

오른쪽 창 중간 아래부분의 [사용중인 IP 주소 정보] 는 공유기에 연결된 모든 장치의 목록이 뜬다.

(순서대로 IP주소, MAC주소, 장치이름, 유/무선)

 4를 보면 우분투 설치시에 Your Server's name에 넣었던 [abcnara]라는 NAS 이름이 뜨고,

192.168.0.7 이라는 사설IP주소를 받은 상태이다. 기억해두고 있어야 한다.

(위의 사진은 여기까지 되어있는 상태이다.)

각자의 NAS이름을 찾은다음에 클릭하면 5번 박스에 자동으로 기입된다.

오른쪽의 수동 등록을 눌러주면 6번 [등록된 주소 관리]에 등록된다.

이로써 NAS의 IP주소를 고정하였다.



이제 포트포워딩을 할 차례이다. 그 전에 포트에 대해서 궁금하다면 검색하거나 밑의 링크에서 확인해보자.

▷▶▷3. 공인IP, 사설IP, 포트번호




외부접속이 가능하게 공유기에서 포트포워딩을 설정


이제 포트포워딩을 해보자. 

아래에서는 22번 포트인 ssh를 외부에서 접속할 때는 2722번으로 접속가능하게 변경할 것이다.

변경하는 이유는 크게 두 가지 이유가 있다.

1. 통신사에서 22번 포트를 막은 경우 

2. 해킹 당하는 빈도를 줄이기 위해


포트번호 변경은 공유기에서 한다. 따라서 공유기 설정으로 들어가자.


왼쪽창에서 [NAT/라우터 관리] -> [포트포워드 설정]을 누른다.

처음이라면 오른쪽 창이 깨끗할 것이다. 위의 사진은 9개의 포트포워딩 설정을 마친 상태.

아래에서 포트포워딩을 설정한다. 위에서 NAS가 받은 사설IP주소가 192.168.0.7 이었음을 기억하는가?

규칙이름에 아무거나 넣고 내부IP주소에 NAS의 사설IP주소를 넣는다.

프로토콜은 TCP, UDP, TCP/UDP 등이 있는데 보통은 TCP이다. 

TCP인지 UDP인지 잘 모르면 TCP/UDP를 고른다. (두 개의 차이가 궁금하면 검색) 

외부포트는 1000~65535중에 하나를, 내부포트는 22를 입력하고 적용을 누른다.

(위처럼 2722~(빈칸)으로 입력하면 2722번 포트만 열린다.)

이로써 2722번 포트가 열림과 동시에 2722포트는 NAS의 22번 포트와 연결되었다.


위 내용에서 추가 설명이 필요하다. NAS 접속은 ssh를 통해서 하는데, ssh의 기본 포트번호는 22이다. 

위에서도 이야기했듯이, 22번 포트는 기본중에 기본인 포트번호라서 NAS를 인터넷에 연결한 순간부터 세계 각지에서 ssh의 22번 포트로 무작위 로그인을 시도한다. 따라서 22번 포트번호는 바꾸는 것이 좋다. 심지어 닫아버리는 사람도 많다.


여기서 포트번호를 변경하는 두 가지 다른 종류가 있다.

1. NAS자체에서 ssh의 포트번호 22를 다른 숫자로 변경하는 경우 (포트번호 직접 변경)

2. NAS의 포트번호는 변경하지 않고, 공유기에서 들어오는 포트번호만 바꾸는 경우 (포트번호 감추기)


1번의 경우는 추천하지 않는다. NAS에서도, 공유기에서도 포트번호를 변경해야 하기 때문이다. (두번 설정해야 하니 귀찮다)

2번 방법을 추천한다. NAS에서 ssh의 22번 포트를 변경할 필요가 없고 공유기에서 외부 포트번호를 바꿔주면 된다.


위의 사진은 2번에 해당되는 경우이다. 위 사진 설정으로 설명하면, 외부에서 2722포트로 ssh에 접속을 할 수 있다. 접속하면 공유기에서 192.168.0.722번 포트로 연결해 준다.

그러니까 2번 방법은 외부에서 2722 포트로 연결하는 것이다. 22번 포트는 닫혀있기에(공유기에서 따로 여는 설정을 안했으니까), 외부에서는 ssh의 기본포트인 22번으로 접속을 할 수가 없다. 2722포트는 잘 알려지지 않은, 그저 0~65535의 포트 중에 하나니까 해킹 빈도가 훨씬 낮아진다. (참고로 2722에서 27은 내 생일이다.)


이로서 포트포워딩이 끝났다. 설정만 보자면 별거 없는데, 자세히 설명하려다 보니 글이 길어지는것 같다. 

한가지만 더 이야기하자면, 위 사진에서 포트포워드 설정 3~8순위는 외부 포트만 있고 내부 포트번호는 없다.

외부 포트 = 내부 포트인 경우로, 포트포워딩 설정을 할 때 서비스가 사용하는 포트번호 그대로를 외부 포트에 입력하면 된다.

그러면 원래 포트번호 그대로 외부에서 접속 가능하나, 내부 포트번호가 고스란이 노출되어 해킹의 위험이 높아진다.

그럼에도 포트번호를 바꾸지 않은 이유는 3~8순위에 있는 서비스는 해킹당해도 별 상관이 없기 때문에 실제 포트번호를 굳이 감출 필요가 없어서 이다. (바꾸는게 더 귀찮...)


다음 글에서는 외부, 내부에서 NAS에 접속해 보도록 하자.

우분투를 설치해보자.

지금 쓰고 있는 데스크탑(아마도 윈도우)에 VirtualBox(무료) 와 같은 가상머신에서 우분투 서버를 구동하기를 추천한다.

처음 NAS를 자작할때 한번에 잘 만들 리가 없다. 분명 꼬이는 부분이 생기게 될 것이다. 따라서 가상머신에서 연습삼아 우분투 서버를 만들어 보자. 이것저것 건드려 보고, 여러가지 설치, 삭제도 반복해 보면서 충분히 연습을 해보자.

그리고 나서 이제 본격적으로 운영할 수 있겠다 싶을 때에 독립적인 하드웨어로 NAS를 구축해보자.

필자는 이미 NAS를 운용중인데다, 블로그 설명용 스크린샷을 찍기 위해 VirtualBox로 NAS를 구축하겠다.


나중에 하드 추가나 제거를 고려한다면 우분투OS를 설치할 드라이브와 데이터 드라이브는 물리적으로 구분하는걸 추천한다.

하드가 한 개 뿐이라면? 16기가 정도 되는 여분의 USB가 있다면 USB에 우분투를 깔고, 하드는 순수 데이터 저장용으로 쓰는 걸 추천한다. 우분투 서버는 윈도에 비해 워낙 가볍기 때문에 USB에 우분투를 설치하고 구동해도 느린 감이 들지 않는다. USB가 8기가 라면 부족할 수도 있다.


가상머신이 아닌 데탑, 노트북에 NAS를 설치한다면 VirtualBox 설명 부분은 전부 건너뛰고 우분투 설치부터 읽으면 되겠다.


VirtualBox를 설치 후 [새로 만들기]를 누른다.


이름을 아무렇게 입력한다. ubuntu를 입력하면 신기하게 OS 종류를 자동으로 잡아준다.


메모리는 1기가여도 충분하다. (화려한 바탕화면이 아닌, 텍스트 기반이라서)


기본설정 그대로 만들기를 누른다.


기본설정 그대로 다음을 누른다.


기본설정 그대로 다음을 누른다. 

(동적할당은 가상머신 파일 용량이 실제 쓰고있는 용량만큼 커져가고, 

고정크기는 처음부터 가상머신 하드 크기만큼 파일용량을 잡는다.)


실제 우분투 서버 용량은 2기가 정도, 스왑파일이 2기가 정도 된다.(스왑파일 삭제 또는 크기 수정 가능)

가상머신에서 실제 구동할 목적이 아닌 테스트 용도 이므로 10기가 설정.


[설정]을 눌러 기본설정을 해보자.


[저장소]를 누르고 [컨트롤러] 아래 CD모양을 눌러 오른쪽 [광학 드라이브] 를 눌러 우분투 iso 파일을 불러온다.


사진과 같이 된다. 컴퓨터에 CD파일을 넣은 상태와 같다.


이 부분이 중요하다! [네트워크]에서 [어댑터에 브리지]를 선택한다.

이는 가상머신이 공유기에서 주는 사설IP를 받기 위해서다. 즉, 가상머신을 실행한 PC의 IP와는 다른 별도의 독립적인 사설IP주소를 공유기로부터 받는다.


확인 누르고 실행을 누른다. 구동 중...


한글이 없다. 영어를 고른다.


Your name : 아무거나 넣는다. 로그인ID하고는 다르다.

Your Server's name : 네트워크에서 뜨는 NAS의 이름이다. 윈도우로 치면 컴퓨터 이름이다.

Pick a username : 로그인 ID이다. 자주 쓰므로 길면 로그인할때 귀찮다.

Choose a password : 특문 필요없고 극단적으로 4자리 숫자도 가능하다. 그렇지만 복잡하게 해라.

NAS는 무작위 로그인 시도 공격을 시도때도 없이 받기 때문에 비밀번호가 간단하면 쉽게 털린다.


설치가 완료되면 서버이름이 뜨고, 그 옆에 로그인 계정을 넣으라 한다. 


위에서 Pick a username에서 설정한 "globalwarming"을 입력후 엔터.


저 화면은 이미 비밀번호를 입력한 것이다. 

비밀번호를 입력해도 ****조차 뜨지 않는다. 당황하지 말고 비밀번호 넣고 엔터. 


로그인 완료. 윈도우에 익숙하다면 검은배경에 흰글씨는 충격과 공포의 화면일 수 있다. 여기서부터 시작이다.

위의 화면을 보면 현재 날짜와 시각(9시간 차이가 난다. 다음글에서 조정), IP주소, CPU와 램 사용률(램 사용률이 120메가 밖에 안된다.), 가능한 업데이트 개수 등을 알 수 있다.


아, 모니터는 이제부터 필요가 없다!! 모니터, 키보드, 마우스(이건 원래 필요 없었다.)를 뽑아버리자!

오직 랜선과 전원선만 연결해놓으면 된다. 

나머지 모든 작업은 집 안이나 집 밖의 컴퓨터나 스마트폰을 이용해 전부 원격으로 가능하다.

앞의 글에서 개략적으로 네트워크에 대해 알아보았다. 부족한 설명은 차차 진행하면서 언급하겠다.


NAS 운영체제가 여럿 있다. 그중에서 가장 유명한건 역시 시놀로지 라고 할 수 있다. 하지만 비싸다. OS만 따로 살 수가 없고, 하드웨어를 같이 사야 한다. 

데비안 리눅스 기반의 open media vault (OMV)는 훌륭한 무료 NAS OS이다. 우분투 서버가 어렵다면 OMV를 추천한다.


왜 윈도우가 아니고 우분투를 쓰냐면 무료이기 때문이다. 그리고 네트워크 구축, 설정이 윈도우 보다 편하다. 안정적이고 훌륭한 네트워크 프로그램을 무료로 사용할 수 있다.

이것이 많은서버 개발자가 리눅스를 사용하는 이유이다. 


우분투 공식 홈페이지에 접속해서 다운로드 페이지로 들어간다.

https://www.ubuntu.com/

https://www.ubuntu.com/#download



우분투는 데스크탑 버전과, 서버 버전으로 나뉜다.

데스크탑 버전은 윈도, 맥과 같이 바탕화면이 있고 마우스로 조작한다. (그래픽 유저 인터페이스, GUI)

서버 버전은 도스와 같이 검은바탕에 흰글씨가 있고 키보드로 명령어를 입력해 조작한다. (커맨드라인 인터페이스, CLI)


NAS는 데스크탑버전이 아닌, 서버 버전으로 깔기를 강력히 추천드린다. 모니터가 필요없는데다 사양도 적게 먹는다. (설치할때는 모니터가 필요)


"뭐? 일일히 명령어로 NAS를 구축한다고?" 

맞다. 그렇게 할 것이다.


"난 명령어 모르는데? 그냥 데스크탑버전으로 마우스 조작하면 안되나?"

안타깝지만, 데스크탑 버전이라도 작업의 대부분은 명령어 입력이다.


여기서 확인할 부분이 있는데, 아래에 해당되는 경우라면 데스크탑 버전을 써야 한다.

TV에서 영상을 보고 싶은데, 영상을 재생할 셋탑박스나 티비박스(안드로이드TV, 애플TV)가 없고 스마트TV도 아닌 경우. 즉, NAS본체가 아니면 영상을 티비에서 재생할 수 없는 상황.

영상을 실행할 장치가 없으므로, 윈도우에서 하드에 저장된 영상 보듯이 우분투 데스크탑 환경에서 영상을 직접 실행해서 봐야 한다.


위 전부에 해당되지 않는 사람은 서버 버전을 사용한다. 예를 들어 티비박스는 없지만 스마트TV인 사람은 서버 버전을 사용하는게 낫다. 스마트TV, 티비박스는 NAS 안의 영상을 네트워크로 전송받아 재생할 수 있기 때문에 굳이 NAS와 TV를 HDMI케이블로 연결하지 않아도 재생할 수 있다.


하나 더 언급하자면, 우분투는 LTS 라는 특별한 버전이 있다. 이는 장기지원(Long Term Support)의 약자로서, 5년간 업데이트를 지원받는다. (10년으로 바뀐다는 이야기가 있다) LTS가 아닌 경우는 2년 지원이다.

현재(18년 12월) 우분투 홈페이지에 올라온 우분투 버전은 18.04(LTS)와 18.10이다. 위의 사진에서 확인 할 수 있다.

우분투 버전은 배포 년도와 월을 붙여 표현한다. 18.04(LTS)는 2018년 4월부터 배포했고, 장기지원 버전이다.


NAS로 쓴다면 최신의 LTS버전을 추천한다. 이 블로그에선 Ubuntu Server 18.10 으로 설명하겠다.


인터넷 주소의 형식은 예를들면 123.23.0.3:9876 이렇게 생겼다.


콜론(:)을 기준으로 왼쪽에 있는 숫자는 IP주소, 뒤에 있는 숫자는 포트번호이다.

IP주소는 0~255의 숫자가 4개 모여서 이루어지고, 포트번호는 0~65535중의 하나이다.


IP주소는 네트워크에 연결된 장치(컴퓨터,스마트폰,공유기,셋탑박스 등)의 주소를 말하는 것이고, 포트번호는 그 IP주소를 가진 장치의 어떤 프로그램과 통신할지를 결정한다.

예를 들어 123.23.0.3:9876로 파일을 전송한다면, 전 세계 네트워크에서 IP주소가 123.23.0.3인 컴퓨터를 찾고 나서, 9876포트번호를 사용하기로 약속된 프로그램으로 9876포트를 통해 파일을 업로드 하는 것이다.



1. 공인IP와 사설IP


앞의 글에서 192.168.0.1:9876(내부IP) 와 14.38.111.22:9876(외부IP) 로 공유기에 접속을 시도했는데, 192.168.... 의 주소는 스마트폰의 데이터를 이용할 때는 접속이 불가능하다. 반면, 14.38... 의 주소는 항상 접속이 가능하다. 이 차이를 이해하는 것이 중요하다.


위에서 IP주소는 0~255의 숫자값이 4개 모여서 만들어진다고 했다. 그러면 만들 수 있는 IP주소의 총 개수는 256x256x256x256 = 43억 개 정도이다.


여기에서 문제가 발생하는데, 이미 43억개의 IP주소는 거의 다(99.9%) 고갈되었다. 비어있는 IP가 없다는 뜻이다. 그런데 새로운 네트워크 장비는 계속 늘어나고, IP주소는 중복되면 안되는데 어떻게 해야하나?


그래서 사설IP(내부IP라고도 한다) 대역을 이용한다. 192.168...의 대역은 공인IP(외부IP라고도 한다)로 사용하지 않고 사설 네트워크에서 사용하도록 비워 놓았다.


원래 사설네크워크는 외부와 단절된 독립 네트워크를 말한다. 예를 들면 보안자료가 있어서 외부로 자료가 나가면 안되는 회사나 연구실, 군대 인트라넷이 있다.


하지만 우리가 흔히 접하는 사설IP는 바로 공유기를 사용하는 환경이다. 

요즘 공유기를 안쓰는 집이 있을까? 스마트폰세대 전만 하더라도 공유기는 뿔달린 요상한 기계 불과했다. 예전에는 PC가 인터넷에 접속하는 유일한 기계여서 랜선이 1개여도 충분했기에 굳이 공유기가 필요하지 않았다. 

허나 요즘은 컴퓨터, IPTV, 스마트폰 등 여러 네트워크 장비를 가정에서 사용하기 때문에 공유기는 가정집의 필수 물건이 되어버렸다. 그런데 공유기가 있어도 가정에 들어오는 랜선(외부IP 또는 공인IP)은 하나인데 어떻게 여러 장비들이 인터넷에 접속할 수 있을까?

그 이유는 공유기가 사설IP를 나눠주기 때문이다. 자신에게 물린 네트워크 장비에 순서대로 192.168.로 시작하는 사설IP를 부여한다. (일반적으로 192.168.0.1은 공유기 자신의 주소이기 때문에 192.168.0.2부터 192.168.0.3, 의 순서대로 부여한다.)

이 사설IP는 공유기 아래 내부 망에 속하기 때문에 때문에 이를 내부IP라고도 한다. 

사설IP는 공인IP와 다르게 겹칠 수 있다. (안 겹칠수가 없다. 공유기 대부분이 192.168.0.*의 주소를 부여하니까)

다만, 옆집의 PC와 내 PC의 사설IP가 같다고 해서 문제가 발생하지 않는다. 옆집과 내 집의 공유기는 다른 공인IP에 물려있기 때문이다. (하나의 공유기를 같이 쓰는 원룸의 경우는 이야기가 다르다)



2. 포트번호


우리가 흔히 쓰는 네X버, 다X, 구글 등의 주소 뒤에도 포트번호가 있다. 웹페이지를 보는 것도 데이터를 주고받는 과정이 필요하기 때문이다. 그런데 우리가 www.daum.net:80 처럼 포트번호를 안쓰는 이유는 인터넷(http)은 포트번호 80을 쓰는걸로 사전 약속이 되어있기에, 포트번호 80은 생략해도 브라우저에서 알아서 처리해주기 때문이다.

125.209.222.141:80 과 125.209.222.141:1234를 각각 접속하여 직접 확인해 보자. 80포트로는 접속이 되나, 1234포트로는 접속이 되지 않는다. 


IP주소로만 데이터를 보낼 수는 없을까? 굳이 포트번호를 알아야 하나? 라는 질문을 할 수가 있다. (내가 그랬다.)

결론부터 말하자면, 포트번호 없이는 사설IP에 데이터를 보낼 수가 없다.


예를 들어 내 공유기는 인터넷업체(KT,SK,LG등)에서 123.45.67.89 라는 공인IP를 받고, NAS는 공유기에서 192.168.0.10 이라는 사설IP주소를 받았다고 하자. 이제 집 밖에서 핸드폰에 저장된 음악 파일을 NAS로 전송하려고 한다. 

먼저, 음악파일을 보내려고 하나 보낼 수 없는 세 가지 경우를 살펴보자.

1. 123.45.67.89와 192.168.0.10 두 개를 입력하여 보낼수 있을까? 불가능하다. IP주소는 한 개만 입력 할 수 있다.

2. 123.45.67.89로 음악파일을 전송하면? 공유기 까지는 음악파일이 가는데, 음악파일을 공유기에 연결된 PC, 스마트폰, 셋탑박스, NAS 중에 누구한테 줘야할지 결정하지 못한다. 

3. 192.168.0.10로 전송한다면? 전송이 안된다. 192.168.0.10 라는 IP주소는 사설IP이기 때문에 공유기 안에서만 존재하는 주소이다. 게다가 192.168.0.*은 99.9% 겹치는 주소이다. 비유하자면 전국에 101동 101호가 여러 군데인 것과 같다.


정답은 IP주소 뒤에 포트번호를 붙인다. 이런 형태이다.

123.45.67.89:21

뒤의 21이 포트번호이다. 익숙한 분들은 뒤의 21만 보고도 알아챈다. 21번포트는 FTP라는 파일전송 서비스에서 주로 사용한다.

만일 SSH로 음악파일을 보낸다면 123.45.67.89:22 이다. 즉, 파일을 보낼 때 사용하는 서비스의 포트번호를 적으면 되는 것이다.


만일 집 안에 공유기 와이파이로 연결한 핸드폰에서 NAS로 음악파일을 보낸다 하면

192.168.10:21

로 하면 된다. 물론 123.45.67.89:21로 해도 되나, 공유기 밖으로 나갔다가 들어오게 되므로 속도에서 불리하다.


눈치챘을 수도 있지만, 내가 쓰고자 하는 서비스(프로그램) 수 만큼의 포트를 설정해야 한다.

포트설정은 공유기와 NAS 양쪽에서 해야 한다. NAS에서 '이 서비스는 XX번 포트를 쓰겠다' 라고 설정하고, 공유기에서 닫혀있던 XX번 포트를 열어줘야 데이터가 외부에서 내부로 자유롭게 들락날락 할 수가 있게 된다.






+ Recent posts