기타 가이드

[가이드] 라우터에서 NordVPN을 WireGuard로 연결하는 방법

컨텐츠 정보

  • 1,083 조회

본문

오랜만에 가이드입니다.

그동안 파트별로 나눠서 글을 작성했었는데 - 어쩐지 반응이 떨어진다고 생각되어 - 

한장에 다 풀어놨습니다.

그럼 시작합니다.

 

최근 출시되는 공유기, 라우터의 경우에는 WireGuard나 OpenVPN을 통해 트래픽을 라우팅할 수 있습니다.

저는 Unifi Dream Machine을 사용하고 있고 위 두개의 VPN을 모두 지원하고 있습니다.

그리고 여기에 사용할 수 있는 최고의 VPN 공급자 중 하나는 NordVPN입니다. 

NordVPN은 여러 해 동안 우수한 VPN 공급자로 평가받아 왔지만, 한 가지 어려움이 있습니다.

VPN 연결에서 사용하기 가장 좋은 프로토콜 중 하나는 WireGuard입니다. 

WireGuard는 더 빠르고 가벼운 특성을 가지고 있어 UniFi Cloud Gateway에서 리소스를 적게 사용합니다. 

그러나 NordVPN은 WireGuard 구성 파일을 제공하지 않기 때문에 이를 직접 만들어야 합니다.


이 글에서는 NordVPN을 UniFi 네트워크의 VPN 공급자로 설정하기 위해 WireGuard 구성 파일을 만드는 방법을 설명하겠습니다.

 

 

요구 사항

이 작업을 위한 방법은 여러 곳에서 다뤄졌지만 대부분 Linux 시스템을 사용하는 방식입니다. 

우리는 조금 더 쉽게 하기 위해 Windows를 사용하여 진행할 것입니다.

구성 파일을 만들려면 NordVPN 클라이언트와 WireGuard 클라이언트를 설치해야 합니다. 

또한, 액세스 토큰을 생성해야 하는데, 이를 위한 절차도 상세히 설명드리겠습니다.

이 글 하단에서는 구성 파일을 생성할 수 있는 PowerShell 스크립트를 제공합니다.


NordVPN WireGuard 구성 파일

NordVPN은 구성 파일을 제공하지만, 그 파일들은 OpenVPN용입니다. 

OpenVPN의 단점은 많은 리소스를 소비하여 연결 속도가 느려질 수 있다는 점입니다. 

반면 WireGuard는 더 가볍고 빠른 연결을 제공합니다.

현재 NordVPN은 WireGuard를 "NordLynx"라는 이름으로 제공하고 있습니다. 

이 글에서 "NordLynx"라고 언급되면, 사실상 WireGuard를 의미하는 것입니다.

UniFi 네트워크에 WireGuard 연결을 추가하려면, 구성 파일을 사용하거나 모든 정보를 수동으로 입력할 수 있습니다. 

우리는 PowerShell을 이용해 NordVPN에서 정보를 가져와 WireGuard 구성 파일을 자동으로 만들 예정입니다. 

이 방법은 연결 설정을 훨씬 간편하게 해줍니다.

다음은 PowerShell 스크립트 단계별 설명입니다.


1단계 - NordVPN 클라이언트 설치 및 설정

구성 파일을 만들려면 먼저 NordVPN 클라이언트를 설치해야 합니다. 

공식 웹사이트에서 운영 체제에 맞는 클라이언트를 다운로드한 후 설치합니다. 

Windows에서는 OpenVPN 클라이언트도 제공되지만, 우리는 이를 사용할 필요는 없습니다.

클라이언트 설치 후, 설정에서 사용하고 싶은 VPN 프로토콜을 선택해야 합니다. 

기본적으로 자동 설정되어 있지만, 우리는 WireGuard 프로토콜(NordLynx)을 사용하도록 설정해야 합니다.

 

설정 방법:

NordVPN 클라이언트를 열고, "설정" > "연결" 메뉴로 이동합니다. VPN 프로토콜을 "NordLynx"로 설정합니다.

 

2단계 - 액세스 토큰 생성

WireGuard 구성 파일을 수동으로 생성하려면 "개인 키"가 필요합니다. 

이 키는 연결을 인증하는 데 사용되며, 사용자 이름과 비밀번호 대신에 사용됩니다. 

개인 키를 얻기 위해서는 먼저 액세스 토큰을 생성해야 합니다.

 

액세스 토큰 생성 방법:

1. NordVPN 계정 대시보드에 접속합니다. 

2. "수동 설정"을 클릭한 후, 로그인합니다. 

3. "새 토큰 생성" 버튼을 클릭하고, "만료되지 않음"으로 설정한 뒤 토큰을 생성합니다. 

4. 생성된 토큰을 복사하여 메모장에 저장해두세요. 나중에 필요합니다.


3단계 - WireGuard 클라이언트 설치

WireGuard 클라이언트를 설치하면, VPN 연결 정보를 더 쉽게 읽을 수 있습니다. WireGuard 클라이언트를 설치하기만 하면 됩니다.


4단계 - NordVPN 연결 설정

이제 NordVPN 클라이언트를 통해 원하는 서버와 연결합니다. 

사용하고 싶은 VPN 서버를 선택하고 연결하면 됩니다.

 

5단계 - 개인 키 받기

다음 단계에서는 PowerShell을 사용할 것입니다. 

중요한 점은 PowerShell을 관리자 권한으로 실행해야 한다는 것입니다. 

관리자 권한이 없으면 WireGuard 클라이언트가 NordVPN 연결 정보에 접근할 수 없습니다.

 

관리자 권한으로 PowerShell 실행 방법:

Windows 시작 메뉴에서 "PowerShell"을 오른쪽 클릭한 후 "관리자 권한으로 실행"을 선택합니다.

PowerShell에 익숙하지 않아도 걱정 마세요. 

아래 코드를 복사하여 붙여넣기만 하면 됩니다.

$accessToken = "액세스 토큰을 넣어주세요"

Write-Host "Getting the Private key"

$token = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("token:$accessToken"))

$headers = @{

    Authorization = "Basic $token"

}

$response = Invoke-RestMethod -Uri "https://api.nordvpn.com/v1/users/services/credentials" -Headers $headers -Method Get

$privateKey = $response.nordlynx_private_key

 

6단계 - 연결 정보 얻기

WireGuard 클라이언트가 설치된 후, PowerShell에서 wg show 명령어를 입력하여 연결 정보를 확인할 수 있습니다.

 

연결에서 필요한 정보는 공개 키, 수신 포트 번호, 사전 공유 키 및 엔드포인트입니다. 

이를 위해 아래 명령어를 사용할 수 있습니다:

$listenPort = wg show NordLynx listen-port

$publicKey = wg show NordLynx public-key

$preSharedKey = (wg show NordLynx preshared-keys) -replace 's+(none)$', '' -replace 's+$', ''

$endPointRaw = wg show NordLynx endpoints

$ipRegex = [regex]'b(?:d{1,3}.){3}d{1,3}:d{1,5}b'

$endPoint = ($ipRegex.Match($endPointRaw)).Value

 

7단계 - WireGuard 구성 파일 생성

모든 정보를 수집했으면 이제 WireGuard 구성 파일을 생성할 수 있습니다. 

필요한 세부 사항을 기반으로 아래 코드로 구성 파일을 만듭니다.

첫줄의 경로에서 폴더는 미리 생성되어있어야합니다.

$filePath = New-Item -path "c:tempnordvpn-wireguard.conf"

$confFileContent = @"

[Interface]

ListenPort = $listenPort

PublicKey = $publicKey

PrivateKey =  $privateKey

Address = 10.5.0.2/32

DNS = 1.1.1.1




[Peer]

PublicKey = $preSharedKey

AllowedIPs = 0.0.0.0/0, ::/0

Endpoint = $endPoint

PersistentKeepalive = 60

ForcedHandshake = 5

"@

Add-Content -path $filePath -Value $confFileContent

 

UniFi 네트워크에 NordVPN 추가하기

구성 파일을 생성한 후, UniFi 네트워크에 NordVPN을 추가할 수 있습니다. 

UniFi 대시보드에서 "설정 > VPN"으로 이동하고 "VPN 클라이언트" 탭에서 "새로 만들기"를 클릭합니다. 

여기서 "WireGuard" 프로토콜을 선택하고, 생성한 구성 파일을 업로드합니다.

 

VPN을 통한 트래픽 라우팅

VPN 연결을 추가한 후, 이제 트래픽을 NordVPN을 통해 라우팅할 수 있습니다. 

UniFi 네트워크에서는 특정 장치나 VLAN의 트래픽만 VPN을 통해 라우팅하도록 설정할 수 있습니다. 

"설정 > 라우팅"에서 경로를 추가하여 트래픽을 라우팅하세요.

 

마무리

WireGuard를 사용한 NordVPN 연결 설정은 몇 가지 단계를 거쳐야 하지만, OpenVPN보다 빠르고 가벼운 성능을 제공하는 만큼 충분히 가치 있는 작업입니다. 

PowerShell 스크립트를 활용하면 구성 과정을 훨씬 쉽게 만들 수 있습니다.

UniFi 네트워크에서는 한 번에 하나의 NordVPN 연결만 활성화할 수 있으므로, 포트 51820만 사용 가능하다는 점을 유의하세요. 

필요 없는 연결은 일시 중지하여 다른 연결을 사용할 수 있습니다.

 

마지막 글의 마무리는 WireGuard를 통해 다운로드하고있는 토렌트가.

 

[이 게시물은 Keiminem님에 의해 2024-11-12 13:02:17 자유게시판에서 이동 됨]

관련자료

댓글 0
등록된 댓글이 없습니다.
Member Rank