CentOS에 WARP 설치 및 사용하기(Netflix IP 제한 우회)

/
简体中文한국어

WARP

Cloudflare WARP는 네트워크 통신의 프라이버시를 보호하는 Cloudflare의 서비스입니다. WARP를 외부 통신 경로로 사용하면 Netflix 같은 스트리밍 서비스의 프록시 IP 차단을 우회하는 데 도움이 될 수 있습니다. (Cloudflare 공식 소개(영문))

WGCF

WGCF는 WARP의 비공식 CLI 클라이언트입니다.

WGCF를 이용하면 VPS에서 나가는 IPv4·IPv6 통신이 WARP를 거치도록 설정할 수 있습니다. 이를 Netflix 시청 제한 우회에 활용합니다.

wgcf 설치

다음 명령을 실행합니다.

BASH
mkdir wgcf
cd wgcf
wget -O wgcf https://github.com/ViRb3/wgcf/releases/download/v2.2.4/wgcf_2.2.4_linux_amd64
chmod +x wgcf

처음 사용할 때는 계정을 등록하고 설정 파일을 생성합니다.

Shell
./wgcf register
./wgcf generate

실행하면 프로그램 디렉터리에 wgcf-account.toml 및 wgcf-profile.conf 파일이 생성됩니다.

wgcf 설정

wgcf-account.toml 파일에는 WARP 계정 정보가 들어 있습니다. WARP+를 사용한다면 해당 계정의 정보로 바꾸면 됩니다. wgcf-profile.conf 파일은 WireGuard 설정 파일입니다. 로컬 컴퓨터에 내려받아 보관합니다.

wgcf-profile.conf 수정

WireGuard는 커널에서 동작하며 자체 가상 네트워크 인터페이스를 만듭니다. WARP 클라이언트에는 NAT 내부의 사설 IP 주소가 할당됩니다. IPv4와 IPv6의 라우팅을 모두 WireGuard가 처리하면 기존 IP를 통한 서버 접속이 끊길 수 있습니다. 이를 막기 위해 여기서는 둘 중 한쪽을 기존 경로로 유지합니다.

필요하다면 engage.cloudflareclient.com의 IP 주소를 DNS로 확인한 뒤, 해당 IPv4 또는 IPv6 주소를 Endpoint에 지정하고 저장합니다.

설정 파일은 다음 두 방법 중 하나로 수정합니다.

  • 마지막 줄의 Endpoint=engage.cloudflareclient.com:2048을 162.159.192.1:2408으로 변경한 뒤 AllowedIPs = 0.0.0.0/0 항목을 삭제합니다. 그러면 IPv4 통신은 WireGuard를 거치지 않고 기존 경로를 사용합니다.
  • 마지막 줄의 Endpoint=engage.cloudflareclient.com:2048을 [2606:4700:d0::a29f:c001]:2408으로 변경한 뒤 AllowedIPs = ::/0 항목을 삭제합니다. 그러면 IPv6 통신은 WireGuard를 거치지 않고 기존 경로를 사용합니다.

WireGuard 클라이언트 설치

CentOS 7:

Shell
sudo yum install epel-release elrepo-release
sudo yum install yum-plugin-elrepo
sudo yum install kmod-wireguard wireguard-tools

다른 운영체제의 설치 방법: WireGuard 공식 문서

설치가 끝나면 VPS를 다시 시작합니다.

WireGuard 설정

수정한 설정 파일 wgcf-profile.conf를 /etc/wireguard에 업로드한 뒤 이름을 wgcf.conf로 바꿉니다.

Shell
cp wgcf-profile.conf /etc/wireguard/wgcf.conf

wgcf 시작

Shell
#加载内核模块
modprobe wireguard
#检查WG模块加载是否正常
lsmod | grep wireguard

터널을 켜고 끄는 명령은 다음과 같습니다.

Shell
#开启隧道
sudo wg-quick up wgcf
#关闭隧道
sudo wg-quick down wgcf

VPS에서 나가는 통신에 IPv6가 사용되지 않으면 /etc/gai.conf 파일을 열어 내용을 다음과 같이 바꿉니다. 파일이 없다면 새로 만듭니다.

TEXT
label ::1/128 0
label ::/0 1
label fd01::/16 1
label 2002::/16 2
label ::/96 3
label ::ffff:0:0/96 4
label fec0::/10 5
label fc00::/7 6
label 2001:0::/32 7
precedence ::1/128 50
precedence ::/0 40
precedence fd01::/16 40
precedence 2002::/16 30
precedence ::/96 20
precedence ::ffff:0:0/96 10

Netflix를 시청할 수 있는지 확인합니다.

BASH
wget -O nf https://github.com/sjlleo/netflix-verify/releases/download/2.6/nf_2.6_linux_amd64 && chmod +x nf && clear && ./nf

확인 결과:

netflix-verify.png

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...