본문 바로가기
Synology

Script to keep VPN alive on Synology DSM (갱신 23.11.17

by kage2k 2023. 11. 17.
728x90
반응형
  • 안내말 입니다.
  • 개인적으로 남기는 글입니다. 아래의 경우를 미리 공지합니다.
  1. 높임말은 없는 경우가 있습니다.
  2. 영어, 일본어, 베트남어를 공부하고 있습니다. 경우에 따라서 사용됩니다.
  3. 보기 거북하다면 뒤로가기 해주세요.

이야기 시작-

해놀로지에 VPN을 설정하여서 토렌트머신을 이용하기 때문에 VPN이 계속 연결되어야 한다.
여러방법이 있지만, 서버 자체를 VPN으로 등록하면 해당 서버에서 밖으로 나가는 ip에 조금이나마 보안상 숨길 수 있기 때문에 해당방법을 이용한다.

현재 사용하고 있는 VPN제공업체 서비스는 ExpressVpn 이다. 년단위로 결제를 하여서 여러 기기에 사용하기 편리하여 사용하고 있다. 다음엔 nordVPN을 이용해볼려고 한다. 이유는 할인을 많이 해서…

ExpressVPN에서 openVPN 수동파일 다운로드

ExpressVPN에서 openVPN 수동파일을 한개 다운받아야한다.
원하는 로케이션에 있는 openVPN파일을 다운로드 하자.

시놀로지에서 VPN 연결

프로파일 이름은 뛰어쓰지 없이, 영어로 작성하시길 바랍니다.

중요한 부분 스크립트에 적용되는 부분 4가지

1차 VPN으로 연결을 합니다. 아래의 설정부분에 해당 부분을 알아내기 위함입니다.
SSH로 시놀로지에 접속합니다.

  1. IP
    sudo grep ip /usr/syno/etc/synovpnclient/vpnc_last_connect
  2. NAME
    sudo grep conf_name /usr/syno/etc/synovpnclient/vpnc_last_connect
  3. ID
    sudo grep conf_id /usr/syno/etc/synovpnclient/vpnc_last_connect
  4. DEV
    sudo grep if /usr/syno/etc/synovpnclient/vpnc_last_connect

아래의 스크립트 파일을 저장하기

적당파일명에 sh 라는 확장자로 저장합니다. (ex. vpn_reconnceted.sh)
저장하기 2가지를 수정해야합니다.


NAME='위에서 알아낸 NAME'  #ex vpn
ID='위에서 알아앤 ID'      #ex o1697785332
PROTO='openvpn'

###
# Check the VPN connection
###

if /usr/syno/bin/synovpnc get_conn | grep -q "Uptime"  
then  
    echo "INFO: VPN is already connected. Exiting..."
    exit 0
else
    echo "Killing VPN ($NAME)"  
	/usr/syno/bin/synovpnc kill_client --name=$NAME
  
	echo "Reconnecting VPN ($NAME - $PROTO)"  

	echo conf_id=$ID > /usr/syno/etc/synovpnclient/vpnc_connecting
	echo conf_name=$NAME >> /usr/syno/etc/synovpnclient/vpnc_connecting
	echo proto=$PROTO >> /usr/syno/etc/synovpnclient/vpnc_connecting
	/usr/syno/bin/synovpnc reconnect --protocol= --name=$NAME --retry=1 --interval=30
fi
exit 0

시놀로지 작업스케줄에 등록

위에 파일을 적당한 파일명 ex. vpn_reconnceted.sh 과 위치에 저장하시고,
작업스케줄에 등록하여 5분 단위로 실행 혹은 사용자가 원하는 시간 단위로 설정하시기 바랍니다.

 

(갱신 : 위 스크립트로 변경하면 5분 단위로 설정하지 않으셔도 됩니다.
이유는 UPTIME 이 인식안되면 다시 재 접속을 하기때문에 VPN이 끊어지는 경우가 발생합니다.)

이상 입니다.

 

도움이 되셨다면 커피한잔 부탁드립니다. 

* Setapp on Mac invite link flutterkage2k
https://go.setapp.com/invite/jinheesung

*  If it helps, buy me a cup of coffee.
https://www.buymeacoffee.com/flutterkage2k

감사합니다.

300x250
반응형