무엇을 도와드릴까요?

주제

NordVPN으로 OpenWrt 설정

NordVPN은 OpenWrt를 지원하나요?

OpenWRT 펌웨어가 설치된 라우터는 NordVPN과 같은 VPN을 지원하는 것으로 보고되었습니다. 그러나 유념해 주세요. 다음 구성은 NordVPN의 직원들이 아니라, 훌륭한 저희 고객들이 대신 공유하고 테스트한 결과입니다. 특히, OpenWRT 커뮤니티에서 적극적으로 활동하면서 최신 OpenWRT 지침을 제공하는 데 지속적인 도움을 주신 ulmwind 님께 NordVPN의 감사한 마음을 전합니다.

이 도움말에서는 두 가지 OpenWrt 설정 가이드를 제공합니다.

문제가 발생하는 경우, 고객 지원팀에 문의하여 추가 도움을 요청하세요! 이 튜토리얼은 고급 수준이나, 몇 가지 더 간단한 지침도 제공합니다.

GUI 지침

이 가이드에서는 LuCI 웹 인터페이스를 통해 OpenWrt 펌웨어를 사용하는 라우터에 NordVPN 연결을 설정하는 방법을 보여 드리겠습니다. 

  1. 인터넷 브라우저에 라우터 로컬 IP 주소를 입력하여 OpenWrt 라우터의 LuCI 인터페이스에 액세스하고 로그인합니다. 기본 IP 주소는 192.168.1.1이며 사용자 이름(Username)은 root입니다.

    1 (8).png

    기본적으로 비밀번호는 설정되어 있지 않으므로 해당 칸은 비워두어도 되나, 로그인하면 비밀번호를 설정하라는 메시지가 나타납니다.
    image__17_.png

    비밀번호를 설정하려면 시스템(System) > 관리(Administration)를 클릭합니다. 여기에서 비밀번호를 설정할 수 있습니다.
  2. 로그인했다면, 시스템(System) 탭을 선택하고 소프트웨어(Software)를 선택합니다.

    2 (10).png

  3. '목록 업데이트(Update lists)' 버튼을 클릭하고 프로세스가 끝날 때까지 잠시 대기했다가 '닫기(Dismiss)'를 클릭합니다.
  4. '필터(Filter)' 필드에 다음 패키지들의 이름을 입력하고 '설치(Install)…'를 클릭하여 설치합니다.
    1. openvpn-openssl
    2. ip-full
    3. luci-app-openvpn

      3 (7).png

      \
      
    
  5. '저장 및 적용(Save & Apply)'을 클릭하고 라우터 페이지를 새로 고침합니다. 그러면 VPN이라는 탭이 새로 나타납니다. 이를 클릭하고 드롭다운에서 OpenVPN을 선택합니다.
  6. 이제 OpenVPN 클라이언트 구성 파일을 다운로드해야 합니다. Nord 계정을 통해 권장 서버에 연결할 수 있습니다.

수동 연결 구성 파일을 찾으려면 아래 단계를 따르세요.

  1. Nord 계정로그인한 후, NordVPN을 클릭합니다.



  2. 아래로 스크롤하여 고급 설정(Advanced Settings)을 찾고 수동으로 NordVPN 설정(Set up NordVPN manually)을 클릭합니다.



  3. OpenVPN 구성 파일(OpenVPN configuration files) 탭을 선택합니다.



  4. 검색(Search)창을 사용하여 연결하고 싶은 서버를 찾거나, 아래로 스크롤한 후 UDP 다운로드(Download UDP) 또는 TCP 다운로드(Download TCP)를 클릭하여 다운로드합니다.



  5. OpenVPNIKEv2에 수동으로 연결 시, 서비스 자격 증명(Service credential) 탭에서 사용자 이름(Username)비밀번호(Password)를 사용해야 합니다.



이 가이드에서는 us5104.nordvpn.com 서버를 사용하겠습니다.

  1. 'OVPN 구성 파일 업로드(OVPN configuration file upload)' 섹션의 '인스턴스 이름(Instance name)' 필드에 VPN 연결의 이름을 지정합니다(저희는 'nordvpn_us'로 했습니다). 그다음, '파일 선택(Choose File) 버튼을 클릭하고 다운로드한 서버 파일을 찾은 후 '업로드(Upload)'를 클릭합니다.

    5 (1).png

  2. 'OpenVPN 인스턴스(OpenVPN instances)' 섹션에서 방금 생성한 인스턴스 옆의 '편집(Edit)' 버튼을 클릭합니다.

    7 (2).png

  3. 더 아래 필드에, NordVPN 서비스 자격 증명의 사용자 이름(username)과 비밀번호(password)를 별도의 줄로 입력합니다. username
    password

    9.png

    NordVPN 서비스 자격 증명(서비스 사용자 이름 및 서비스 비밀번호)은 Nord 계정 대시보드에서 확인할 수 있습니다.

수동 연결 설정을 위한 서비스 자격 증명을 찾으려면 아래 단계를 따르세요.

  1. Nord 계정로그인한 후, NordVPN을 클릭하고, 수동 설정(Manual setup)에서 서비스 자격 증명(Service credentials)을 클릭합니다. 여기에서 수동 연결에 필요한 사용자 이름(Username)비밀번호(Password)를 찾을 수 있습니다.



  2. 이제 자격 증명을 포함하는 필드 바로 위에 주어진 자격 증명 파일의 경로를 복사하여 위의 '구성 파일(Config file)' 섹션의 'auth-user-pass' 줄에 붙여 넣습니다.
경로는 다음과 같아야 합니다. auth-user-pass /etc/openvpn/nordvpn\_us.auth  


11.png

  1. 하단의 저장(Save) 버튼을 클릭합니다.
  2. 페이지 상단에서 '네트워크(Network)' 탭을 클릭하고 '인터페이스(Interfaces)'를 선택합니다.
  3. '새 인터페이스 추가(Add new interface)…' 버튼을 선택하고 이름을 'nordvpntun'으로 지정합니다.
  4. '프로토콜(Protocol)' 드롭다운 메뉴를 클릭하고 '비관리형(Unmanaged)'을 선택합니다.
  5. '인터페이스(Interface)' 드롭다운에서, 하단_-- 커스텀 --_ 필드에 'tun0' 이름을 입력하고 Enter 키를 누릅니다.

    13.png

  1. '인터페이스 생성(Create interface)'을 클릭하고 '저장(Save)' 버튼을 누릅니다.
  2. 상단의 '네트워크(Network)' 탭을 다시 한 번 선택하고 '방화벽(Firewall)' 섹션으로 갑니다.
  3. '추가(Add)' 버튼을 클릭하고 다음과 같이 조정합니다.
    1. 이름을 'vpnfirewall'으로 지정합니다.
    2. '입력(Input)' 옵션을 '거절(Reject)'로 설정합니다.
    3. '출력(Output)'은 '수락(Accept)'으로, '전달(Forward)'은 '거절(Reject)'로 둡니다.
    4. '마스커레이딩(Masquerading)' 옵션에 체크 표시합니다.
    5. 'MSS 클램핑(MSS clamping)' 옵션에 체크 표시합니다
    6. '보장되는 네트워크(Covered Networks)' 드롭다운 메뉴에서 'nordvpntun'을 선택합니다.
    7. '소스 구역에서 전달 허용(Allow forward from source zones)' 드롭다운 메뉴에서, 'lan'을 선택합니다.
    8. '저장(Save)' 버튼을 클릭합니다.

      15.png

  1. '구역(Zones) 섹션에서 'lan' 이름의 구역을 찾고 '편집(Edit)' 버튼을 클릭합니다.

    16.png

  1. '도착 구역으로 전달 허용(Allow forward to destination zones)' 드롭다운에서 'nordvpntun' 항목을 확인합니다.

    18.png

  1. 페이지 상단의 '네트워크(Network)'를 다시 한 번 클릭한 다음 드롭다운 목록에서 'DHCP 및 DNS(DHCP and DNS)'를 선택합니다.
  2. '일반 설정(General Settings)' 탭에서 DNS 전달(DNS forwardings)' 옵션을 찾고 NordVPN DNS 주소를 입력합니다. 주소는 103.86.96.100 및 103.86.99.100입니다.

    20.png

  1. '리졸브 및 호스트 파일(Resolv and Hosts Files)' 탭으로 가서, '리졸브 파일 무시(Ignore resolve file)' 확인란에 체크 표시를 하고, '저장 및 적용(Save & Apply)' 버튼을 클릭합니다.

    21.png

  1. 마지막으로, 다시 'VPN' > 'OpenVPN' 탭으로 갑니다.
  2. 'OpenVPN 인스턴스(OpenVPN instances)' 섹션에서, 목록의 NordVPN 옵션 옆의 '활성화(Enable)' 옵션에 체크 표시하고 '저장 및 적용(Save & Apply)' 버튼을 클릭합니다.

    23.png

  1. 생성된 NordVPN 인스턴스 옆의 '시작(Start)' 버튼을 클릭하여 VPN 서버에 연결합니다.

이 지침들을 따랐다면, 구성된 연결을 사용하여 연결됩니다. 성공했는지 확인하려면 NordVPN 홈페이지를 방문하세요. 페이지 상단에 '보호됨(Protected)' 상태가 표시되어야 합니다.

VPN 연결을 끊으려면, 'VPN' > 'OpenVPN' > 'OpenVPN 인스턴스(OpenVPN instances)' 섹션에서 NordVPN 옵션 옆의 '중지(Stop) 버튼을 클릭하면 됩니다.

CLI 지침

더 고급 버전의 튜토리얼을 원하시는 분은 이 가이드를 따르세요. OpenWrt에서 VPN의 이점을 누리려면, OpenWrt 펌웨어와 활성화된 OpenVPN 클라이언트가 모두 있는 라우터가 필요합니다. 펌웨어 메인 페이지는 https://openwrt.org/입니다.

  1. 시작하려면, 라우터의 LAN IP 주소를 사용하여 SSH를 통해 라우터에 액세스해야 합니다. 기본적으로, IP 주소는 192.168.1.1로 설정되어 있고 사용자 이름은 root입니다. 그러나 기본값을 하나라도 변경했다면 IP 주소가 다를 수 있습니다.
  2. OpenVPN 패키지는 펌웨어 이미지에 기본적으로 포함되어 있지 않습니다. 패키지를 설치하려면, 다음 명령을 실행하세요. opkg update
    opkg install openvpn-openssl
    opkg install ip-full 추가로 OpenVPN 구성의 LuCI 컴포넌트를 설치해야 할 수도 있으나, 이는 선택 사항입니다. 다음 명령을 실행하면 설치할 수 있습니다. opkg install luci-app-openvpn
  3. OpenVPN 패키지를 설치했다면, 다음 명령을 실행하여 라우터 시작 시 자동으로 실행되게 만들 수 있습니다. /etc/init.d/openvpn enable
  4. 다음으로 서버 구성 파일을 다운로드해야 합니다.

수동 연결 구성 파일을 찾으려면 아래 단계를 따르세요.

  1. Nord 계정로그인한 후, NordVPN을 클릭합니다.



  2. 아래로 스크롤하여 고급 설정(Advanced Settings)을 찾고 수동으로 NordVPN 설정(Set up NordVPN manually)을 클릭합니다.



  3. OpenVPN 구성 파일(OpenVPN configuration files) 탭을 선택합니다.



  4. 검색(Search)창을 사용하여 연결하고 싶은 서버를 찾거나, 아래로 스크롤한 후 UDP 다운로드(Download UDP) 또는 TCP 다운로드(Download TCP)를 클릭하여 다운로드합니다.



  5. OpenVPNIKEv2에 수동으로 연결 시, 서비스 자격 증명(Service credential) 탭에서 사용자 이름(Username)비밀번호(Password)를 사용해야 합니다.



  6. 이 가이드에서는 uk2054.nordvpn.com 서버를 사용했으나, 사용자는 웹사이트에서 권장하는 서버를 사용해야 합니다. 서버 파일을 다운로드하려면, 연결하려는 국가를 선택하고 '사용 가능한 프로토콜 보기(Show available protocols)'를 클릭한 후, 'OpenVPN TCP' 또는 'OpenVPN UDP'에 대한 '구성 다운로드(Download config)'를 마우스 오른쪽으로 클릭하고 '링크 주소 복사(Copy link address)'를 선택합니다. 그다음, SSH 세션으로 돌아가 다음 명령을 실행합니다. wget -P /etc/openvpn https://downloads.nordcdn.com/configs/files/ovpn_udp/servers/uk2054.nordvpn.com.udp.ovpn 하지만, 반드시 특정 서버 파일에 대해 복사한 링크를 사용하세요. 이 명령은 간편한 액세스를 위해 /etc/openvpn 디렉터리에 구성 파일을 다운로드합니다. 또는, 다른 장치에 서버 구성 파일을 다운로드한 후, SCP 또는 SFTP 프로토콜과 같은 대체 방법을 사용해 OpenWrt 라우터에 구성 파일을 전송할 수도 있습니다. 이전 OpenWrt 빌드용:
    간단히 여기(https://downloads.nordcdn.com/configs/archives/certificates/servers.zip)에서 보관된 파일을 다운로드하면 됩니다. 다운로드된 보관 파일에서, .crt와 .key 확장자의 해당하는 파일을 찾으세요. 파일들은 각 VPN 서버에 지정된 파일입니다.
  7. NordVPN용 OpenVPN 구성은 OpenVPN을 시작할 때마다 NordVPN 서비스 자격 증명 사용자 이름과 비밀번호를 입력할 것을 요청합니다. 하지만, 이러한 자격 증명이 자동으로 제공될 수 있도록 몇 가지를 조정해 보겠습니다. 먼저 과정이 더욱 쉬워지도록 하기 위해, 다음 명령을 실행하여 nano 텍스트 편집기를 설치하겠습니다. opkg install nano 또는, 내장된 vi 텍스트 편집기를 사용할 수도 있습니다. 텍스트 편집기에 대한 더 자세한 정보는 이 도움말(https://openwrt.org/docs/guide-user/base-system/user.beginner.cli)을 참조하세요. 이제 nano 텍스트 편집기를 사용해 다운로드한 서버 구성 파일을 엽니다. 여기에서는 명령이 다음과 같습니다. nano /etc/openvpn/uk2054.nordvpn.com.udp.ovpn 그다음, 단어 'secret'(따옴표 생략)을 'auth-user-pass' 스트링에 추가합니다. 결과 줄은 다음과 같아야 합니다. auth-user-pass secret 이제 _secret_이라는 파일명으로 새 파일을 생성해야 합니다. 여기에 NordVPN 서비스 자격 증명이 저장됩니다. 이렇게 하려면, 다음 명령을 실행합니다. nano /etc/openvpn/secret 새 파일이 생성되고 nano 텍스트 편집기로 파일이 열립니다. 파일의 첫 줄에는 NordVPN 서비스 사용자 이름을, 두 번째 줄에는 NordVPN 서비스 비밀번호를 입력합니다. NordVPN 서비스 자격 증명(서비스 사용자 이름 및 서비스 비밀번호)은 Nord 계정 대시보드에서 확인할 수 있습니다.

수동 연결 설정을 위한 서비스 자격 증명을 찾으려면 아래 단계를 따르세요.

  1. Nord 계정로그인한 후, NordVPN을 클릭하고, 수동 설정(Manual setup)에서 서비스 자격 증명(Service credentials)을 클릭합니다. 여기에서 수동 연결에 필요한 사용자 이름(Username)비밀번호(Password)를 찾을 수 있습니다.



  2. 두 가지 중 한 가지 방법으로 다운로드한 구성 파일을 사용해 OpenVPN을 구성합니다.
    1. 파일 확장자를 .ovpn에서 .conf로 변경합니다. 그러면 OpenVPN이 확장자를 통해 자동으로 파일을 찾을 수 있습니다. 이렇게 하기 위해 mv 명령을 사용할 수 있습니다. mv /etc/openvpn/uk2054.nordvpn.com.udp.ovpn /etc/openvpn/uk2054.nordvpn.com.udp.conf
    2. 다음 'uci' 명령을 사용해 '/etc/config/openvpn'의 파일 이름을 지정합니다. uci set openvpn.nordvpn=openvpn
      uci set openvpn.nordvpn.enabled='1'
      uci set openvpn.nordvpn.config='/etc/openvpn/uk2054.nordvpn.com.udp.ovpn'
      uci commit openvpn 다음으로, '/etc/config/openvpn' 파일은 다음의 추가된 스트링을 포함해야 합니다. config openvpn 'nordvpn'
      option enabled '1'
      option config '/etc/openvpn/uk2054.nordvpn.com.udp.ovpn' 다음 명령을 실행하면 확인할 수 있습니다. tail /etc/config/openvpn 또한, 파일 확장자를 .ovpn에서 .conf으로 변경하고 '/etc/config/openvpn' 파일에서 지정할 수도 있습니다. 하지만 이렇게 하면 OpenVPN이 단 한 번만 이 구성 파일로 시작됩니다.\
      
    
  3. 다음 명령을 실행하여 새 네트워크 인터페이스를 생성합니다. uci set network.nordvpntun=interface
    uci set network.nordvpntun.proto='none'
    uci set network.nordvpntun.ifname='tun0'
    uci commit network 모든 단계가 올바르게 수행되었다면 '/etc/config/network' 파일은 다음의 추가된 스트링을 포함해야 합니다. config interface 'nordvpntun'
    option proto 'none'
    option ifname 'tun0' tail /etc/config/network 명령을 사용하면 확인할 수 있습니다.
  4. 다음 명령을 실행하여 새 방화벽 구역을 생성하고 LAN에서 VPN으로의 전달 규칙을 추가합니다. uci add firewall zone
    uci set firewall.@zone[-1].name='vpnfirewall'
    uci set firewall.@zone[-1].input='REJECT'
    uci set firewall.@zone[-1].output='ACCEPT'
    uci set firewall.@zone[-1].forward='REJECT'
    uci set firewall.@zone[-1].masq='1'
    uci set firewall.@zone[-1].mtu_fix='1'
    uci add_list firewall.@zone[-1].network='nordvpntun'
    uci add firewall forwarding
    uci set firewall.@forwarding[-1].src='lan'
    uci set firewall.@forwarding[-1].dest='vpnfirewall'
    uci commit firewall 올바르게 수행되었다면, '/etc/config/firewall' 파일은 다음의 추가된 스트링을 포함해야 합니다. config zone
    option name 'vpnfirewall'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'
    list network 'nordvpntun' config forwarding
    option src 'lan'
    option dest 'vpnfirewall' tail -13 /etc/config/firewall 명령을 실행하면 확인할 수 있습니다. 앞서 언급한 스트링을 포함하는 마지막 13줄을 표시하는 명령입니다.
  5. 이제 DNS 설정을 구성해야 합니다. 가장 간단한 방법 라우터의 WAN 인터페이스에 NordVPN DNS를 사용하는 것입니다. NordVPN DNS를 추가하려면, 다음 명령을 실행합니다.
uci set network.wan.peerdns='0'  
uci del network.wan.dns  
uci add\_list network.wan.dns='103.86.96.100'  
uci add\_list network.wan.dns='103.86.99.100'  
uci commit  
  
__uci del network.wan.dns_ 명령 실행 후_ '__uci: 항목을 찾을 수 없음(uci: Entry not found)__' _오류가 발생하는 경우, 무시해도 됩니다._  
  
'/etc/config/network' 파일은 하단에 추가된 세 개의 스트링이 있는 ‘wan’ 섹션을 포함해야 합니다.  
  
config interface 'wan'  
<...>  
option peerdns '0'  
list dns '103.86.96.100'  
list dns '103.86.99.100'  
  
cat /etc/config/network 명령을 실행하고 출력값에서 ‘wan’ 인터페이스를 찾으면 확인할 수 있습니다.  
  
또한, 다음의 명령을 실행하여 Google과 같은 다른 DNS 주소를 추가할 수도 있습니다.  
  
uci set network.wan.peerdns='0'  
uci del network.wan.dns  
uci add\_list network.wan.dns='8.8.8.8'  
uci add\_list network.wan.dns='8.8.4.4'  
uci commit  
  
추가된 스트링은 이전 스트링과 비슷해야 합니다.  
 

(선택 사항) VPN 터널의 연결이 끊길 때 트래픽 유출을 막기 위해, 텍스트 편집기로 '/etc/firewall.user' 파일을 열고 다음 내용을 추가할 수 있습니다.

# This file is interpreted as a shell script.

# Put your custom iptables rules here, and they will be executed with each firewall (re-)start

# Internal uci firewall chains are flushed and recreated on reload, so

# put custom rules into the root chains, e.g. INPUT or FORWARD, or into the

# special user chains, e.g. input_wan_rule or postrouting_lan_rule.

if (! ip a s tun0 up) && (! iptables -C forwarding_rule -j REJECT); then

iptables -I forwarding_rule -j REJECT

fi

추가로, nano /etc/hotplug.d/iface/99-prevent-leak 명령을 실행하여 '/etc/hotplug.d/iface' 폴더에 파일을 생성하고 이름을 '99-prevent-leak'로 지정한 후 다음 내용을 파일에 추가해야 합니다.

#!/bin/sh

if [ "$ACTION" = ifup ] && (ip a s tun0 up) && (iptables -C forwarding_rule -j REJECT); then

iptables -D forwarding_rule -j REJECT

fi

if [ "$ACTION" = ifdown ] && (! ip a s tun0 up) && (! iptables -C forwarding_rule -j REJECT); then

iptables -I forwarding_rule -j REJECT

fi

일부의 경우, OpenVPN 연결이 '호스트를 해결할 수 없음(couldn’t resolve host)…'과 비슷한 로그 출력을 보이며 충돌할 수 있습니다. 이 경우, VPN 터널 자체는 남지만 연결은 손실됩니다. 이를 자동으로 다시 연결하려면, 먼저 텍스트 편집기로 '/etc/rc.local' 파일을 열고 다음 줄을 추가합니다.

/etc/openvpn/reconnect.sh &

또한, '/etc/openvpn' 디렉터리에 'reconnect.sh' 파일을 생성해야 합니다. nano /etc/openvpn/reconnect.sh 명령을 실행하면 작업을 수행할 수 있습니다.

파일에 다음 스크립트 내용을 입력합니다.

#!/bin/sh

n=10

while sleep 50; do

t=$(ping -c $n 8.8.8.8 | grep -o -E '[0-9]+ packets r' | grep -o -E '[0-9]+')

if [ "$t" -eq 0 ]; then

/etc/init.d/openvpn restart

fi

done

이 지침들을 따랐다면, 구성된 연결을 사용하여 연결됩니다. 성공했는지 확인하려면 NordVPN 홈페이지를 방문하세요. 페이지 상단에 '보호됨(Protected)' 상태가 표시되어야 합니다.

VPN 연결을 끊고 싶다면, 다음 명령을 실행합니다.

service openvpn stop

제공 언어: Dansk, Deutsch, English, Español, Français, Italiano, 日本語, Nederlands, Norsk, Polski, Português Brasileiro, Svenska, 繁體中文
이 게시글이 도움이 되었나요?
감사해요!