시놀로지 나스 VPN 서버 설치와 포트포워딩, OpenVPN으로 안전한 인터넷 사용 – Synology NAS 초보자용 맞춤 설명 VI
VPN의 역사는 우리나라 인터넷 속도가 9.6Kbps(KT 코넷 인터넷, ADSL 이전 서비스)이던 1996년으로 거슬러 올라간다. 당시 마이크로소프트(Microsoft)사에서 현재도 쓰이고 있는 PPTP(Peer-to-Peer Tunneling Protocol)란 걸 처음 개발했다. 말 그대로 사용자(Peer) 간에 안전하게 터널(Tunnel)로 정보를 주고 받을 수 있게 했다(인터넷에만 연결된 컴퓨터를 인트라넷에 접근시키는 프로토콜).
2000년대 초반까지 VPN은 기업 차원의 인터넷 보안 확보를 위해 주로 사용되었다. 하지만 2010년 전세계적 파장을 일으킨 위키리크스(WikiLeaks) 사건과, 2013년 에드워드 스노든(Edward Snowden)에 의해 폭로된 미국 국가안보국(NSA)의 광범위한 민간인 감찰 프로그램은 일반 대중에게도 인터넷 보안에 대한 경각심을 불러 일으켰다. 다시말해 국가 정보기관이나 뛰어난 해커 집단이라면 인터넷으로 주고 받는 암호화 안 된 개인정보 정도는 쉽게 들여다볼 수 있는 것이다.
기업이 개인고객에게 제공하는 ExpressVPN이나 Surfshark, NodeVPN 같은 서비스는 그렇게 뜨게 되었다. 보안 용도 외에 접속이나 결제가 불가능한 해외 인터넷 사이트 사용에도 VPN은 유용하다. 게다가 많은 사람들이 모르고 있는 사실이지만, 흔한 인터넷 공유기나 나스(NAS)로도 ‘사설’ VPN 서버를 구축할 수 있다.
0) 나스에서 왜 VPN 서버를 사용해야 하는가?
VPN(Virtual Private Network)은 말 그대로 가상의 개인적 네트워크를 만들어 준다. 그러면 공개된 네트워크인 인터넷에서 자기의 존재를 숨길 수 있다. 자세히 설명하자면, 인터넷의 데이터는 기본적으로 암호화되어 있지 않다. 전송되는 패킷(Packet; 네트워크를 통해 전송되는 형식화된 데이터 덩어리)을 추출해서 들여다보면 무슨 내용인지 다 알 수 있다(범죄 사건 수사에서 인터넷 사용기록이 얼마나 사적인 정보도 드러내는지 생각해보자).
하지만 VPN은 암호화(Encryption)가 기본으로 적용되어 긴 패스코드(Passcode)의 인증서를 갖고 있지 않은 사용자는 그 전송 내역을 들여다 볼 수 없게 되어있다. 그래서 일반 인터넷 서비스 속도보다 느릴 수는 있지만 훨씬 안전하다.
게다가 암호화를 통해 가상으로 나스가 속한 내부 네트워크(나스가 공유기에 물려있는 인트라넷)에 들어갈 수 있기 때문에, 거기서만 가능한 윈도우 탐색기 네트워크 드라이브도, 맥 파인더 서버 연결도 할 수 있다. 그래서 불편하게 DSM 파일스테이션을 띄울 필요가 없다. 일거양득인 셈이다.
이 외에도 회사 네트워크가 막아놓은 사이트 접근하는 데도 쓸 수 있고, 외국에 나갔을 때 접근할 수 없는 우리나라 사이트에 들어가는 데도 사설 VPN은 사용될 수 있다. 하지만 유료 VPN 서비스처럼 국내에서 해외 사이트 접근 결제하는 것에는 쓸 수가 없다. Synology사의 VPN 서버 패키지는 IP를 외국 것으로 바꿔주는 기능은 제공하지 않기 때문이다.
1) 안전한 오픈소스 프로토콜 – OpenVPN
데이터 전달 방식에 따라 몇 가지 다른 프로토콜(Protocol)의 VPN이 존재한다. 시놀로지 나스의 VPN 서버는 PPTP, OpenVPN, L2TP/IPSec 등 3가지를 기본 지원한다.
· PPTP는 빠르고 설치가 간단하지만 가장 보안에 취약한 방식이다.
· OpenVPN은 오픈소스로 범용하게 쓰이고 보안도 우수하지만 설치방법이 난해하고 속도도 더 느리다.
· L2TP/IPSec은 PPTP와 OpenVPN의 중간 정도의 성질을 가지고 있다(보안도 속도도 설치와 운용 난이도도 중간).
결국 가장 안전한 OpenVPN을 나스에서 먼저 사용해보기로 했다.
2) 시놀로지 나스 VPN 서버 패키지 설치와 설정
먼저 시놀로지 나스 DSM에 들어가서 VPN 서버 패키지를 다운 받는다. DSM 바탕화면의 패키지 센터(Package Center)를 클릭하면 나오는 창에서 좌측 ‘모든 패키지’를 누르면 창 우측에 ‘VPN Server’가 보인다. ‘Install’을 클릭해 설치한다(상기 사진).
이렇게 설치된 패키지는 패키지 센터에서 ‘열기(Open)’을 누르면 열 수 있고, 혹은 DSM 메인 메뉴(마름모 한개 정사각형 세개 모양 아이콘)에서 열 수도 있다.
그렇게 열린 창의 좌측 사이드바(Sidebar)에서 OpenVPN을 선택한다. 그리고 상단의 ‘OpenVPN Server 활성화(Enable OpenVPN server)’를 체크한다. 다른 옵션 들은 건드릴 게 없고 ‘클라이언트의 서버 LAN 엑세스 허용(Allow clients to access server’s LAN)’만 체크 상태인지 확인한다(상기 사진).
만약 나스의 방화벽이 설정된 상태라면, DSM의 제어판 > 보안 > 방화벽으로 들어가서 VPN Server 응용프로그램에 대한 1194 포트 허용도 체크해줘야 한다. 방화벽 설정에 대한 자세한 설명은 아래 링크를 참조하자.
VPN Sever 창 우하단의 ‘적용(Apply)’을 누르면 설정을 저장할 수 있다. 그러면 UDP 포트 1194를 열라는 안내문구가 나온다. 포트포워딩(Port forwarding)을 하는 건데 아래에서 자세히 설명하겠다.
3) VPN 사용을 위한 포트포워딩 – 내부 IP와 외부 IP 구별하기
포트포워딩을 하려면 먼저 인터넷 IP 주소의 종류를 알아야 한다. 흔히들 알고 있는 IP 주소는 IPv4(Internet Protocol Version 4) 형식으로 마침표로 구분된 4개의 숫자(0~255)로 되어 있다.
이 IP 주소를 외부 IP(공인 IP)와 내부 IP(사설 IP) 두 가지로 나눌 수 있다. 외부 즉 공인 IP는 세상에 한 개 밖에 없는 고유한 네트워크 주소이고, 내부 IP는 인터넷 공유기나 라우터에 의해 컴퓨터들에 부여된 IP 주소이다. 네이버 검색창에 “내 IP”를 쳐서 나오는 주소 숫자는 외부 IP이다.
예를 들어보자. 회사 컴퓨터에서 집에 있는 나스에 접속하려면 먼저 나스가 연결되어 있는 집 네트워크의 외부 IP(공인 IP)를 알아야 한다. 내부 즉 사설 IP는 고유하지 않은 주소(여러 다른 컴퓨터에 같은 내부 IP가 부여되어 있을 수 있음)이고, 이것만 알면 외부에서 나스에 접근할 방법이 없다.
내부 IP는 보통 아래와 같은 범위를 가지고 있어서 숫자만 봐도 공인 IP가 아님을 알 수 있다.
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
나스가 공유기에 붙어 있을 테니, 나스는 공유기가 부여해준 내부 IP에 의해서도 식별된다. 나스가 속한 네트워크의 외부 IP와 나스의 내부 IP를 알아야 포트포워딩과 VPN 설정을 할 수 있다는 것을 기억하자.
4) VPN 사용을 위한 포트포워딩 – 인터넷 포트의 의미
IP 주소는 컴퓨터의 위치만 지정하고 그 컴퓨터가 어떤 서버 프로그램을 사용할지는 정하지 않는다. 그래서 IP 주소에 인터넷 포트란 것을 덧붙이게 된다.
포트(Port)에는 TCP 혹은 UDP라는 데이터 전송 방식이 지정되고, 또한 번호가 부여되어 있다. TCP는 느리지만 안정적이고, UDP는 반대로 빠르지만 불안정한 전송 방식이다. 포트 번호는 정해진 양식의 데이터를 보내는데 정해진 번호를 쓴다고 생각하면 된다. 포트 번호 53번은 DNS, 80번은 HTTP, 443번은 HTTPS 트래픽을 다루는 데 쓰인다.
시놀로지 나스에서 OpenVPN 서버 사용을 위해서는 UDP 포트 1194번을 열어야 하는데, 그건 공유기 환경설정에서 할 수 있다. 인터넷 창에 공유기 IP 주소를 쳐서 들어간 다음에 ID와 Password를 입력하는 건데, 아래 링크에 잘 정리된 글이 있으니 참조하자.
필자는 KT에서 준 홈허브 공유기를 쓰고 있어서 http://172.30.1.254 로 들어가서 초기 아이디 ‘ktuser’와 초기 패스워드 ‘megaap’를 사용했더니 진입이 되었다(신형 KT Giga Wifi는 ID ‘ktuser’ / Password ‘homehub’ 홈허브 진입은 공유기에 내부 네트워크로 연결된 컴퓨터들에서만 가능).
상기 사진처럼 장치설정 > 트래픽 관리 > 포트 포워딩 설정으로 이동한다. 소스 IP 주소와 소스 포트 칸은 비워두어도 된다.
외부 포트 번호를 쓰는 칸과 내부 포트 번호를 쓰는 칸이 있는데 뭔 소리인지 헷갈릴 수 있다. 외부 네트워크를 통해 공유기 IP의 1194 인터넷 포트(외부 포트)로 들어오는 데이터(OpenVPN 클라이언트의 트래픽)는 포워딩(Forwarding)되어 나스 내부 IP의 1194 포트(내부 포트)를 통로로 VPN 서버에 연결 된다는 것을 의미한다. 즉 1194 포트를 막는 방화벽을 우회하거나 하는 다른 목적이 없는 경우 내부 포트, 외부 포트 모두에 1194를 입력하면 된다.
내부 IP 주소 칸에는 나스의 내부 IP를 입력한다(DSM에 로그인하면 시스템 상태 창에 보이는 LAN 포트 주소). 프로토콜은 ‘UDP’를 선택하고 우하단부의 ‘추가’를 눌러 설정을 저장한다. 이제 OpenVPN 서버를 위한 나스와 공유기 설정을 마친 것이다. PC와 Mac에 VPN 클라이언트 프로그램을 설치하고 운용하는 방법에 대해서는 다음 글에서 설명하도록 하겠다.