본 주제를 다루기 전에 복습할 것이 있다. 예전에 설정했던 공인,사설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번 포트를 열어줘야 데이터가 외부에서 내부로 자유롭게 들락날락 할 수가 있게 된다.






DNS, 외부IP, 내부IP에 대해 안다면 이 글은 패스해도 좋다.

IP에 대한 기본적인 개념과 외부에서 NAS로 접속가능하기 위해 공유기 설정 변경 정도만 다룰 것이다.


먼저, 아래 숫자들을 점 포함해서 웹브라우저 주소창에 붙여넣고 엔터를 눌러보자

125.209.222.141


이럴수가? 아주 익숙한 뭔가가 뜬다. 그렇다. 125.209.222.141가 네이X의 실제 주소이고, 이를 IP주소라 한다. 

그리고 125.209.222.141와 같이 숫자로 되어있는 것보다 www.na***.com 이 편리하므로

125.209.222.141과 www.na***.com를 연결해주는 서비스를 DNS(Domain Name System)라 한다.


인터넷상에서 접속하는 모든 네트워크 장치는 IP주소를 가지고 있다. 주소 없이 찾아갈 수가 없으니까!


이제 NAS에 접속할 수 있도록 공유기의 IP주소를 확인하고, 외부에서 접속 가능하도록 설정을 해보자.

필자는 IPTIME 공유기로 설명을 하겠다. 



윈도우 시작메뉴에서 cmd를 찾아서 실행한다. cmd라고 입력하면 바로 뜰 것이다.



ipconfig 입력 후 엔터 (앞으로 엔터를 생략하겠다)



하단의 빨간네모 두 개가 보인다.

첫번째는 현재 작업중인(cmd를 실행시킨) 데스크탑PC이고, 

그 아래 기본 게이트웨이의 IP주소가 공유기의 주소이다. 내 공유기 주소는 192.168.0.1 이다. 

빨간네모 박스의 IP는 개인 공유기 설정에 따라 조금씩 다를 수 있다.

192.168.***.*** 형태의 주소는 내부IP 또는 사설IP라 하는데, 공유기에서 나눠주는 주소이다.

자세한건 다음 글에서 다루기로 한다.

공유기에 접속하기 위해 자신의 게이트웨이 주소를(내경우는 192.168.0.1) 웹브라우저로 연다.(주소창에 넣고 엔터)



첫 메인화면에서, 빨간네모의 IP를 외워야 한다. 비유하면 내 집 주소이다. (내 경우는 14.38.*.*)

외부에서 공유기로, NAS로 들어오는 외부IP주소가 되겠다. 관리도구를 눌러 설정으로 이동한다.


여기서 매우 중요한 부분이 있다! 빨간네모가 192... (사설IP주소)의 형태이면 절대 안된다!

외부IP주소가 있어야 할 부분에 사설IP주소가 있게 되면 외부에서 접속이 불가능하다. 

집 안에서만 데이터가 오고가는건 가능하나,  이는 굉장한 제약이므로 정상적인 사용이라고 볼 수 없다.

보통 공유기 두 개를 연달아 설치하거나 모뎀이나 기가랜 증폭기를 다는 경우일텐데

외부IP가 떠야 할 곳에 192... 의 형태로 뜬다면 브릿지모드, DMZ설정 등으로 검색해서 해결하기 바란다.



여기서도 외부IP 주소를 확인 할 수 있다. (보안때문에 모자이크 처리)

맨 아래 빨간 네모는 외부에서 공유기에 접속할 때의 포트번호 인데, 기본설정은 80이다. 보안을 위해 변경을 꼭 해야 한다. 

조금 뒤에 바꿔보도록 하고 일단 넘어가자.



공유기에 아이디와 비밀번호를 만들어 로그인 형태로 접속하게 만든다.

앞으로는 외부에서 접속 가능하게 되므로(이래야만 NAS를 쓸 수 있다) 공유기를 방어하려면 필히 설정하자. 



위에서 언급했던, 공유기에 접속하기 위한 포트번호를 변경 할 수 있는 설정이다. 

포트번호는 0 ~ 65535의 범위를 갖는 숫자인데, 0~999는 이미 쓰임이 정해져있는 경우가 많다.

따라서 1000~65535 사이에서 하나 고르기 바란다.  외부IP주소처럼 외워야 한다. 포트번호는 다음 글에서 자세히 설명하겠다.

일단 여기까지 오면 NAS를 쓰기 위한 공유기의 기본 설정은 완성이다. 



이 부분은 생략 가능하다.

IPTIME 제품에서는 숫자로 된 외부IP를 영어(+숫자)로 된 주소로 연결해주는 DDNS 설정을 할 수 있다.

주소의 형태는 qwe123.iptime.org 이다. qwe123부분은 다른 사용자가 선점하지 않은 한 자유롭게 변경 가능하다.


지금까지의 내 설정이 다음과 같다 가정하자.

기본 게이트웨이 : 192.168.0.1

외부IP주소 : 14.38.111.22

공유기 관리 포트 번호 : 9876

DDNS : qwe123.iptime.org


그러면 공유기로 접속 할 수 있는 주소는 세 가지가 가능한데 형식은 다음과 같다.


192.168.0.1:9876

14.38.111.22:9876

qwe123.iptime.org:9876

(공유기IP주소 또는 외부IP주소 또는 DNS주소 뒤에 : 를 붙이고 포트번호를 붙인다.)


이제 접속 테스트를 해 보자. 


WIFI에 연결한  스마트폰(또는 PC)으로 위의 세 주소를 각각 브라우저로 열어본다.

세 주소가 전부 접속 가능해서 공유기 설정창이 나온다면 성공이다.


WIFI를 끄고 데이터로 연결한 스마트폰으로 위의 세 주소를 각각 브라우저로 열어본다.

두번째, 세번째 주소만 접속 가능하면 성공이다.


이 테스트가 무사히 되어야만 NAS를 운용할 네트워크 환경이라고 할 수 있다.

처음에 NAS (network access storag : 네트워크 저장장치)가 무엇인지도 몰랐다. 


영화를 폰으로 보려면 매번 데스크탑에서 핸드폰으로 옮겨야 하고,

핸드폰은 사진과 음악, 동영상이 쌓여가면서 저장 용량은 부족하다고 난리다.

패드까지 쓴다면 여기에도 영상과 음악을 옮겨야 하고...


이런 점을 누군가에게 하소연하니 "그럼 NAS를 사봐" 라고 하였다.


NAS란? 개인용 클라우드를 구축하는 것이다.

쉽게말해 구x 드라이브, x글포토, 멜x같은 음악스트리밍을 개인적으로 만드는 것!


자, 그럼 제목에 대한 답을 할 차례다. NAS로 무엇을 할 수 있는가?

1. 네트워크 드라이브 (윈도우, 맥, 아이폰, 안드로이드 가리지 않음)

2. 음악 스트리밍

3. 동영상 스트리밍

4. 토렌트 다운로드

5. 사진 관리

6. tv 보기


그 외에도 유투브 다운로드, 메일 서버, 홈페이지 구축 등등...


어머? 이건 꼭 사야해! 그래, NAS를 사보는 거다!! 

그런데 가격이... 조립PC에 비해 사양도 안좋은데 비싸다!

물론 사용자 층이 적고, OS가격도 있으니 당연한 것이다!

이걸 직접 만들어 볼 수 있지 않을까?


필자는 네트워크 지식이라면 공유기 와이파이 비번 변경 할줄 아는게 다였고,

리눅스는 뭐임? 윈도우 말고 또다른 OS가 있어? 의 수준이었음에도

자작나스를 구축하였으므로 컴퓨터에 대해 조금의 관심이 있는 사람이라면 충분히 해볼 수 있을 것이다.


이 카테고리에선 다음을 목표로 삼아 개인용 NAS를 만들 수 있도록 소개한다.


1. 네트워크, 리눅스에 대한 지식 없어도 이 글을 보고 따라 할 수 있을 것!

어디서 부터 시작해야 할지, 검색해도 정보가 많지 않아서 막막했는데 이와 같은 분들에게 도움이 되고자 한다.


2. 헤놀로지(시놀로지의 해킹?버전)를 사용하지 않고 우분투(리눅스)를 사용한다.

헤놀로지를 잠깐 사용해본 바, 시놀로지가 단연 으뜸이다. 자작나스보다 기능도 많고 쉽다.

하지만 헤놀로지는 불안정하고 시놀로지는 비싸다. 

훨씬 낮은 가격으로 몇배는 좋은 자작나스를 만들어 보자.


3. 우분투를 이용하여 최대한 경제적으로 제작! 여분의 PC가 있다면 0원!

남는 컴퓨터나 노트북이 있다면 바로 제작 가능!

없다면 데스크탑에서 가상화를 사용해 시범적으로 운용할 수 있다.

자작나스를 만들고 어느정도 운용하다보면 내가 만들고자 하는 방향이 보일 것이다. (고사양이 필요한지, 저전력이 필요한지, 많은 하드 베이가 필요한지) 그 때에 시스템을 본격적으로 구축하기를 추천한다.



배워야 할 게 많고 만드는데 오랜 시간이 걸릴 것이다.

하지만 고생끝에 낙이 온다고, 완성했을때의 성취감을 기대하며 포기하지 말자!



+ Recent posts