[NAS 전체 VPN 적용] 시놀로지 NAS VPN 적용 방법
VPN 설정
시놀로지 NAS기준 ExpressVPN을 가정한 방법을 설명 합니다.
1. DSM에 접속해 "제어판 > 네트워크 > 네트워크 인터페이스"로 들어가 "생성"을 누릅니다.
2. "VPN 프로파일 생성"을 선택하고 OpenVPN 항목을 선택 합니다.
3.아래와 같이 값을 입력하고 .ovpen에 VPN 제공사에서 다운받은 원하시는 지역의 .opvn 파일을 업로드 합니다.
4. 아래와 같이 고급 설정 값을 선택해 줍니다.
5. "제어판 > 네트워크 > 네트워크 인터페이스"에 들어가보면 아래와 같이 VPN 프로파일이 생성됐음을 확인할 수 있으며 상단의 "연결"을 클릭합니다.
자동 재연결 설정
이제 킬스위치 (VPN이 끊어질 시 자동 재연결)을 설정할 차례 입니다.
아래 내용으로 "killswitch.sh" 파일을 생성하고, DSM의 작업스케줄러에서 "생성", "예약된 작업", "사용자 정의 스크립트"로 들어가서 아래의 "bash /경로값/killswitch.sh"를 입력해 줍니다. (주기는 5분 주기로 설정해 줍니다.)
#-------------------------------------------------------------------------------
# 네트워크 작동 여부 확인
#-------------------------------------------------------------------------------
ping -c 1 8.8.8.8
if [ "$?" == "0" ] ; then
echo "네트워크가 정상 작동중입니다." >> log.txt
else
echo "네트워크가 정상 작동하지 않습니다. VPN 재연결을 시도합니다." >> log.txt
if [[ -f /usr/syno/etc/synovpnclient/l2tp/l2tpclient.conf ]]; then
L2TP_CONFIG=$(cat /usr/syno/etc/synovpnclient/l2tp/l2tpclient.conf)
else
L2TP_CONFIG=""
fi
if [[ -f /usr/syno/etc/synovpnclient/openvpn/ovpnclient.conf ]]; then
OPENVPN_CONFIG=$(cat /usr/syno/etc/synovpnclient/openvpn/ovpnclient.conf)
else
OPENVPN_CONFIG=""
fi
if [[ -f /usr/syno/etc/synovpnclient/pptp/pptpclient.conf ]]; then
PPTP_CONFIG=$(cat /usr/syno/etc/synovpnclient/pptp/pptpclient.conf)
else
PPTP_CONFIG=""
fi
#-------------------------------------------------------------------------------
# 설정 파일 확인
#-------------------------------------------------------------------------------
# 설정 파일 연결
CONFIGS_ALL="$L2TP_CONFIG $OPENVPN_CONFIG $PPTP_CONFIG"
# VPN 프로필 개수 확인
CONFIGS_QTY=$(echo "$CONFIGS_ALL" | grep -e '\[l' -e '\[o' -e '\[p' | wc -l)
# VPN 프로필이 하나일 때만 작동하도록 하기
if [[ $CONFIGS_QTY -eq 1 ]]; then
echo "[I] 1개의 VPN 프로필이 있음. 계속 진행..."
elif [[ $CONFIGS_QTY -gt 1 ]]; then
echo "[E] $CONFIGS_QTY 개의 VPN 프로필이 있음. 이 스크립트는 1개의 VPN 프로필까지만 지원이 가능함. 종료..."
exit 1
else
echo "[W] VPN 프로필이 존재하지 않음. VPN 프로필 생성 필요. 종료..."
exit 1
fi
#-------------------------------------------------------------------------------
# 변수 설정
#-------------------------------------------------------------------------------
PROFILE_ID=$(echo $CONFIGS_ALL | cut -d "[" -f2 | cut -d "]" -f1)
PROFILE_NAME=$(echo "$CONFIGS_ALL" | grep -oP "conf_name=+\K\w+")
PROFILE_RECONNECT=$(echo "$CONFIGS_ALL" | grep -oP "reconnect=+\K\w+")
if [[ $(echo "$CONFIGS_ALL" | grep '\[l') ]]; then
PROFILE_PROTOCOL="l2tp"
elif [[ $(echo "$CONFIGS_ALL" | grep '\[o') ]]; then
PROFILE_PROTOCOL="openvpn"
elif [[ $(echo "$CONFIGS_ALL" | grep '\[p') ]]; then
PROFILE_PROTOCOL="pptp"
fi
/usr/syno/bin/synovpnc kill_client
sleep 20
echo conf_id=$PROFILE_ID > /usr/syno/etc/synovpnclient/vpnc_connecting
echo conf_name=$PROFILE_NAME >> /usr/syno/etc/synovpnclient/vpnc_connecting
echo proto=$PROFILE_PROTOCOL >> /usr/syno/etc/synovpnclient/vpnc_connecting
/usr/syno/bin/synovpnc connect --id=$PROFILE_ID
sleep 20
#-------------------------------------------------------------------------------
# VPN 연결 여부 다시 확인
#-------------------------------------------------------------------------------
if [[ $(/usr/syno/bin/synovpnc get_conn | grep Uptime) ]]; then
echo "[I] VPN이 성공적으로 재접속됨. 종료..." >> log.txt
exit 1
else
echo "[E] VPN 재접속에 실패. 종료..." >> log.txt
exit 1
fi
sleep 20
echo conf_id=$PROFILE_ID > /usr/syno/etc/synovpnclient/vpnc_connecting
echo conf_name=$PROFILE_NAME >> /usr/syno/etc/synovpnclient/vpnc_connecting
echo proto=$PROFILE_PROTOCOL >> /usr/syno/etc/synovpnclient/vpnc_connecting
/usr/syno/bin/synovpnc connect --id=$PROFILE_ID
sleep 20
fi
외부 DSM 접속 허용
VPN 외부에서 DSM에 접속하기 위해서는 아래와 같이 다중게이트웨이 설정이 필요합니다.
1. DSM에 접속해 "제어판 > 네트워크 > 일반"으로 들어가 "고급설정"을 선택 합니다.
2. "다중 게이트웨이 활성화"를 체크 합니다.
3. NAS의 IPv4를 DHCP가 아닌 수동으로 IP를 설정해 줍니다. 예를 들어 제 경우 "192.168.1.200"으로 설정했습니다.
4. "제어판 > 네트워크 > 일반"에서 기본 게이트웨이 옆 "편집"을 눌러줍니다.
5. "서비스 순서"를 보면 사용하는 네트워크와 VPN네트워크가 보입니다. 순서를 조정해 VPN네트워크가 상단해 위치하게 조정합니다. 반드시 상단에 있어야 VPN 뒤에 실제 사용 네트워크를 위치시킬 수 있습니다.
댓글 없음