NAS & ODROID/OMV 3 NAS

오드로이드 XU4 + OMV 로 자작 NAS 구축하기 - 9. 포트포워딩 적용하기

awesometic 2017. 7. 24. 14:51
반응형

포트포워딩을 해주셔야만 카페 등 외부에서 오드로이드 NAS 로 접근하실 수 있습니다.

포트포워딩이 뭔지 잘 모르시는 분들은 아래 포스팅을 봐주세요.

2017/07/21 - [오드로이드 XU4] - 포트포워딩 이란?

적용해 봅시다.


* 오드로이드 NAS가 공유기를 거치지 않고 공인 IP를 바로 사용한다면 포트포워딩을 해주시지 않아도 좋습니다. 공인 IP로 바로 접근하실 수 있어요. 또는 공유기에서 공인 IP에 들어오는 정보들을 오드로이드 MAC 주소에 바로 쏴줄 수도 있습니다. Twin IP나, DMZ 기능도 있구요. 이럴 경우에도 포트포워딩이 필요하지 않습니다. 하지만 이럴 경우 포트포워딩은 이미 하실 줄 안다고 생각할 수 있기 때문에 오드로이드 NAS를 위한 포트포워딩 과정을 설명하도록 하겠습니다.




1. 공인(외부) IP 알아내기

포트포워딩 설명 포스팅에서 말씀드렸듯, 공인 IP를 알아내야 다른 장소에서도 집의 오드로이드 NAS에 접근할 수 있습니다. 공인 IP를 알아내는 사이트는 굉장히 많은데, 저희는

https://www.whatismyip.com/

여기로 들어가서 알아봅시다. 링크를 눌러 들어가시게 되면

이런 화면이 나와요. "Your IP Address Is: " 아래 모자이크 친 부분에 IP가 쓰여 있을 겁니다.



2. 공유기 설정 페이지 접속

공유기의 설정 페이지는 보통 게이트웨이 주소로 접근하실 수 있습니다.

게이트웨이는 어떤 공간이나 지역에 들어가기 위해 거쳐야만 하는 어떤 관문 같은 것이라 생각하시면 됩니다. 위키피디아의 예시에도 나와있듯, 비행기를 타고 해외 여행을 갈 때 꼭 들려야 하는 공항을 게이트웨이라 할 수 있다고 합니다.

보통 ipTIME 공유기라면 웹 브라우저 주소창에 192.168.0.1 라고 입력하시면 됩니다.

만약 안 된다면 아래 표를 참고해주시고,

출처: http://brand-me.tistory.com/195

그래도 모르시겠다면 출처에서 cmd 를 통해 게이트웨이 주소를 알아내는 것을 따라해보시길 바랍니다.

공유기 설정 페이지에 접속하시면, ipTIME의 경우

이런 삭막한 화면이 뜹니다. 암호와 보안문자 입력 후 "관리도구" 아이콘 클릭, 마지막으로 "고급 설정"에서 포트포워딩 관련 메뉴로 찾아갑시다.

여기서 규칙을 추가해주시면 됩니다.



3. 포트포워딩 적용

이전에 설명 드렸듯, 포트포워딩은 규칙입니다. 이런 포트로 누가 접근하면, 여기로 넘겨줘라. 이게 끝입니다.

이런 식으로 적어줍시다. 내부 IP주소는 목적지 IP 주소라고 보시면 됩니다. 제 오드로이드는 192.168.50.10 이니까 이렇게 적었습니다. 그리고 웹 접근을 위한 약속된 외부 포트가 80번이니 그대로 내부 포트 80으로 보내줍시다.

지금까지 설정한 NAS 기능들을 나열해보면, 

서비스 (포트번호)

FTP (21)
SSH (22)
Web (80)
Seafile (8000, 8021)
Plex (32400)
Transmission (9091)

등등이 있겠네요. Samba는 내부 네트워크 전용 기능이라 외부에서 사용하실 수 없습니다. VPN을 사용하면 가능하긴 하지만 여기선 다루지 않겠습니다. 

위의 6개 서비스가 있다면,

이런 식으로 될 수 있겠습니다. Seafile이 포트 2개를 사용하기 때문에 나열된 6개보다 한 개가 더 많습니다.

참고로 SSH의 경우 22번 그대로 쓰시게 되면 보안상 위험할 수 있습니다. 외부 포트로 특별히 다른 포트(1024 이상의)를 지정해주신 뒤 내부 포트 22로 돌리시면 됩니다.

마지막으로,

오른쪽 위의 "저장" 버튼을 눌러줍시다.



4. 적용 및 테스트

이제 외부 IP를 통해서 오드로이드 NAS에 접근하실 수 있습니다. 지금까지 사용하던 오드로이드 NAS의 가짜 아이피(192.168.x.x) 대신 외부 IP를 넣어주시면 됩니다. Plex도 가능해졌어요. 하나씩 설정해봅시다. Web(OMV 관리자 페이지)과 SSH는 제외했습니다.

1) FTP (안드로이드)

ES 파일 탐색기 앱에서 네트워크 - FTP 메뉴로 들어갑니다.

이전에 설정해 둔 FTP 폴더가 있습니다. 길게 누르고 있으면,

이렇게 "스캔" 버튼 아래에 메뉴가 생깁니다. "서버 편집" 메뉴를 누릅니다.

그리고 이렇게 서버 란을 외부 IP(예시, 100.100.100.100)로 바꿔주심 됩니다.


2) Seafile (안드로이드)

Seafile은 웹 클라이언트와 안드로이드 클라이언트 모두 바꿔주셔야 합니다.

먼저 웹부터 바꿔봅시다. Seafile 에 웹으로 접속해봅니다. 

그리고 위의 스크린샷처럼 사용자 프로필을 누르면 "시스템 관리자" 메뉴가 있습니다. 들어가 "설정" 메뉴로 갑니다.

여기서 "SERVICE_URL" 과 "FILE_SERVER_ROOT"의 IP 주소를 외부 IP로 바꿔주시면 됩니다.

수정하실 때 오른쪽에 생기는 V 표시를 꼭 눌러주세요. 그리고 꼭 실수 없이 적어주셔야 합니다.

// 웹을 통한 주소 변경 테스트 필요

이제 안드로이드 앱에서 설정해봅시다. 앱을 열으신 후 오른쪽 위의 메뉴 버튼을 누르면,

이렇게 "설정" 메뉴가 있습니다. 들어가신 다음 "로그아웃" 옵션을 눌러 로그아웃해줍니다. 그러면,

처음 Seafile 앱을 켰을 때처럼 서버와 계정을 설정해주실 수 있습니다. "계정 추가"를 누르신 뒤,

이렇게 외부 IP 주소와 포트 번호를 적어주시고 로그인하시면 됩니다.


3) Plex

Plex는 웹 클라이언트에서 외부 연결 설정만 해주시면 됩니다. 아주 간단합니다.

Plex 웹 클라이언트로 접속해 서버 설정에서 "원격 접속" 메뉴로 가봅시다.

스크린샷처럼 아래에 "공개 포트 수동 설정"을 체크해주시고, 32400 을 넣으신 뒤 "재시도" 버튼을 눌러보세요. 전 이미 사용하는 오드로이드 NAS가 따로 돌고 있기 때문에 스크린샷에선 이용 불가라고 뜨지만,

잘 설정될 경우 "외부에서 완전히 접근 가능" 메시지가 나타납니다. 이렇게 되면, 드디어 안드로이드 앱에 로그인해 외부에서 원격으로 보실 수 있습니다.


4) Transmission (안드로이드)

Transmission 앱에서 왼쪽 벽을 오른쪽으로 밀어 Navigation Drawer를 열면,

아래에 "설정" 메뉴가 있습니다. 눌러봅시다.

"서버" 메뉴가 있네요. 얘로 들어가면,

이렇게 설정해둔 Transmission 웹 클라이언트 서버 목록들이 뜹니다. 눌러서 들어가게 되면,

서버 주소를 바꿀 수 있게 됩니다. 외부 IP를 넣으시면 됩니다.



* 포트포워딩을 한다는 것 자체가 공유기 나름의 방화벽 기능입니다. 포트포워딩을 하지 않으면 내부 네트워크의 어떤 호스트(장치)에도 접근할 수가 없습니다. 그리고 SSH 외부 포트를 다르게 지정하는 것도, SSH 접근을 어렵게 하기 위한 기능이 됩니다.

* 인터넷 TV 등의 이유로 공인 IP를 받은 공유기와 오드로이드가 연결된 공유기가 서로 다르다면, 두(또는 그 이상) 공유기 모두 포트포워딩 설정을 하셔서 오드로이드 NAS로 길을 뚫으셔야 합니다. 이 경우 공유기 설정 페이지 주소(게이트웨이 주소)가 다를 수 있으니 직접 알아보셔야 합니다. 

* 만약 도메인을 사용하시게 되면, 도메인과 서브 도메인을 통해 각 서비스에 접근하실 수 있습니다. 예를 들어, example.com 이란 도메인을 얻으셨을 때, OMV 관리자 페이지는 omv.example.com, Transmission은 transmission.example.com 등으로 접근이 가능합니다. 따라서 포트포워딩도 80번 하나로 줄여질 수 있습니다. 이 작업에 대해선 추후 도메인 관련 포스팅에서 다루도록 하겠습니다.

반응형