시놀로지 NAS의 OpenVPN 서버 설정하기

Synology NAS의 PPTP VPN 서버 설정 방법을 이전 포스트에서 설명했는데 한가지 설명을 빠트렸었다. 무엇인고 하니 설명한 환경에서 NAS를 SuperDMZ 또는 DMZ(NAT) 기능을 이용해 집의 인터넷 공유기에 할당되는 공인IP를 통채로 NAS에 할당한 경우에만 가능한 방법이다.

 

그렇지 않고 통신사에 연결되는 인터넷 공유기에는 공인IP가 할당되고 NAS에는 192.X.X.X로 표시되는 사설IP가 할당될 경우에는 PPTP, IPSEC 등의 VPN은 정상동작시키기 쉽지 않다. 인터넷 공유기에서 포트포워딩을 해줘야할 포트도 여러개인데다 설정을 하더라도 제대로 동작하지 않는 경우가 많기 때문이다.

 

그래서 오늘은 하나의 포트만 포트포워딩 하면 사용할 수 있는 OpenVPN 서버의 설정방법을 포스팅한다.

1. 인터넷 공유기에서 OpenVPN에서 사용할 통신포트를 포트포워딩 하기

통신사에서 제공하는 인터넷 공유기의 경우 다음과 같이 "포트포워딩(Port Forwarding)" 기능을 제공하는 경우가 대부분이다. 

LG U+ 인터넷 공유기의 포트포워딩 설정화면
LG유플러스 제공 인터넷 공유기의 포트포워딩 설정화면

위의 경우 외부의 UDP 10472 포트를 내부망 192.168.219.102 IP의 10472 포트로 포워딩 해주는 정책이다. 192.168.219.102가 바로 시놀로지 NAS다. 즉 NAS에서 실행될 OpenVPN 서버가 UDP/10472 포트에서 OpenVPN 클라이언트의 접속을 기다리는 것이다.

2. 시놀로지 NAS에서 새 인증서 만들기

많은 시놀로지 사용자들이 OpenVPN 서버를 설정하면서 부닥치는 가장 큰 난관은 바로 인증서 설정과 관련된 부분이다. 일단 "인증서"가 뭔지 제대로 이해를 하지 못하고 있기 때문이다.

 

컴퓨터에서 사용되는 "인증서"는 컴퓨터의 신원을 보증하고 통신의 데이터를 암호화 할 때 사용되는 두 개의 암호키가 담겨져 있는 작은 파일이라고 이해하면 된다. 그리고 이 때 사용되는 암호기술이 바로 "PKI"다. (깊이 들어가면 너무 어지러워지니 이정도만 설명한다. ^^)

 

기본적으로 시놀로지 NAS의 접속을 HTTPS로 한다면 이미 인증서는 만들어져 있을 것이다. 하지만 이 포스트에서는 OpenVPN에서 전용으로 사용할 인증서를 새로 만들어보기로 한다. (기존의 기본 인증서로 설정해도 관계 없다. 생성하는 과정만 건너 뛰면 모든 작업은 동일하다.)

 

먼저 "제어판"에서 "보안" 메뉴를 선택하면 표시되는 "인증서" 탭을 선택한다.

synology nas의 Certificate tab
Synology NAS의 제어판-보안 메뉴의 인증서 탭

"추가" 버튼을 누르고 "인증서 생성" 창이 실행되면 "새 인증서 추가" 를 선택한 다음 "다음" 버튼을 누른다.

 

"설명" 에는 적당한 설명을 넣는다. 그리고 "자체 서명 인증서 생성"을 선택한다.

synology nas에서 self-sign certificate 만들기
자체 서명 인증서 생성

다음과 같이 루트(CA) 인증서 생성에 필요한 기본값을 입력한다. 대충 입력해도 된다.

시놀로지 NAS의 셀프사인 인증서 생성
루트 인증서(CA) 생성

루트(CA) 인증서를 만들 정보를 입력하고 나면 실제 통신 시 사용할 인증서를 만들게 된다. 입력하는 정보가 아주 조금 다른데... 대충~ 에러가 나지 않도록만 입력하면 된다.

시놀로지 NAS에 인증서 만들기

"적용" 버튼을 누르면 다음과 같이 인증서가 반들어진다. 그리고 인증서의 유효기간은 생성한 날로부터 1년이다.

Synology NAS에 만들어진 Self-sign Certificate
Synology NAS에 만들어진 자체 서명 인증서

3. VPN 서버가 새로 만든 인증서를 사용하도록 설정하기

"제어판" - "보안" - "인증서" 탭에서 "구성" 버튼을 누르면 인증서를 사용하는 서비스가 사용할 인증서를 선택할 수 있는 화면이 표시된다.

 

아래 화면처럼 "VPN Server"가 앞에서 새로 생성한 인증서를 사용하도록 선택해준다.

VPN Server가 사용할 인증서 선택하기

4. OpenVPN 서버 설정하기

이제 OpenVPN 서버를 설정해줘야 한다. 시놀로지 NAS에서 VPN 서버 인스톨 방법은 앞의 포스트를 참고하기 바란다.  VPN Server를 설정하기 위해서 VPN Server를 실행하고 "OpenVPN" 메뉴를 선택한다.

그리고 "OpenVPN 서버 활성화"를 체크해준 뒤 다음과 같이 설정한다.

 Synology NAS의 OpenVPN Server
Synology NAS의 OpenVPN 서버

여기서 중요한 것은 "포트" 항목에 앞의 인터넷 공유기에서 NAS의 IP인 192.168.219.102의 포트포워딩 포트인 10472를 "포트" 항목에 입력하는 것이다.

그리고 나서 "적용" 버튼을 눌러 OpenVPN 서버를 실행한다.

OpenVPN 서버 실행

OpenVPN 서버를 실행하면 화면 아래에 보이는 "내보내기 구성" 버튼이 활성화된다.

이 버튼을 눌러 OpenVPN 클라이언트에서 OpenVPN 서버에 접속할 때 사용할 "설정 파일"을 저장한다.

OpenVPN 설정 내보내기

이 OpenVPN 접속 설정 파일을 적당한 이름으로 저장한다. 위에서는 synology-openvpn(10472).zip 파일로 저장했다. 그리고 하나의 파일을 더 저장해야 한다. 바로 인증서 파일이다.

5. 인증서를 파일로 저장하기

다시 인증서 화면으로 간 뒤 아래 화면처럼 새로 생성한 인증서 파일을 "인증서 내보내기" 버튼을 눌러 PC에 저장한다.

Synology NAS의 인증서 내보내기

인증서 파일은 기본적으로 archive.zip 파일로 저장된다. 

 

지금가지 두개의 파일을 PC에 저장했다. OpenVPN 클라이언트에서 사용할 접속 설정 파일과 인증서 파일 두 개다. 이제 이 두개 파일의 압축을 해제한 뒤 편집해야 한다.

6. OpenVPN 클라이언트 구성 파일 편집

Synology에서 제공하는 VPN 서버의 버그인지... 아니면 원래 그런 것인지 모르겠지만 앞에서 다운로드 받은 OpenVPN 클라이언트 접속 용 구성 파일은 인증서 정보가 제대로 설정되어 다운로드 되지 않는다. 그래서 수동으로 인증서 내용을 편집해 넣어줘야 한다.

 

먼저 다음과 같이 인증서가 저장된 archive.zip과 OpenVPN 접속 설정파일인 synology-open....zip 파일의 압축을 해제한다.

인증서 파일과 OpenVPN 접속 구성파일 압축해제

인증서 압축파일을 해제하면 4개의 파일이 표시되는데 cert.pem 파일과 prikey.pem 파일의 내용을 OpenVPN 접속 구성 파일에 추가해줘야 한다.

인증서 압축파일 해제하면 표시되는 4개의 파일

OpenVPN 접속 구성 파일이 포함된 zip 파일을 압축해제하면 VPNConfig.ovpn 이라는 OpenVPN 접속 용 구성파일이 보인다. 이 파일을 Notepad 등으로 열어준다. 

OpenVPN 접속 용 구성파일 열기

먼저 상단에 위치한 YOUR_SERVER_IP를 인터넷 공유기에 할당된 외부 공인IP로 수정한다. 만약 시놀로지의 DDNS를 이용해 xxx.synology.me 와 같은 도메인주소를 사용한다면 그 도메인주소를 입력해주면 된다.

ovpn파일 편집하기

다음은 새로운 Notepad을 열어 인증서 파일들 중 cert.pem 파일을 다음과 같이 연다.

cert.pem
cert.pem 파일

위의 cert.pem 파일의 내용 전체를 다음과 같이 VPNConfig.ovpn 파일을 열고 가장 아래부분의 </ca> 뒷 부분에 <cert> 태그를 추가하고 그 뒤에 붙여넣는다.

.ovpn 파일의 가장 뒤에 cert.pem 파일의 내용을 붙여 넣는다.

그리고 가장 뒷 부분에 </cert>을 추가한다.

 

마찬가지로 인증서 파일들 중 prikey.pem 파일의 내용을 모두 복사해 VPNConfig.ovpn 파일의 맨 뒷 부분에 <key> 태그를 추가한 뒤 붙여넣는다.

.ovpn 파일의 끝에 prikey.pem 파일의 내용을 추가한다.

그리고 맨 끝에 </key>를 추가해준 뒤 저장한다.

 

여기까지 진행하면 OpenVPN 클라이언트 프로그램이 OpenVPN 서버에 접속할 때 사용할 구성파일이 완성된다.

7. OpenVPN Client 설치하고 접속 구성 파일 복사하기

OpenVPN 서버에 접속하여 암호화 된 안전한 Private(사설) 네트워크를 만들기 위해서는 OpenVPN GUI라는 클라이언트 프로그램을 설치하여야 한다. 다운로드는 여기에서 받으면 된다.

 

기본 옵션으로 설치한 뒤 앞에서 편집한 VPNConfig.ovpn 파일을 아래와 같이 기본 config 경로에 복사한다.

.ovpn 파일 복사하기

이 때 관리자권한이 필요한데 관리자 권한을 부여하여 복사해 넣으면 된다.

8. OpenVPN 서버에 OpenVPN GUI로 접속하기

설치하고 나면 VPNConfig 라는 접속 구성이 보인다. 아래와 같이 "연결"을 눌러 OpenVPN 서버에 접속하면 된다.

OpenVPN GUI를 통해 접속하기

ID와 비밀번호를 묻는 창이 실행되면 시놀로지의 접소계정을 입력하면 된다. 다만 해당 계정은 시놀로지 DSM에서 OpenVPN 접속이 허용된 계정이어야 한다.

OpenVPN 서버에 접속하기
시롤로지 OpenVPN 서버에 접속하기

접속이 되면 다음과 같이 접속상태를 확인할 수 있고 "연결해제" 버튼을 눌러 VPN 네트워크를 파괴하여 접속을 끊을 수도 있다.

Synology NAS 오픈VPN 접속 상태

 

#시놀로지 #OpenVPN

댓글(2)

  • ki2rin
    2021.09.16 11:17

    잘 보고 따라해서 설정 완료했습니다. 감사합니다. 다행히도 DSM 7.0 이후 VPN Server에선 일부 개선된 것 같아요. 인증서 관련하여 config 수정하지 않아도 잘 동작하는 것으로 보입니다.

    • 2021.09.16 15:03 신고

      아..DSM 7.0에서는 OpenVPN 설정 시 Config가 제대로 생성되지 않는 문제가 개선되었나 보군요.
      도움이 되셨다니 다행이네요~

Designed by JB FACTORY