[NAS] 가심비 영화관 제작기

이전 개발 사이트에 있던 백업본 입니다. 
C/S 개발자로  Web 에 대한 개념이 부족하던 시절 'http', '포트 포워딩' 에 대한 개념을 다지게 된 프로젝트였습니다. 


1. 가심비 영화관 제작 이유.

서울에서 수원까지 출퇴근을 1년 가까이 생활하고 나니, 항상 잠이 부족하고, 동시에 출퇴근하는데 걸리는 시간이 아까워, 자취생활을 시작한 것이 돌이켜 보면 가장 큰 이유였던 것 같다.

인생 첫 자취를 시작하면서 개인적인 로망이 방안에 빔프로젝터를 이용해 맥주 한잔과 같이 하루를 마무리하는 것이고, NAS 구축으로 구현하였다.



2. 제작 중 어려웠던 점 

사실 NAS 를 구축하는 것 자체는, 국내 많은 블로그 게시글도 많고,  대학시절 임베디드 한 길만 파던 내게 라즈베리파이는 친숙한 존재여서 그런지 어렵지 않았다.

오히려 가장 발목을 잡았던 부분은, 바로 '포트 포워딩' 이였다.

내 자취방이 서울집처럼 공인 IP가 할당되는 구조가 아닌, 집주인 공유기를 통해 각 방안에 인터넷을 구동하고 있는 형태여서,  2중 포트 포워딩을 했어야 했다.

거기다 IPTV 에 구형 LG 모뎀을 통해서 서비스 하는 구조에서는, 모뎀이 자주 꺼지기도 하고, Web 에 대한 개념도 부족할 때라 고생이 여간 아녔다. 



포트포워딩 세팅법

라즈베리파이 프로젝트 때 유용하게 썻던 매우 오래된 iptime.


대학시절 유용하게 사용하던 iptime 으로 모델은 'iptime N2E' 이다




한번 세팅을 해보려고 공유기를 노트북이랑 연결 후, 192.168.0.1 에 접속하니 위와 같은 화면이 나타난다. 무료 펌웨어 버전도 8.38... 최신버전이 10.68 인 것을 보니 세월이 많이 흐른 것 같아.

(하는 김에 펌웨어 업그레이드도 완료)


관리도구에 들어가면 아래와 같은 화면이 뜬다.


"WAN 포트 연결안됨"

그렇다 WAN 포트를 연결해야 실질적인 Internet 사용이 가능하다.

왜 그런거지?


  • "원룸에 따라 입주자에게 공인 IP 가 할당되는 경우도 있지만 대체로 공유기를 연결하여 각 방에 이터넷을 공급하는 형태를 띕니다' 
  • 그래서 입주자가 개별 공유기를 설치하려 할때, 원룸의 공유기와 네트워크가 동일하여 장애가 발생하는 것 입니다! 



아 그렇군...

네트워크를 살펴와야 겠다.


위 그림과 같이 현재 내부 네트워크 정보는 192.168.0.1 이다

네트워크는 IP 가 뭉친 덩어리로 동적 IP 할당 범위처럼 192.168.0.2 ~ 192.168.0.253 까지 IP 는 192.168.0.1  이라는 네트워크에 포함된다. 


공유기의 내부 네트워크 충돌은, 메인 공유기가 192.168.0.1 을 사용하고 있는데 추가한 내 공유기도 192.168.0.1 인 경우 


WAN : 192.168.0.1

LAN : 192.168.0.1 


이 되어 버린다. 즉 WAN 과 LAN 이 같게 되면서 장애가 발생하게 되었던 것이다. 


그래서 어떻게 해결하지?

2개 의 공유기 중 하나의 내부 네트워크를 변경해 준다. 


1) 메인 공유기의 기본 게이트웨이 값을 확인한다. 

역시 집주인 공유기에 설정된 게이트웨이 값이 192.168.0.1 이었다. 


2) 추가한 내 공유기의 게이트웨이를 바꿔준다.


이렇게 내부 IP 주소를 변경해 줌으로서 해결 할 수 있었다. 


3.  NAS 구성도

NAS 라 적고 , 개인 Netflix 라 불렀다.





DLNA


 DLNA 의 한 종류로 Minidlna 를 사용해서 미디어 서버를 구축하였고, 스마트폰에는 'BubbleUPNP' 라는 앱을 사용해, Wifi 환경 내에서 스트리밍이 가능하도록 구성했다. 


라즈베리파이 DLNA(minidlna) 미디어 서버 구축 법.


1. minidlna 설치

sudo apt-get install minidlna 


2. Process 동작 확인

ps -ef | grep dlna


3. minidlna.conf 설정파일 수정

sudo vim /etc/minidlna.conf# media_dir=/var/lib/minidlna
media_dir=A,/home/pi/HDD/Torrent
media_dir=P,/home/pi/HDD/Torrent
media_dir=V,/home/pi/HDD/Torrent
# Path to the directory that should hold the database and album art cache.
db_dir=/var/lib/minidlna


4. 해당 이용 폴더 권한 넣어주기

sudo chmod -R 777 HDD/ 


5. minidlna 서비스 재시작

sudo service minidlna restart
sudo service minidlna force-reload


6. 스마트폰 연결 앱으로 DLNA 서버 연동



XRDP, Shellinabox


 영상을 시청하거나, NAS 로서 파일을 저장하기 위해, FileZira 도 많이 활용하지만, 웹에서 쉽게 접근이 가능하도록 원격 프로토콜 서버를 설치하여 서비스했다.


xrdp 는 Remote Desktop Protocol (RDP) Server 이다 


설치

sudo apt-get install tightvncserver
sudo apt-get install xrdp


Raspbian 에 tightvncserver 설치 없이 xrdp 만 설치한다면 아래의 에러가 발생한다.

sesman connect ok
sending login info to session manager, please wait...
xrdp_mm_process_login_response: login successful for display...
started connecting
connecting to 127.0.0.1 5910
error – problem connecting


기본적으로 설치되어 있는 realvnc server 와 충돌이 나는 듯 하다. 이때는 xrdp 를 지우고 tightvncserver 와 같이 설치해야 한다

sudo apt-get remove xrdp
sudo apt-get install tightvncserver
sudo apt-get install xrdp



Tansmission


비트토렌트 서버를 구축해서, '필요한 파일을 토렌트 내에서 걸어 놓으면, 데이터 걱정없이 24 시간 다운 받도록 서비스 했다.



4. 후기 

자취 시작 후 야심 차게 기획해서, 신형 공유기, 라즈베리파이4, 빔프로젝터, 삼각대, 외장 하드 등 비용이 꽤 들었지만, 만족스러운 퀄리티와 함께 나만의 N드라이브를 구축한 느낌이라 얻어간 것도 많았다. 

10GB 넘는 고용량 영상 파일도 끊김 없이 송출되고, 파일 전송도 10Mbps 이상의 속도를 제공한다.

그러나 막상 구축을 끝낼 즈음 반강제로 친구랑 Netflix 를 사용하게 되어,  NAS 로만 주로 사용하게 된 것이 흠이라면 흠인 듯하다..