CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·주식한당 ·아이포니앙 ·MaClien ·일본산당 ·방탄소년당 ·자전거당 ·개발한당 ·이륜차당 ·안드로메당 ·소시당 ·나스당 ·골프당 ·디아블로당 ·육아당 ·AI당 ·가상화폐당 ·영화본당 ·클다방 ·리눅서당 ·소셜게임한당 ·걸그룹당 ·젬워한당 ·노젓는당 ·사과시계당 ·야구당 ·패스오브엑자일당 ·IoT당 ·창업한당 ·캠핑간당 ·패셔니앙 ·라즈베리파이당 ·맛있겠당 ·물고기당 ·노키앙 ·바다건너당 ·여행을떠난당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·배드민턴당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·콘솔한당 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·갖고다닌당 ·이브한당 ·도시어부당 ·FM한당 ·포뮬러당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·키보드당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·MTG한당 ·소리당 ·적는당 ·방송한당 ·PC튜닝한당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·터치패드당 ·트윗당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

나스당

강좌 시놀로지 NAS에 도커로 OpenVPN Server 설치하기 8

1
2022-06-05 17:18:21 112.♡.201.168
퓨쳐크루

1. OpenVPN Server란?

OpenVPN은 가상사설망(VPN: Virtual Private Network)을 구현하는 프로토콜 및 그 응용프로그램입니다. VPN은 점 대 점으로 또는 사이트 대 사이트로 두 원격지를 안전하게(암호화하여) 이어주는 역할을 합니다. 예를 들어 모바일에서 OpenVPN 서버가 설치된 홈네트워크에 연결할 수 있으며, 이 경우 모바일 장치는 마치 홈네트워크 안에 있는 것처럼 됩니다.


vpn.png



2. 왜 설치하나?

- 언제 어디서나 홈네트워크에 접속할 수 있음. 언제 어디서나 집에 있는 것과 같습니다. NAS에 접속해서 파일을 업로드하거나 다운로드할 수 있고, transmission을 설치하셨으면 토렌토도 조작할 수 있습니다. 데이터만 충분하면 NAS에 있는 동영상도 집에서처럼 볼 수 있습니다.

- iptime 공유기도 몇년전부터 이러한 vpn server 기능을 제공하고 있습니다. 제 공유기의 경우 pptp 방식의 vpn 서버 기능만 제공되는데, 접속이 자주 끊기고 불안정합니다. 그리고 보안측면에서도 취약하다는 얘기가 있습니다. 하지만, 이 OpenVPN 서버는 매우 안정적입니다. 보안도 뛰어납니다. 한마디로 좋습니다.


3. 준비사항 : DDNS 및 포트 개방

많은 공유기에 DDNS 기능을 내장하고 있습니다. 제가 가진 iptime 공유기를 기준으로 간단하게 설명합니다. 


(1) DDNS 설정하기

공유기에 접속하면 DDNS를 설정할 수 있는 메뉴가 있습니다. iptime 공유기는 특수기능 아래에 있습니다. DDNS는 인터넷 접속시 제공된 유동 ip를 도메인이름으로 연결지어주는 서비스 입니다. 공유기가 인터넷에 접속할 때 유동 ip가 변경되면 그 ip에 맞추어 도메인을 갱신해 줍니다. 이 도메인만 알면 외부에서 홈네트워크로 접속할 수 있습니다.


regDDNS.png



(2) 포트포워드 설정하기 

openvpn의 포트는 1194입니다. DDNS를 통해 공유기까지 도달했다고 해도 내부망에 있는 서비스까지는 접속하려면 포트를 개방하고 나스(컨테이너)까지 연결해주어야 합니다. 이것이 바로 포트포워드입니다. 공유기의 1194로 도달한 패킷을 컨테이너까지 전달해주는 역할을 합니다. 내부 IP는 NAS의 ip를 적어주면 됩니다.


regPortForward.PNG


4. NAS에 OpenVPN 설치하기

(1) 이미지 다운받고 초기화를 위한 컨테이너 생성하기

도커->레지스트리에서 kylemanna/openvpn을 다운로드 합니다. 이미지에서 kylemanna/openvpn을 "실행"하거나 더블클릭하여 컨테이너를 생성하는 창을 엽니다. "고급 설정"으로 들어갑니다.

    1) "볼륨"을 추가합니다. openvpn 인증서 등 데이터가 담길 폴더를 만들어 줍니다. /docker/openvpn 폴더를 만들었다고 가정하겠습니다. "볼륨"에서 "폴더 추가"로 이 폴더를 /etc/openvpn 으로 연결해줍니다.

mountVolume.PNG


    2) "환경"에서 Entrypoint 로 /bin/bash 를 지정합니다. "적용"을 눌러 "고급 설정"을 마쳐줍니다.


entrypointBash.PNG


    3) "기능 구성"에서 NET_ADMIN을 체크해줍니다.

optionNET_ADMIN.PNG


   이러한 설정이 끝나면 다음->완료를 눌러 컨테이너를 생성하고 실행합니다.


(2) OpenVPN 서버 설정하기

서버 설정파일과 인증서 등을 생성하고 할 차례입니다. 컨테이너를 더블클릭하면서 세부사항을 볼 수 있습니다. "터미널" 탭으로 들어갑니다. 위에서 Entrypoint로 bash 쉘을 실행하도록 했으므로 터미널이 작동할 것입니다. 


  1) 터미널에서 아래 명령을 실행합니다.


ovpn_genconfig -u udp://(DDNS 이름)       /* 예를 들어 위에서 설정한 DDNS 이름이 korea.iptime.org 라면 ovpn_genconfig -u udp://korea.iptime.org 로 입력하시면 됩니다. */


기본적인 설정파일이 /etc/openvpn 에 생성됩니다. 


initPKI.PNG


  2) 이제 서버 인증서를 생성할 차례입니다. 터미널에서 다음 명령을 입력합니다.


ovpn_initpki


여기서는 PKI를 생성하면서 passphrase 를 물어보고 확인하는 과정이 있습니다. 처음 두 번은 비밀번호(passphrase)를 생성하고 확인합니다. 그리고 다음에는 Common Name 을 물어보는데, 디폴트 값을 쓰도록 그냥 엔터를 눌러 넘어가도 괜찮습니다. 다음으로 passphrase를 두 번 더 물어보는데, 위에서 생성한 비밀번호를 입력하여 넘어가면 종료됩니다.


  3) 서버에 접속할 수 있는 클라이언트 생성하기


서버에 접속할 수 있는 클라이언트를 생성하는 차례입니다. 


easyrsa build-client-full (사용자명)   /* 사용자명이 korean 이면 easyrsa build-client-full korean 으로 입력합니다. */


실행과정에서 사용자의 비밀번호를 생성하고 확인합니다. 사용자 비밀번호를 생성하면 이 사용자가 접속할 때마다 비밀번호를 입력해 줘야 합니다. 다음으로 사용자를 생성하기 위한 권한이 있는지 확인하기 위해 윗 단계에서 만들 CA key passphrase를 입력하는 단계가 있습니다. 이제 사용자가 생성됩니다.


  4) 클라이언트용 ovpn 파일 생성

openvpn 클라이언트에서 사용할 ovpn 파일을 생성합니다. 


ovpn_getclient (사용자명) > /etc/openvpn/(사용자명).ovpn  /* 사용자명이 korean 이면 ovpn_getclient korean > /etc/openvpn/korean.ovpn


다 됐습니다. 눈치채셨겠지만 NAS에서 docker/openvpn 폴더에 가면 (사용자명).ovpn 파일이 생성되어 있을 것입니다. 이 파일을 유출되지 않도록 유의하세요. 이제 exit 를 입력하여 빠져나오고 컨데이터를 종료합니다.


  5) 초기화용 컨테이너 삭제

컨데이너를 삭제합니다.


(3) 서버 실행용 컨테이널 생성/실행


실행을 위한 컨테이너를 생성합니다. 위에 "(1) 이미지 다운받고 초기화를 위한 컨테이너 생성하기" 과정과 같이 컨테이너를 생성합니다. 다만, 이번에는 "환경"의 Entrypoint 는 수정하지 않고 그대로 둡니다(기본값이 ovpn_run입니다). 컨테이너가 시행되면 다 된 겁니다.


5. 클라이언트 설정

PC도 가능하고 안드로이드나 아이폰도(아마) 가능할 겁니다. 안드로이드를 기준으로 설명합니다. 플레이 스토어에서 OpenVPN Connect 를 설치합니다. OpenVPN Connect를 실행하고 +를 눌러서 위에서 생성한 ovpn 파일을 임포트 하면 됩니다. 그리고 단추를 눌러서 연결하거나 연결을 해제하면 됩니다.


OpenVPN Connect.jpg


참고자료 : https://www.reddit.com/r/synology/comments/74te0y/howto_deploy_openvpn_on_synology_using_docker/


이 글은 제 허락 없이 퍼 가시거나 복제하시면 안됩니다. 질문은 제가 아는 한도내에서 답변드리겠습니다.

퓨쳐크루 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [8]
childp
IP 211.♡.64.151
06-05 2022-06-05 17:34:19
·
시놀로지 패키지 센터에 있는 VPN Server에도 Open VPN이 있는데 docker로 설치하는 경우 이점이나 기능상의 차이가 있는지요?
퓨쳐크루
IP 112.♡.201.168
06-05 2022-06-05 17:57:41 / 수정일: 2022-06-06 11:55:39
·
@남자는갈대님 보안 측면에서 조금 더 나은 것 같습니다. 1) NAS 전체를 개방하기보다는 아이솔레이팅된 컨테이너만 제한적으로 개방함으로 보안상의 이점을 누릴 수 있습니다. 2) NAS 사용자와 별도로 VPN 사용자를 관리할 수 있습니다.
Noel
IP 220.♡.53.153
06-06 2022-06-06 09:41:09
·
@남자는갈대님 시놀로지 vpn server의 open vpn은 버전이 오래된 것 같습니다~ 그래서 사용하는데 엄청 애를 먹었던 기억이 있습니다...
헤릉헤롱
IP 113.♡.2.86
06-05 2022-06-05 21:54:44
·
오~ 좋네요
혹시 wireguard 서버 만드는 방법도 아시나요?
/Vollago
퓨쳐크루
IP 112.♡.201.168
06-05 2022-06-05 22:39:50 / 수정일: 2022-06-06 11:55:12
·
@헤릉헤롱님 덕분에 wireguard 가 뭔지 찾아봤습니다. 엄청 좋네요. 가볍고 빠르고. 오버헤드가 OpenVPN의 1/4밖에 안되네요. 근데 무리하면 어케어케 할 수는 있지만 현재의 DSM에는 좀 무리가 있네요. Wireguard 쓰려면 Linux kernel 5.6 이상으로 관련 커널 옵션이 활성화 되어야 하는데, 시놀로지 커널은 아직 이 옵션을 지원하지 않는 것으로 보입니다.
헤릉헤롱
IP 113.♡.2.86
06-05 2022-06-05 23:14:39
·
퓨쳐크루님// 오옷 그렇군요 알려주셔서 감사합니다
/Vollago
voldmolt
IP 59.♡.121.53
06-07 2022-06-07 03:15:48
·
@퓨쳐크루님 커널모듈 없어도 유저스페이스에서 돌아가는 wireguard-go 도 있습니다.
근데 시놀은 wireguard dkms도 지원을 안하나보네요. 좀.. 별로네요
리힌
IP 165.♡.237.20
06-08 2022-06-08 08:32:30 / 수정일: 2022-06-08 08:40:39
·
@헤릉헤롱님 아래 글 참조하셔서 세팅하시면 됩니다. (docker에 wireguard 설치)
https://www.clien.net/service/board/cm_nas/15165954?od=T31&po=0&category=&groupCd=CLIEN

리스트에 없는 모델도 설정이 가능합니다.(저는 1813+ 인데, 리스트에 없어서 713+ 모델과 호환되는 cedarview 로 설치가 잘되었습니다. )
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.