공유기 아래 있는 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 서버를 이용할 수 있습니다.

3 comments

  1. 좋은글 감사합니다. 질문이 있습니다.
    해외친구가 국내 로스트아크라는 게임을 하고싶어합니다 근데 일반 유무료vpn을 사용하면 로스트아크측에서 차단을 시켜버립니다. 그래서 찾은 방법이 저희집에서 iptime 공유기를 사용해서 iptime자체기능인 vpn서버를 만들고 친구가 여기에 접속해서 하는방법을 찾았습니다. 이 방법으로 하는 해외분들은 2년동안 로스트아크를 탈 없이 즐기셨다네요. 근데 문제가 저희집은 lg u+ 기가랜을 사용중이고 무조건 lg u+전용 공유기를 거쳐야 속도가 기가랜급으로 나옵니다. 그래서 불기피하게 메인공유기는 변경이어렵고요..제 방은 벽면포트에 랜선껴서 pc로 바로연결하는 방식이구요 그래서 제 방에서 벽랜선과 pc사이에 iptime공유기를 끼우면 되지 않을까 생각해서 더 검색을 해봤는데요 그렇게 vpn설정을 해봤자
    결국 1공유기인 lg공유기에서 차단을 한다고하네요
    이해결법은 포트포워드나 dmz라는 설정으로 알고있는데
    Dmz는 먹통이된다는 글이 많고 포트포워드는 어떤포트를열어야 되는지도 모르겠고 막막해서요.. 이 글 본문을 읽어보니 공유기(엘지공유기) 아래에있는 vpn서버(iptime공유기vpn서버기능)이용하기 라고 알고있는데 제 경우도 해결될까요? 안된다면 제 경우인 포트포워드를 어떻게해야할지여 ㅠㅠ

    1. PPTP 방식의 VPN인 경우에는 TCP 1723 포트와 GRE 47 포트라고 하네요. 보통 TCP는 포워딩을 제공하는데 GRE 포트는 포워딩을 별도 제공하지 않을 수 있습니다. 유플러스 공유기 내에서 PPTP 기능 관련 옵션을 찾아보셔야 할 것 같습니다.

    2. 네이버 엑스퍼트 상담요청드렷습니다. 보시면 답변부탁드려요

Leave a Reply

Your email address will not be published. Required fields are marked *