Windows 8 및 Windows Server 2008 이상 버전에서 마이크로소프트는 VPN 연결 설정을 다소 "정리"했습니다. 정확히 말하면 옵션(Options) 탭에 있던 여러 설정 항목이 제거된 것입니다. 참고로 Windows 7에서는 아래와 같은 설정 화면이 제공되었습니다.

문제 상황
Windows 8과 Windows 10에서는 거의 모든 옵션이 사라졌습니다.

그렇다면 자연스럽게 이런 의문이 생깁니다. VPN 연결이 끊어졌을 때 자동으로 다시 연결하고, 재시도 횟수까지 지정하려면 어떻게 해야 할까요?
실제로 몇 가지 방법이 있습니다. 난이도가 낮은 것부터 차례대로 살펴보겠습니다.
방법 1 — 메모장으로 설정 파일 직접 수정
필요한 파라미터를 수동으로 설정하는 방법입니다. 먼저 다음 폴더로 이동합니다.
C:\Users\[사용자명]\AppData\Roaming\Microsoft\Network\Connections\Pbk\
이 폴더에는 보통 한 개뿐인 rasphone.pbk라는 파일이 있습니다. 이 파일은 일반 텍스트 파일로, VPN 연결 설정 정보가 담겨 있습니다.
메모장(notepad.exe)으로 이 파일을 열어 내용을 확인할 수 있습니다.
일반적으로 자신의 VPN에 해당하는 섹션, 예를 들어 [PPTP-VPN] 같은 섹션을 찾으면 됩니다. 그 안에서 다음 줄들을 찾으세요. 별도로 변경한 적이 없다면 기본값은 다음과 같습니다.
RedialAttempts=3
RedialSeconds=60
IdleDisconnectSeconds=0
RedialOnLinkFailure=1
마이크로소프트가 또 사용자 대신 기본값을 정해 놓은 셈입니다. 하지만 이제 필요한 파라미터를 어디서 찾고 어떻게 수정해야 하는지 알게 되셨을 겁니다.
- RedialAttempts=3 – 재다이얼 시도 횟수 (최대 99회)
- RedialSeconds=60 – 재다이얼 시도 간격(초)
- IdleDisconnectSeconds=0 – 연결 끊김을 판단하기 전 대기 시간 (0 – 대기 없음)
- RedialOnLinkFailure=1 – 연결 실패 시 재다이얼 여부 (1 – 예, 0 – 아니오)
설정을 적용하려면 평소처럼 VPN 연결을 끊었다가 다시 시작하면 됩니다.
참고: Windows Server 2012는 시스템 임의로 C:\Users\[사용자명]\AppData\Roaming\Microsoft\Network\Connections\Pbk\_hiddenPbk 폴더를 생성하고 그 안에 rasphone.pbk를 배치하는 경우가 있으니, 해당 위치도 함께 확인해 보세요.
방법 2 — 간단한 스케줄러 작업 등록
작업 스케줄러(Task Scheduler)에 VPN 연결 명령이 담긴 BAT 파일을 실행하는 작업을 만들고, 예를 들어 5분마다 실행되도록 설정하는 방법입니다.
VPN 연결을 맺는 명령줄은 다음과 같은 형태입니다.
C:\windows\system32\rasdial.EXE entryname [username [password|*]] [/DOMAIN:domain]
그 외에도 다양한 매개변수가 있지만, 필요하신 분은 직접 찾아보시기 바랍니다.
작업 설정에서 반드시 "사용자가 로그온했는지 여부에 관계없이 실행(Run whether user is logged on or not)" 옵션을 체크하세요.

실행 파일을 지정합니다. 예를 들어 다음과 같습니다.

또는 rasdial.exe가 바로 실행되도록 지정할 수 있습니다. 여기서 VPN 이름, 사용자 계정, 비밀번호를 인자로 넣습니다.

마지막으로 매일 5분 간격으로 실행되도록 트리거를 설정하면 완료입니다.

방법 3 — 이벤트 기반의 고급 작업 구성
- 작업 스케줄러에서 새 작업을 만듭니다.
- 작업에 두 개의 트리거를 설정합니다. 첫 번째 트리거는 XML 쿼리를 사용합니다("이전 작업 이후 스케줄러 작업 시작하기" 글에서 소개한 방식과 유사합니다).
<QueryList>
<Query Id="0" Path="Application">
<Select Path="Application">*[System[Provider[@Name='RasClient'] and (EventID=20226)]] and *[EventData[Data[4]='829' or '629']]</Select>
</Query>
</QueryList>
참고: 값의 의미는 다음과 같습니다. 829 — 원격 연결 해제(Remote Disconnect), 629 — 클라이언트 측 연결 해제(Client Disconnect)
두 번째 트리거는 이벤트 로그 추적을 기반으로 합니다.
- 로그 이름: Microsoft-Windows-NetworkProfile/Operational
- 원본(Source): NetworkProfile
- 이벤트 ID: 10000
- 실행 프로그램으로 vpn-이름 사용자이름 비밀번호 형식의 매개변수와 함께 rasdial.exe를 선택합니다.
- 또한 조건(Conditions) 탭에서 다음 옵션들을 추가로 체크할 수 있습니다.

참고: 작업이 실제로 동작하는지 확인하려면 Event ID = 10001로 또 다른 트리거를 만들어 보세요. 이 이벤트는 VPN이 수동으로 연결 해제될 때 발생합니다. 이후 VPN을 수동으로 끊어보면 연결이 즉시 복구되는 것을 확인할 수 있습니다.
마무리
이상입니다. 위에서 소개한 방법들은 Windows 7에도 동일하게 적용할 수 있습니다. 자신의 환경과 목적에 맞는 방법을 골라 VPN 연결 끊김 걱정 없이 안정적인 원격 접속 환경을 만들어 보시기 바랍니다.