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という2つのファイルが生成されます。

wgcfの設定

wgcf-account.tomlにはWARPのアカウント情報が保存されています。WARP+を利用している場合は、自分のアカウント情報に差し替えます。wgcf-profile.confはWireGuardの設定ファイルです。手元の端末にダウンロードして保存してください。

wgcf-profile.confの編集

WireGuardはカーネル上で動作し、独自の仮想ネットワークインターフェースを作ります。WARPのクライアントに割り当てられるのは、NATの内側のプライベートアドレスです。IPv4とIPv6の両方のルーティングをWireGuardに任せると、元のIPアドレスでサーバーに接続できなくなる可能性があります。ここではそれを防ぐため、IPv4かIPv6のどちらかを従来の経路に残します。

必要なら、engage.cloudflareclient.comを名前解決し、得られたIPv4またはIPv6アドレスをEndpointに指定して保存します。

変更方法は、次の2通りです。

  • 最終行の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

その他のOSでのインストール方法: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...