Dropbox나 Onedrive등 상용 클라우드 서비스의 가장 편리한 기능은 역시 "내 컴퓨터에 있는 하드디스크처럼 자유롭게 연결할 수 있는 네트워크 드라이브"입니다.

하지만 내가 원하는대로 용량을 증설하기에는 가격 부담이 만만치 않고, Dropbox와 아주 유사하게 동작하는 클라우드 서버를 직접 구축하려면 준비하고 공부해야 할 사항이 많습니다. 클라우드 전용 OS는 대부분 Unix/Linux 기반이기 때문에 해당 OS가 익숙하지 않다면 시작부터 어렵고 고정IP 사용이나 서버로 사용할 컴퓨터 구입 등에 사용되는 비용 역시 Dropbox/Onedrive 구독 요금 못지 않구요.

일부 NAS 제품군에서는 외부 접속을 지원하기 때문에 이를 이용하는 방법도 있으나, 이 역시 NAS를 이미 보유하고 있지 않다면 비용 지출이 상당합니다.

 

가장 저렴하게 (동기화나 안정적인 연결을 비교적 타협한다면) 네트워크 드라이브 기능을 쓰려고 한다면, Iptime을 비롯한 일부 공유기에서 지원하는 USB 포트에 연결된 외장하드나 저장장치에 SMB 공유 기능을 사용하는 것이 합리적입니다.

SMB(Samba, 또는 CIFS)는 윈도우 기반 OS에서 사용되는 네트워크 드라이브 프로토콜입니다. 리눅스에서 주로 사용되는 NFS와 유사합니다.

SMB로 마운트하거나 폴더를 열면 윈도우 환경에서 마치 일반 이동식 드라이브와 같이 파일에 접근할 수 있습니다. 복사/붙여넣기/드래그앤 드랍/미디어파일 재생 등 네트워크 속도만 충분하다면 전부 가능합니다.

하지만 SMB가 가진 가장 큰 단점은 "내부 네트워크 전용" 으로 설계되었다는 점입니다. 즉 (일반 가정집 세팅과 같이) WAN 선을 받아서 공유기에 연결해 LAN으로 1~2대의 PC와 WIFI로 3~4대의 스마트기기가 연결되어 있다면 이 공유기에 연결된 기기밖에는 사용할 수 없습니다.

 

이는 역시 Iptime 등 일부 공유기에서 제공되는 VPN(가상 사설망) 기능을 이용하면 됩니다. 이는 외부에서 공유기에서 구동되는 VPN 서버에 로그인했을 때, 마치 이 외부 접속자가 "내부 네트워크"에 있는 것으로 인식하게 해 주는 기능입니다. 즉 SMB 드라이브 등 내부 네트워크 전용 기능을 외부에서 사용할 수 있습니다.

 

Iptime 공유기 제품군들은 DDNS 기능으로 간단한 외부접속 기능을 제공하기 때문에 이를 VPN 주소로 설정하고 PPTP 프로토콜 암호화 방식으로 로그인할 수 있습니다.

 

 

그럼 순서대로 설명드리겠습니다. 모든 설명은 DDNS+VPN 기능, 그리고 USB 포트와 SAMBA 기능을 지원하는 Iptime 공유기 기준으로 작성되었습니다.

 

 

1. SMB 서버 설정

먼저 공유기의 USB 포트에 외장하드 또는 USB 드라이브를 연결해준 뒤, 공유기의 관리 메뉴로 접속합니다. (기본값 192.168.0.1)

 

정상적으로 인식되었다면 "고급 설정->USB/서비스 관리->장치 관리" 메뉴에서 위와 같이 "/HDD1" 과 같은 표시가 뜹니다.

 

 

다음으로 "고급 설정->USB/서비스 관리->서비스 설정"에서 "윈도우 파일공유 서비스"를 실행하고 적용해줍니다.

SMB 사용자도 추가하고 암호를 지정해줍니다. 이 ID와 암호가 SMB 서버에 접속하기 위한 ID와 비밀번호가 됩니다.

서버 이름은 원하는대로 바꾸셔도 좋고, 작업 그룹은 공유기에 직접 연결된 컴퓨터가 소속된 그룹으로 설정해줍니다. (기본값이므로 건드리지 않아도 됩니다.)

주의해야 할 점은 현재 윈도우10에서는 SMBv1은 잘 마운트가 되지 않으며, 안드로이드 등 스마트기기의 앱들은 SMBv2 이상을 지원하지 않는 경우가 많습니다. 이는 표기한대로 SMB1+SMB2 설정을 하면 해결됩니다.

 

SMB 서버 작동 확인 - PC

외부 네트워크에서 연결하는 작업을 거치기 전, 우선 내부 네트워크에서 네트워크 드라이브가 작동하는 것을 확인합니다.

공유기가 연결된 컴퓨터에서 "시작"을 누른 후, "\\(SMB 서버 이름)" 또는 "\\(공유기 접속 ip), 기본값 \\192.168.0.1" 을 눌러줍니다.

(윈도우 10 기준 예시 그림)

정상적으로 설정되었다면 이전에 설정한 SMB 서버의 아이디와 비밀번호를 묻는 창이 뜹니다. 아이디와 비밀번호를 입력했다면 윈도우 기본 탐색기 창에서 "HDD1" 등의 이름을 가진 폴더가 뜨는 것을 확인할 수 있습니다.

만약 SMB 드라이브를 항상 Z:\ 등으로 마운트하고 싶다면, 탐색기를 열어 "네트워크 드라이브 연결"을 누르고 아래와 같이 설정해 줍니다. (메뉴가 보이지 않는 경우 오른쪽 위 리본 메뉴 감추기 버튼을 다시 눌러주세요)

서버 주소에는 \\192.168.0.1과 같은 공유기 접속 주소, 또는 \\ipsmb와 같은 따로 할당한 SMB 서버 주소가 들어가며 disk 이름에는 HDD1과 같이 공유기에서 인식한 디스크 이름이 들어갑니다. 즉 "\\ipsmb\HDD1" 또는 "\\192.168.0.1\ipsmb" 와 같이 입력해줍니다.

암호화를 선택했으므로 "다른 자격 증명을 사용하여 연결"도 체크해줍니다. "마침"을 누르면 역시 SMB 아이디와 비밀번호를 묻는 창이 뜨고, 입력이 완료되면 다음과 같은 그림이 나오고 마치 외장하드와 같은 인터페이스로 연결됩니다.

정상적으로 연결되었다면 해당 네트워크 드라이브에서도 파일 읽기, 쓰기, 드래그 앤 드롭 등의 기능을 모두 사용할 수 있습니다.

 

SMB 서버 작동 확인 - 안드로이드

안드로이드 스마트기기에서도 내부 WIFI네트워크 , 즉 유무선공유기에 연결했을 때 SMB가 작동하는지 확인합니다. VLC, KMPlayer 등의 미디어 재생 앱에서 SMB를 지원합니다.

앱에 따라 차이가 있지만, 보통 "로컬 네트워크"나 "네트워크 주소 열기" 등의 이름으로 되어 있습니다.

프로토콜은 SMB를 선택해주고, SMB 서버 아이디와 비밀번호를 입력 후 파일이 보이는 것을 확인합니다.

내부 네트워크에 연결시 VLC 미디어 플레이어에서 SMB 드라이브를 확인하는 모습입니다.

2. DDNS 설정

여기서부터는 외부 네트워크에서 "내 공유기"에 접속하기 위한 과정과, "내 공유기의 내부 네트워크"에 접속하기 위한 과정입니다.

고정 IP를 공유기에 할당받아 사용중이시라면 그 IP를 주소로 사용하시면 되지만, 대부분 인터넷 업체에 가입하면 유동 IP를 할당받게 되므로 (잘 바뀌지는 않지만) 확실하게 연결하려면 DDNS를 할당받는 것이 좋습니다.

Iptime은 회사에서 자체적으로 "xxxx.iptime.org" 라는 도메인을 전부 구입하여 Iptime 공유기 사용자라면 1개의 주소를 무료로 제공하고 있습니다.

공유기설정->특수기능->DDNS 설정 으로 들어갑니다.

 

 

여기서 자신이 원하는 호스트 이름과, 사용할 이메일 주소를 등록합니다.

DDNS 계정 분실시 가입한 이메일로 복구되므로 자주 사용하는 것으로 등록하기를 추천드립니다.

등록이 완료되면 "(본인이 지정한 id).iptime.org"가 네트워크상에서 "내 공유기"를 찾는 주소가 됩니다.

 

추가로 DDNS 설정을 완료했다면 "고급 설정->보안 기능->공유기 접속/보안 관리" 메뉴에서 관리 포트를 지정하여 외부 네트워크에서도  "(본인이 지정한 id).iptime.org:(본인이 지정한 포트)"를 통해 공유기 관리 페이지를 띄울 수 있습니다.

 

3. VPN 서버 설정

 

 

PPTP 프로토콜/또는 L2TP 프로토콜을 선택할 수 있습니다.

아이폰이나 아이패드 등 iOS 기기는 최신버전 기준으로 PPTP 지원이 중단되어 L2TP를 이용해야 합니다.

VPN 서버를 가동하고 본인이 원하는 계정과 암호를 추가해줍니다. 이 계정명과 암호가 "VPN 서버" 에 접속할 아이디와 비밀번호가 됩니다.

이 글에서 설명하는 용도는 아니지만, 이렇게 만들어 놓은 VPN 서버는 중국 등 해외에 잠시 나가 있을 때 국내 네트워크를 사용하는 용도로도 쓸 수 있습니다.

 

VPN 연결 - PC

윈도우 10 빌드 1803 기준으로 VPN 관련 설정이 새로운 UI를 가진 설정메뉴로 이동되었습니다.

 

시작 버튼을 눌러 나오는 설정 메뉴로 들어간 뒤, "네트워크 및 인터넷"으로 들어갑니다.

 

 

VPN 탭 선택 후, VPN 연결을 추가해줍니다.

 

 

서버 주소는 이전 단계에서 설정한 DDNS 주소, (xxxx.iptime.org 등) VPN 종류는 이전 단계에서 설정한 프로토콜을 선택한 후 사용자 아이디와 암호를 입력해줍니다.

VPN 설정이 완료되면 작업 표시줄의 네트워크 버튼에도 "VPN 연결/해제" 버튼이 등록되어 쉽게 연결을 하거나 해제할 수 있습니다.

 

VPN 연결 - 안드로이드

"설정->연결->기타 연결 설정->VPN 설정->VPN 프로필 추가" 버튼을 눌러 PC에서 VPN에 연결한 것과 마찬가지 과정을 거쳐 VPN 프로필을 추가하고 연결할 수 있습니다.

 

4. (선택사항) 공유기 내부 IP 변경

VPN 연결된 상태, 즉 "공유기가 제공하는 사설망"에 연결된 상태에서는 "내부 네트워크"가 "내가 VPN 서버를 실행하는 공유기의 내부 네트워크"로 지정됩니다.

만약 공유기의 접속 ip가 동일하다면 SMB등을 사용시 충돌이 일어날 가능성이 있으므로 접속 ip를 기본값인 192.168.0.1에서 다른 것으로 변경하는 것이 좋습니다.

 

위 그림에서 보는 것과 같이 "고급 설정->네트워크 관리->내부 네트워크 설정"에서 내부 ip주소를 바꿔줍니다.

주의할 점은 이 IP주소를 변경하면 공유기 접속 ip도 함께 변경됩니다. SMB 연결 또한 재시작하므로 다시 바꾸어야 하는 경우가 있습니다.

 

5. 설정 완료

설정이 끝나고 VPN에 연결하고 나면, 외부 네트워크에서도 마치 "내 공유기"에 연결된것과 같이 SMB 디스크와 같은 내부 자료에 접근할 수 있습니다.

Dropbox나 Onedrive, 또는 상용 NAS 수준으로 편리하지는 않지만, 그래도 비용을 최소한으로 들이면서 어디서든 접근 가능한 나만의 서버가 생긴 것이나 마찬가지이므로 가격 대비 편의성은 상당히 높다고 할 수 있겠습니다.

다만, 편의성이 높아진 만큼 보안적으로는 취약해지므로 주기적으로 공유기 관리 메뉴에서 트래픽이 어디서 발생했으며 누가 SMB 드라이브를 사용했는지를 체크하는 것이 좋습니다.

또한 A3004NS 시리즈와 같이 USB 3.0을 지원하는 모델에 USB 3.0을 지원하는 외장하드를 장착하는 경우, 시스템 관리->기타 설정 메뉴에서 USB 모드를 2.0에서 3.0으로 변경해주어야 합니다. 기본 설정은 USB 2.0입니다.

 

 

2019.04.18 추가

 

Iptime A3004NS-M 제품에서 WD 사의 8TB 이상 고용량 외장하드를 사용시, 일정 시간이 지난 후 공유기가 다운되는 문제가 있습니다. (공유기를 재부팅해야만 다시 사용 가능)

 

이는 호환성 문제로 보이며, 장차 펌웨어 업그레이드로 해결할 가능성이 있다고는 하지만 빠른 시일 내에 해결되기는 어려워 보입니다.

간이 NAS 구축을 위해 해당 공유기와 외장하드 조합을 생각하고 계신다면 A6004NS-M 등 문제가 없는 것으로 알려진 상위 모델을 사용하시거나 저용량 외장하드를 사용하시는 것이 좋을 것 같습니다.

 

2019.04.21 추가

 

4.18 추가분에서 작성한 "고용량 외장하드 사용시 먹통이 되는 문제"가 Iptime A6004NS-M에서도 나타나는 것을 확인했습니다. 저는 WD Elements 8TB 제품을 사용하고 있습니다.

증세는 다음과 같습니다.

1. 외장하드 연결시, 처음에는 속도도 잘 나오며 파일을 읽고 쓰는 데 큰 문제가 없음

2. 하지만 다시 루트 디렉토리로 접근시(예: \\iptime\hdd1\) 윈도우 탐색기가 먹통이 되며, 이 상태에서 인터넷이 끊기지는 않으나 재부팅시 공유기 자체가 다운되어 설정 페이지로도 접속할 수 없음

3. 이는 공유기를 재부팅해야만 해결됨 (콘센트 뺐다가 다시 꽂기)

 

A3004NS-M, A6004NS-M 제품 모두 저용량 외장하드 (300GB) 사용시에는 아무런 문제가 없이 잘 작동했습니다.

이는 근본적인 호환성 문제로 보이며 EFM네트웍스에 연락할 예정입니다. 진척 상황은 이 글에 업데이트하겠습니다.

 

 

2019.04.22 추가

 

자포자기하는 심정으로 외장하드의 메인 파티션을 EXT3으로 포맷했습니다. 하지만 오히려 인식 자체가 되지 않아 포기하고 다시 윈도우 전용으로 사용하기 위해 NTFS로 재 포맷했습니다.

 

하지만 다시 NTFS로 포맷을 하자 뜻밖에도 SMB 연결시 고용량 외장하드가 정상작동하는것을 확인했습니다. 잠시만 액세스를 해도 공유기가 다운되는 현상이 사라졌고 저용량 외장하드를 사용할 때와 동일하게 작동합니다.

 

인코딩 문제인지 파티션 테이블 문제인지는 알 수 없으나, 외장하드 포맷을 했을 때 본 문제가 해결되었다는 것만은 알 수 있었습니다.

 

혹시 유사한 문제를 겪고 계신 분들은 외장하드를 다시 포맷하고 사용해보시는것을 추천합니다.

 

 

======================================================================

 

https://signfang.tistory.com/322

 

DDNS/VPN 지원 공유기 + 라즈베리 파이 4B로 외부접속이 가능한 SMB 서버 (NAS) 만들기

0. 개요 제가 라즈베리 파이 4를 NAS 용도로 구입해서 실제로 사용한지도 꽤 지났고 원래 가이드 글을 본격적으로 쓸 계획이었으나... 비교적 쉽게 공유기 메뉴만 눌러서 설정할 수 있는 iptime 공유

signfang.tistory.com

 

이 글에서 설명드리는 구성의 편의성에는 만족하지만 NAS 속도가 불만이신 (그리고 리눅스 사용에 익숙하신) 분들을 위해 라즈베리 파이 4를 이용한 간이 NAS구성을 간략하게 소개하는 글을 작성했습니다. 

다만 너무 기초부터 작성하기에는 부담스러워 주로 타 가이드를 링크한 글인 점은 양해 부탁드립니다. 

+ Recent posts