공유기 아래 있는 VPN 서버 이용하기

오래 전에 사용하다가 가동을 중지한 시놀로지 서버를 다시 VPN 서버로 이용하고자 새로 설치하고 인터넷을 연결했습니다. 전에 사용할 때는 외부에서 인터넷이 들어오면 모뎀으로 연결되고, 거기에서 바로 시놀로지 서버로 인터넷을 연결하였기 때문에 VPN 서버를 운용함에 있어서 아무런 문제가 없었습니다.

그런데, 현재 인터넷 환경에서는 공유기를 무려 2대나 거쳐야 하는 무지막지한 상황이라서 내부 네트워크에서는 VPN 서버로 연결이 잘 되지만, 외부에서는 VPN 서버로의 연결이 되지 않는 상황에 처했습니다. 어떻게 해결해야 하는지 많은 시도를 해보았고, 결국 해답을 찾았습니다. 서버 뿐만 아니라 클라이언트에서도 설정을 해줘야만 하네요. 본 글에서는 L2TP/IPsec 방식의 VPN 서버를 다룹니다.

1. VPN 서버 설정

시놀로지 패키지에는 아주 훌륭하게도 손쉽게 VPN 서버를 설치할 수 있는 VPN 패키지를 제공합니다.

VPN 서버를 설치한 다음에 L2TP/IPsec 방식에 대해서 설정을 진행합니다.

서버 설정은 이게 전부입니다. 필요한 경우에는 vpn 전용으로 사용자 계정을 하나 추가해두는 것도 좋습니다. 저는 별도 계정을 만든 다음에 모든 기능에 대해서 접근 거부를 해놓고 오직 vpn만 이용 가능하도록 설정하였습니다.

포트 포워딩

시놀로지 NAS를 공유기 아래에 설치해놨기 때문에 VPN 서버로 접근하기 위해서는 반드시 포트 포워딩이 필요합니다. 아래 글들을 참고하여 TCP 1701, UDP 1701, 500, 4500 포트 4개를 NAS로 포워딩해야 합니다.

이 중에서 주 포트는 UDP 500으로 포트 오픈 확인을 해보면 열려있다고 나와야 합니다.

2. VPN 클라이언트 설정

Windows 10에서는 별도의 VPN 클라이언트 없이도 이미 내장된 VPN 기능이 존재합니다. 윈도우의 설정 – 네트워크 및 인터넷 – VPN에 들어가보면 아래와 같이 VPN 설정을 할 수 있습니다.

[VPN 연결 추가] 버튼을 눌러서 앞서 설정한 서버를 추가합니다.

여기서 연결 이름은 본인이 인지하기 쉬운 VPN 이름을 정해주시면 됩니다. 서버 주소는 앞서 설정한 VPN 서버의 주소를 지정하면 됩니다. 아이피일 수도 있고 도메인일 수도 있습니다. VPN 종료는 L2TP/IPsec으로 하는데, 미리 공유한 키가 있으므로 이걸로 진행합니다. 해당 키를 넣고, 그 아래에는 서버에서 설정한 VPN 계정을 입력하면 됩니다.

그리고 저장을 한 다음에 연결을 해보면 연결이 안될 겁니다. 만약에 공유기 없이 VPN 서버를 설치했다면 문제 없이 동작합니다. 공유기가 있어도 DDNS 등을 설정하고 그 주소를 통해서 VPN 서버를 이용하면 제대로 동작할 수 있습니다. 하지만 DDNS도 없고 포트 포워딩만 해놨으면 대부분의 경우에는 VPN 서버로 연결 자체가 되지 않습니다.

UDP Encapsulation

이처럼 VPN 서버가 공유기 아래 있을 때에는 UDP Encapsulation이라는 방법을 통해서 서버 연결이 가능합니다. 이 기술에 대한 구체적인 내용은 생략하도록 하겠습니다.[링크] Windows에서는 Regedit을 이용하여 레지스트리 하나만 추가하면 손쉽게 UDP Encalsulation을 이용할 수 있습니다.[링크1, 링크2]

먼저, 윈도우 키 + R 키를 눌러 실행창을 열고 regedit을 입력하여 실행합니다. 또는 시작버튼 옆의 검색에 입력해서 Regedit을 실행해도 됩니다. 그리고 아래 경로를 선택합니다.

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent 

그러면 레지스트리 목록이 나타나는데, 우클릭을 하여 새로 만들기 > DWORD(32비트) 값을 선택합니다. 이름과 값은 아래와 같이 설정합니다.

  • 이름: AssumeUDPEncapsulationContextOnSendRule
  • 값 : 2

정상적으로 설정을 마치면 아래와 같이 되어야 합니다.

이제 컴퓨터를 재부팅하고 앞서 설정한 VPN 연결을 다시 시도해봅니다. 아까와는 달리, 정상적으로 연결이 될 것입니다. 이렇게 해서 공유기 아래 있는 VPN 서버를 이용할 수 있습니다.