PC 시장에서 판매되는 새로운 PC 세 대 중 두 대는 ‘노트북 PC’이고, 이미 많은 사람들이 필요에 따라 한 대 이상의 PC를 함께 사용한다. ‘컴퓨팅 능력을 가진 개인 디바이스’로 범위를 넓히면, 이미 우리는 PC 뿐만 아니라 일상을 위해 스마트폰과 태블릿 등을 함께 사용하고 있다. 대략 현대인의 삶에 필요한 디바이스가 최소 두 대고, 많게는 한 사람이 사용하는 디바이스가 다섯 대 이상인 경우도 볼 수 있다.

이런 ‘멀티 디바이스’ 시대를 영위하는 데서 겪는 번거로움 중 하나는 ‘데이터의 이동’이다. 모든 디바이스에는 각자의 저장 공간이 있고, 각자의 방법으로 데이터를 저장한다. 이에 어떤 디바이스에 있는 데이터를 다른 디바이스로 옮기는 데는 여러 가지 현실적인 번거로움이 생긴다. 이 때, 클라우드 저장 공간을 사용하면 별도의 케이블 등을 연결하지 않고도 편리하게 기기 간 데이터 공유가 가능하지만, 서비스에 따라 여러 가지 제약을 만나기도 한다.

NAS(Network Attached Storage)는 개인 사용자의 이런 복잡한 환경을 제법 간편하게 만들어 주는 좋은 도구다. 충분한 용량의 NAS 한 대만 있으면, 복잡한 케이블과 외장 저장장치들을 챙기지 않고도 언제 어디서나 내 자료를 보고 쓸 수 있으며, 여러 디바이스에 같은 데이터를 복사해 가면서 쓸 필요도 없다. 하지만 NAS는 ‘서버’이기도 하며, 최신 NAS의 성능과 용량은 데이터만 저장하고 쓰기에는 좀 아까운 면도 있다.

NAS는 PC에 직접 장착된 하드 디스크처럼 쓸 수도 있다. / 권용만 기자
NAS는 PC에 직접 장착된 하드 디스크처럼 쓸 수도 있다. / 권용만 기자

NAS로 네트워크 통한 ‘로컬 스토리지’ 확장하기

최신 PC의 스토리지는 ‘SSD’가 대세고, 최신 PC 제품에는 종종 고용량 하드 드라이브를 장착할 수 없는 경우도 있다. 하지만 SSD만 사용하는 경우 1~2테라바이트(TB) 정도 용량이 일반적인데, 이 정도의 용량은 일상적인 ‘사용’에는 부족함이 없겠지만 많은 자료를 ‘저장’하는 데는 다소 아쉬움이 느껴질 것이다. 특히 저장된 자료가 성능보다 용량이 중요한 성격이라면 비용 측면에서 하드 드라이브 기반의 NAS를 쓰는 편이 편리하고 효율적이다.

일반적인 NAS의 네트워크 연결은 공유기나 라우터에 직접 연결해, PC 등의 클라이언트와 같은 계층의 네트워크에 동등한 장치로 연결, 사용하는 것이다. 이 경우 PC에서는 한 개의 네트워크 연결로 인터넷과 내부 네트워크, NAS에서의 파일 전송을 모두 해결한다. 이는 아주 편리한 방법이긴 하지만, 대용량 파일 전송 상황 등에서는 한정된 대역폭 안에서의 경합이 일어나 인터넷 사용이 느려지거나 하는 경우가 생긴다.

이런 상황을 근본적으로 해결하는 방법은 스토리지와 연결하는 별도의 네트워크를 만드는 것이다. 이는 기업의 IT 환경 등에서는 SAN(Storage Area Network)이라고 하며 별도의 규격을 쓰기도 하지만, 익숙한 IP 기반 네트워크에서도 NAS와 연결되는 별도의 네트워크를 만들어서 비슷한 효과를 낼 수 있다. 결국 핵심은 인터넷 트래픽과 스토리지 트래픽을 별도의 네트워크로 분리하는 것이니 말이다.

구축 방법은 의외로 간단하다. PC와 NAS에 여분의 네트워크 인터페이스가 있다면, 이를 직접 연결하고 별도의 IP 대역으로 직접 설정하면 된다. 1:1이면 케이블로 PC와 NAS를 직접 연결할 수도 있고, 좀 더 규모를 키운다면 중간에 스위치 허브 정도를 추가하면 된다. IP 설정은 PC가 ‘192.0.0.x’라면 NAS와 연결된 네트워크 인터페이스는 ‘192.0.1.x’ 정도로 지정하면 되고, NAS 또한 PC와 직접 연결된 쪽을 ‘192.0.1.y’ 정도로 주면 된다. 이후 NAS 쪽으로의 접근은 ‘192.0.1.y’로 하면 된다.

이렇게 PC와 NAS를 직접 연결한 다음에는 스토리지 형식을 생각하면 된다. 단순히 ‘네트워크 드라이브’ 연결을 사용하는 것도 좋지만, 진짜 ‘하드 디스크’ 처럼 쓰려면 iSCSI 연결을 사용하는 것을 추천한다. 시놀로지의 경우 ‘SAN Manager’에서 LUN(Logical Unit Number) 생성으로 스토리지 영역을 지정하고, 윈도의 ‘iSCSI 초기자’를 통해 NAS에서 사용 가능한 LUN을 검색 후 등록하면 물리적으로 장착된 하드 디스크와 동일한 모습으로 사용할 수 있다. 만약 10Gbps 인터페이스를 사용하면, 직접 SATA3 6Gbps 연결한 것보다도 나을 것이다.

한편, 네트워크 공유 폴더를 사용하는 경우에는 연결 가능한 모든 사용자와 모든 디바이스가 저장된 데이터를 공유할 수 있지만 속도가 다소 느린 편이고, 몇몇 애플리케이션에서는 로컬 디스크와는 다르게 인식, 동작할 수도 있다. 하지만 iSCSI 연결은 시스템에 물리적으로 연결된 하드 디스크와 거의 동일하게 동작하지만 다른 사용자 등과 공유가 없는 1:1 연결이다. 

NAS는 가장 쉽고 편리하게 VPN 서버를 만들 수 있는 환경이다. / 권용만 기자
NAS는 가장 쉽고 편리하게 VPN 서버를 만들 수 있는 환경이다. / 권용만 기자

언제 어디서나 안전한 접속 위한 ‘VPN 서버’ 구축

흔히 VPN(Virtual Private Network)은 인터넷 상에서 접속 지역을 숨기거나 하는 데 쓴다고 생각하는 경우가 많지만, 기술의 시작은 어디서나 조직의 내부 사설 네트워크와 외부의 사용자 단말 간 직접 연결을 제공하기 위함이었다. 그리고 이러한 활용은 이제 개인에게도 꽤 유용하게 됐는데, 바로 언제 어디서나 안전하게 집 안의 내부 네트워크에 있는 것처럼 NAS에 편리하게 접근, 활용할 수 있는 방법이기 때문이다.

언제나 켜져 있는 집 안의 NAS나 홈 서버에 VPN 서버를 구축하는 방법은 크게 어렵지 않다. NAS의 경우 시놀로지를 비롯해 대부분의 NAS 제조사들이 VPN 서버 기능이나 패키지를 제공하고 있으며, 직접 PC에 설치하는 경우에도 ‘SoftEther’나 ‘OpenVPN’, ‘와이어샤크(WireShark)’ 등으로 VPN 서버를 쉽게 구현할 수 있다. 그리고 사용자는 집에 구축된 VPN 서버에 연결해, 집 밖에서도 집 안에 있는 것처럼 NAS를 사용할 수 있다.

VPN 서버를 구축할 때 먼저 고려해야 할 점은 ‘어떤 기술을 사용할지’로, 디바이스와 운영체제 종류에 따라 사용할 수 있는 기술이 다르다. 윈도11의 경우 가장 다양한 기술을 사용할 수 있지만, 가장 편리한 기술은 윈도에 기본 내장되고 인증서 없이도 사용할 수 있는 ‘L2TP PSK(Pre-Shared Key)’ 방식이다. 하지만 최신 안드로이드 디바이스 등에서는 이 기술이 보안 문제로 지원되지 않는다. 그리고 ‘OpenVPN’이나 ‘와이어샤크’는 다양한 플랫폼을 지원하지만 접속을 위한 별도의 클라이언트 프로그램을 설치하고, 인증서를 옮기는 등의 수고가 필요하다.

시놀로지의 경우 이러한 기능을 ‘VPN Server’ 패키지로 제공하고, 지원 프로토콜은 PPTP, L2TP/IPSec, OpenVPN 등이 있다. 설정 자체는 아주 간단하며, 대부분의 경우 기본값으로 놓고 사용해도 된다. 네트워크 설정은 공유기에서 L2TP의 경우 TCP 1701. UDP 500, 4500 포트를 NAS 쪽으로 포워딩 해주면 되고, OpenVPN은 임의의 UDP 포트를 지정할 수 있다. 

그리고 L2TP의 경우 VPN 서버와 클라이언트가 모두 라우터 밑에 있다면 윈도의 기본 레지스트리 설정도 직접 바꿔줘야 한다. ‘HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent’ 아래의 ‘AssumeUDPEncapsulationContextOnSendRule’ 키 값을 2로 바꿔 주면 된다. 이 설정은 기본적으로 보안 등의 문제로 윈도 비스타 이후 기본값이 0으로 설정돼 있는데, 이 경우 공유기 뒤에 있는 VPN 서버로의 접속이 허용되지 않는다.

한편, 이렇게 만들어 놓은 VPN 서버는 여러 모로 편리하게 사용할 수 있다. 먼저, 집 근처 카페에 있는 와이파이가 보안이 불안할 때 VPN을 사용해 좀 더 안전한 연결을 확보할 수 있다. 또한 해외 출장 중에 국내에서 사용하던 스트리밍 서비스 등을 이용하고 싶을 때 해외에서 바로 접속하면 지역 문제로 사용할 수 없지만, 집에 있는 NAS의 VPN을 사용하면 접속 지역이 한국으로 인식돼 문제 없이 서비스를 사용할 수 있다. 

방화벽에서 외부로 통과시킬 서비스와 포트는 최대한 줄여야 한다. / 권용만 기자
방화벽에서 외부로 통과시킬 서비스와 포트는 최대한 줄여야 한다. / 권용만 기자

어디서나 활용하기 편리한 NAS, 외부 노출은 최대한 줄여야

개인이나 조직의 데이터를 한 데 모은 NAS는 일상과 업무에 편의성을 크게 높여 주지만, 그 만큼 ‘보안’에도 신경써야 한다. 네트워크에 연결된 NAS에서 보안성을 고려한다면, 가장 먼저 생각해야 할 부분은 외부에 노출된 서비스와 포트를 최대한 줄이는 것이다. 이에 꼭 외부에서 사용하지 않을 서비스의 포트들은 외부에 노출하지 않는 것이 중요하다. 

특히 외부에 SSH나 공유 폴더 기능을 사용하기 위한 SMB, NFS 포트 등을 노출하는 행위는 절대 하지 않는 게 좋다. 외부에서도 내부망처럼 공유 폴더와 다양한 서비스를 활용하고 싶다면 VPN을 통해 내부망에 연결한 뒤 사용하는 것이 정석이다. 이에, 대부분의 경우 외부에 노출할 서비스 포트는 HTTPS 웹 서비스 포트와 VPN 서비스 포트만으로 충분하다. 

또한 외부 노출된 웹 서비스 포트에서의 공격을 막기 위해, ‘admin’ 사용자 계정은 비활성화하고 일정 횟수 이상 로그인 실패시 IP 주소를 차단하는 설정을 해 두는 것도 좋다. 시놀로지 등 NAS에서는 관리자가 꼭 ‘admin’ 계정을 사용하지 않아도 되는 만큼, 최대한 짐작하기 힘든 계정 이름과 비밀번호를 사용하는 것이 좋겠다. 주기적으로 최신 보안 업데이트를 적용하는 것도 중요하다.

한편, NAS는 ‘저장’에 특화돼 있지만 엄연한 ‘서버’고, 꼭 데이터 저장에만 써야 하는 것도 아니다. 이에 최근 NAS에는 저장 관련 기능 뿐 아니라 다양한 ‘애플리케이션’들이 제공되며, 아예 사용자가 직접 ‘가상 머신’이나 ‘컨테이너’를 통해 직접 기능을 올릴 수도 있다. 시놀로지 NAS의 경우에도 ‘가상 머신 매니저’와 ‘컨테이너 매니저’를 통해 이들 기능을 사용할 수 있으며, 때에 따라서는 시놀로지 NAS 위에 가상 머신으로 ‘윈도’를 쓸 수도 있다.

NAS에서 가상 머신을 사용할 때 주의해야 할 점은 ‘메모리’다. 시놀로지 등 NAS는 NAS 본연의 기능만을 사용하기에는 메모리 용량이 크게 아쉽지 않지만, 가상 머신을 통해 기성 리눅스나 윈도를 쓰면 훨씬 많은 메모리가 필요하다. 프로세서 성능이 기존 운영체제를 완전히 쓰기에 다소 부족한 점도 아쉽다. 하지만 앱으로 제공되지 않는 기능을 GUI 인터페이스 없는 리눅스 기반에서 쓰고자 한다면 좋은 대안이다. 단, 이 때는 NAS에 8GB 이상 메모리를 장착할 것을 추천한다.

권용만 기자 yongman.kwon@chosunbiz.com

이 기사에 대해 어떻게 생각하시나요?
+1
0
+1
0
+1
0
+1
0
+1
0

댓글을 남겨주세요.

Please enter your comment!
Please enter your name here