VPN을 검색해서 찾아온 사람들이라면, VPN이 뭐할려고 쓰는 것인지 대부분은 이미 너무 잘알고 들어왔을 것 이다.

VPN의 역사를 설명하고 그렇진 않을 것이다. 왜냐면 나도 잘 모르니깐…-_-;;; 어쨌든 일본에 있는 친구의 부탁으로 쓸일이 있으니 만들어 달라해서 이미 5개월 전에 부탁했던 것 같은데, 이런 저런 송사로 이제야 설치해서 블로그 포스팅도 해본다.

VPN은 도처에서 쓰인다. 우리일상에서 그리 먼 애기는 아니다.

일단, 기업종사자라면 특히 요즘같이 코로나 펜데믹 시대를 맞아 원격 재택업무가 엄청 많아 졌다. 이런 경우 회사에서 지급받은 컴퓨터로 외부에서 업무를 보는데, 회사 전산망에 접속하기 위해서는 보통은 VPN 시스템을 쓴다.

그래서 외부에 있는 종업원과 회사망이 연결되어 비록 몸은 외부에 있어도 마치 회사 내부에 있는 것처럼 일을 할 수 있기 때문이다.

보통 사람들은 굳이 그럴 이유가 없지만, 특정 국가나 ISP에서 차단한 웹사이트에 접근하기 위해 VPN을 이용하기도 한다. 이 경우 본 포스트랑은 아무런 상관이 없다.

왜냐면, 만일 당신의 목적이 VPN을 통해 특정 사이트를 자신의 IP가 아닌 VPN의 IP로 대체하여  우회하고자 하는 것인데, 본 포스트는 자신의 NAS에 VPN을 설치하는 것이므로 어차피 자신의 NAS IP는 바뀌지 않고 똑같기 때문이다.

자 그런데, 개인 NAS 사용자라면 VPN 서버를 구축 시 상기의 목적외에도 두가지 정도 큰 의미가 있다.

NAS내 프린터기기를 외부에서도 편리하게 쓸 수 있게 된다.

굳이 VPN이 아니어도 외부에서 프린터를 할 수 있는 방법은 회사마다 다양하게 제공한다.

HP프린터의 경우는 HP ePrint라는 서비스가 있는데, 이메일 계정을 하나 만들고 거기로 파일을 첨부해서 보내면 내가 원하는 기기로 인쇄 명령이 실행된다.

하지만, 이메일로 첨부파일을 보내는 형식을 취해야 해서 불편함이 이만저만이 아니다. 컬러/흑백같은 옵션도 조절할 수 가 없다. 게다가 내가 내문서를 출력하는데 왜 굳이 HP사가 지정한 이메일 계정으로 내 문서를 송신해야 하는지….이 부분이 가장 찝찝했다.

VPN서버가 있다면, 이런 고민에서 완전히 해방된다.

NAS 네트워크내에 있는 삼바서버를 통해 파일서버에 접근할 수 있다.

VPN으로 접속한다면, 사실 나는 내 가정내 네트워크내에 있는 셈이다. 당연히 삼바서버를 통해 파일서버에 접근할 수 있다.

FPT를 통한 접속이 굳이 필요 없게 된다. NAS안에 전자북이 있는데 일전에는 일일히 FTP를 통해 다운로드 받아 외부에서 봤다면, VPN 설치 후에는 그럴 필요가 없다.

mp3 파일이나, 동영상 파일이 있다면 또한 마찬가지이다.
(물론, VPN서버를 통한 파일서버 접근이 스트리밍이 기능은 아니니 여전히 PLEX 같은 미디어 서버는 VPN유무와 상관없이 미디어 기능으로는 강력하고 유효하다.)

자 그럼 설치를 해보는데, openVPN 설치는 복잡하고 어렵다.

하지만, 아주 최근에 openVPN에 대한 최간단 설치법을 발견하였다. 제목은 5분도 안걸리는 openVPN설치법인데…1분도 안걸리는 것 같다.

https://www.cyberciti.biz/faq/howto-setup-openvpn-server-on-ubuntu-linux-14-04-or-16-04-lts/

설치환경은 Ubuntu 20.04 이다. 18.04도 방법은 똑같다.

Copy to Clipboard

위의 스크립트 명령을 통해 openvpn-install.sh 파일이 다운로드 받아져 있을 것 이다.

이파일을 아래와 같이 실행파일로 바꾸고 실행을 해준다. openvpn을 설치해야 하는 과정이 따라오므로 sudo로 명령어를 실행해야 한다.

Copy to Clipboard

이 다음은 설치를 자동으로 실행한다. 단 몇가지 질문이 나오니 유의해서 살펴 본다.

Copy to Clipboard

공유기 dhcp 서버뒤에 있다고 알려주면서, 공인 IP를 재확인하고 있다. 공인IP를 써줘도 되고, 도메인이 있다면 도메인 명을 써주자.

UDP 와 TCP 둘중에서 고르라고 하고 있다. 네트워크 신뢰성은 패킷 검증과정이 있는 TCP가 아무래도 더 좋겠지만 시스템 부하측면에서는 UDP가 유리할 것 같다.

기본통신 포트는 1194이다. 상단 공유기에서 포트포워딩에서 해당 포트를 열어두는걸 잊지 말자.

공인IP만 쓴다면 DNS는 아무 옵션도 상관은 없지만… 아무거나 고르자.

이제는 VPN에 연결을 허용해할 사용자의 인증서를 발행해야 하는 과정이다. 어차피 자동으로 실행되지만 해당 사용자 인증서의 이름은 써주어야 한다.
Copy to Clipboard

사용자의 이름은 My_Nas_Owner라고 적어 주었다.

기업이라면, VPN 사용자의 등록을 위해서 인사부서에서 부터 업무를 철저히 단속하여야 할 것 이다.

이제 아래는 설치하는 과정의 스크립트들을 복사해 본 것이다. 모두 알아서 하고 있다.

Copy to Clipboard

그러면, 이젠 ifconfig 명령어를 통해 특별한것을 찾아 보자.

Copy to Clipboard

아마도 tun0이라는 전에는 보지 못했던 네트워크 디바이스를 발견하게 될 것 이다.

openvpn 설치전에는 보지 못했던 디바이스이다. 이놈의 IP주소를 잘 기억해주다. 바로 VPN의 접점 IP주소라고 생각하면 된다. 이놈을 알고 있어야 외부에서도 삼바서버 등을 통해 내 NAS의 네트워크를 접근할 수 있다.

설치는 모두 끝났다. 정말 쉽지 않은가? 요즘은 확실히 리눅스 사용이 예전보다 더 쉽게 느껴진다.

자 이젠 자신의 안드로이드 폰에 openVPN 앱을 설치한다. 그리고 위의 설치과정에서 /root 폴더에 생성된 인증서를 휴대폰으로 옮기고 인증서를 옮겨놓고 아래와 같은 앱을 통해 인증서를 사용하여 사용자 인증을 하면 연결이 체결된다.

OpenVPN은 모든 플랫폼에 존재한다.

본 과정은 개인용 NAS에 VPN을 설치해서 쓰는데 극히 국한된다.

왜냐면, 위에 과정을 유심히 살펴보면 인증서의 유효기간도 거의 10년을 부여하고 있지만, 기업환경에서는 인증서를 이리 길게 줄 수 없다 왜냐면 조직원의 변동이 발생하기 때문이다. 부서를 이동하던지 아니면 승진을 통해 더 높은 등급의 정보권한을 획득하던가 , 심한경우 아예 퇴사를 할 수 도 있다. 이런 변동이 매우 빈번하므로 인증서를 교부 및 관리하는 것 자체가 상당한 수준에 도달해 있어야 한다.

다음 포스팅에서는 앱을 안드로이드 폰에 설치후 삼바서버 연결 및 다양한 사용법을 몇가지 소개해 볼 것이다.