시놀로지 NAS를 이용하여 다음 3단계의 L2TP VPN을 설정한 이후, 일반적으로 필요한 L2TP의 접속 준비가 된 것이며, 정상적이라면 모바일 폰이나, 윈도우에서 L2TP를 이용한 접속이 가능해야 한다. 통상 접속은 1초 이내에 이루어지는 게 보통이다.
* 시놀로지에서 VPN 서버의 L2TP 활성화 및 설정
* 시놀로지 제어판–> 보안 메뉴–> “방화벽”에서 L2TP 관련 Port (1701, 500, 4500번) 서버 접근 허용
* 시놀로지 서버가 연결된 라우터에서 L2TP 관련 포트들의 포워딩(UDP 1701, 500, 4500번 포트)
다만, 이 경우에도 Windows 10에서는 접속이 잘 되지 않는 경우가 있다. 다음과 같은 단계들로 해결해 본다.
1단계. 기초 설정 정보 및 라우터의 포트포워딩, 서버의 방화벽 확인
L2TP 사전 공유키가 올바르게 접속하는 PC에 입력되어 있는지, 로그인 정보가 정확한지 확인한다.
NAS의 제어판에서 방화벽 내 설정 상태를 확인
NAS가 접속된 라우터에서 포트포워딩 여부 확인
2단계. 모바일 폰 등에서 접속 시도
1단계에서 모든 정보 설정이 적절한 것으로 판단되면 모바일 폰으로 L2TP 접속을 시도한다. 만일 접속이 원활하지 않다면, 1단계를 반복하여 점검해 본다.
만일 모바일 폰에서 L2TP 접속이 원활하게 접속되면 문제는 Windows10이 설치된 PC에서의 설정 문제로 결론지을 수 있다. PC를 바꾸어서 다른 PC에서 접속을 시도해 본다. 만일 해결되지 않으면 3단계로 진행한다.
3단계. Registry의 PolicyAgent 수정
(1) Regedit을 통해 레지스트리에 접근한 후, “PolicyAgent” 폴더를 찾음
(2) “PolicyAgent”에 마우스 오른쪽 버튼을 클릭하면, “새로 만들기”와 여러 가지 세부 메뉴가 나오는데 이중 DWORD(32비트) 값을
선택하고 “AssumeUDPEncapsulationContextOnSendRule”을 입력하고 Enter를 누르면 –>화면 오른쪽 부분에 해당 키가 생성됨
(3) 이렇게 생성된 키에 마우스 오른쪽 버튼을 클릭하면, “수정”메뉴가 나타나는데, 이를 선택함
(4) 기존에 입력되어 있는 0 대신 2를 입력하고 Enter
(5) PC를 리부팅한 후, VPN 접속 시도
4단계. 로컬 보안정책 변경 및 Registry 추가 수정
윈도의 돋보기 모양의 검색 화면에서 secpol 또는 로컬 보안 정책을 입력하면 다음과 같이 로컬 보안정책 앱이 검색되는데, 이를 실행시켜 아래와 같은 화면을 연다.
참고사항) 다만, 로컬 보안정책은 Windows 10의 Home 버전에서는 기본적으로는 편집이 불가능하기 때문에, 약간의 추가 작업이 필요한데, 인터넷에 다양한 방법들이 소개되어 있다. 나의 경우에는 메모장 앱을 이용해, 다음의 내용으로 실행 가능한 batch 파일을 만들고, 이를 “관리자 권한”으로 실행하는 방법으로 해결하였다. 메모장으로 batch 파일을 만들 때, 단순 text 파일이 아닌 실행 가능한 파일이 되도록 저장 시 이름에 주의해야 한다.
@echo off
pushd “%~dp0”
dir /b %SystemRoot%servicingPackagesMicrosoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b %SystemRoot%servicingPackagesMicrosoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in (‘findstr /i . List.txt 2^>nul’) do dism /online /norestart /add-package:”%SystemRoot%servicingPackages%%i”
pause
로컬 보안정책 화면에서, 로컬 정책–>보안 옵션으로 폴더를 연다.
LAN Manager 인증 수준을 열고 다음과 같이 변경해 주고, 확인해 준다.
다음으로 다시 NTLM SSP 기반… 부분으로 간다. 서버에 대한 부분과 클라이언트에 대한 부분으로 2개의 행이 나타난다.
먼저 서버 부분을 선택해서 다음과 같이 변경해 주고 확인
다시 클라이언트 부분에 대해서도 동일하게 변경해 주고 확인
여기까지 마쳤으면, 다시 Registry 편집기를 열어서 LSA 항목을 찾는다.
(컴퓨터HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLsa)
Lsa 폴더에서 마우스 우측 버튼을 이용하여 새로 만들기 Dword(32)를 하고, 새로 생성된 키에 “LmCompatibilityLevel”을 기입한다. 그리고 이 키를 선택한 후, 마우스 우측 버튼에서 나오는 수정 메뉴를 이용하여, 키값을 3으로 변경한다.
PC를 재시동한 이후, VPN 접속을 시도한다.
내 경우에는 다른 여러 가지 방법(위의 1~3단계, 네트워크 어댑터 초기화 등등..)으로도 안되던 접속을 이 4단계 방법을 통해 해결할 수 있었다.
<2022년 1월 Update>
2022년 1월 초 위의 방법으로 L2TP VPN 접속에 아무런 문제가 없었다. 그런데 1월 중순 x64 기반 시스템에 대한 누적 Update (KB5009543)이 이루어지고 난 이후 다시 접속이 되질 않고, 다시 다음과 같은 메시지가 나오고 있다.
핸드폰에서 L2TP 접속을 테스트한 결과, 여전히 잘 이루어지고 있어서, 문제는 Windows 10 설정 부분에 있는 것으로 추정되었고, 위의 설정들을 확인해 본 결과, 아래와 같이 수정해 두었던 보안 설정 부분이 다시 예전처럼 변경된 것을 확인할 수 있었다.
<위에서 변경해 두었던 설정>
<변경된 설정>
그 외의 다른 보안정책 항목이나, Registry 내 수정 사항들은 모두 위에서 설정해 두었던 대로이다.
그런데, 이 변경된 사항을 다시 위에서처럼 수정후 다시 Booting 해도, 여전히 L2TP 접속이 이루어지지 않고 있다. 아마도 추가의 새로운 변경사항이 있는 것 같다. 해결책을 찾거나, OpenVPN으로 변경해서 사용해야 할 것 같다.
참고 : Update
이러한 L2TP 접속의 문제가 유독 Windows PC에서만 발생하고 있고, 또한 주기적으로 반복되고 있어서, 이번에 해결하더라도 향후에 또 반복해서 발생할 것 같아, 앞으로는 L2TP와 OpenVPN을 병행해서 사용하기로 했습니다.
현재도 L2TP 접속에 아무런 문제가 없는 안드로이드 기기에서는 일단 기존대로 L2TP를 이용하고,
윈도 10에서는 OpenVPN을 설치해서 사용하기로 했습니다. (OpenVPN 설정에 대해서는 블로그의 글 24D와 24F를 참고 바람)

