☁️

Cloudflare VPNを通す手順(自宅-外出先など)

に公開

自宅や学内でVPNを通す作業が多くあり、今後もある可能性があるため記録しておきます。

前提

・cloudflareでアカウント登録済み(Freeプランで大丈夫)
・ドメインは取得済み
・自宅や大学、会社におくVPN用のサーバ(立ち上げっぱなしにできるもの)
・作業用のPC

概要

CloudflareにおけるVPNはサーバ側で設定するCloudfalreTunnelとクライアント側(スマホや作業PC)で入れるCloudflareWARPによって接続します。
これはCloudflareに限らず、他のVPNでも同様ですね。

手順

  1. Cloudfalre Tunnelの作成
  2. コネクター(Cloudfalre)のインストール
  3. プライベートネットワークのルーティング設定
  4. SplitTunnelの設定
  5. CloudWARPをインストール
  6. 接続テスト

Step1.Cloudfalre Tunnelの作成

自宅/社内のネットワークとCloudflareをつなぐトンネルを作ります。
Zero Trustダッシュボード左メニューから Networks > Tunnels を選択します。
**「Create a tunnel」**をクリックします。
Connector(Cloudflared)を選択して「Next」を押します。
Tunnel name に適当な名前(例: Home-Server)を入力して「Save tunnel」を押します。

Step2.コネクターのインストール

step1において、Tunnelを作成した際にインストールコマンドがさまざまにあると思います。
今回は環境をDebian、64-bitを選択します。
※UbuntuServerはDebian系のため

仮想環境で構築していない場合は、Dockerの方が便利ですので適宜読み替えてセットアップをしてください。基本的な流れは同じです。

コマンドをコピーしてサーバで実行してください

Step3.プライベートネットワークのルーティング設定

CLoudflareの管理画面から、先ほどトンネル管理画面で作成したトンネルが追加されてステータス:正常になっていることを確認してください。
その後、一番右の3点から設定を選択してください。

すると以下の画面が出ると思います

CIDRにアクセスしたい自宅や車内のローカルIPアドレスを入力します
サーバのあるネットワーク内でIPアドレスを確認してください
例 192.168.10.0/24

Step4.SplitTunnelの設定

デフォルトでは、WARPクライアントはローカルIP(192.168...)への通信をCloudflare経由にしない設定になっていることが多いため、これを変更します。

ZeroTrust->チームとリソース->デバイス->デバイスプロファイル->プロファイル->デフォルト->3点->設定->スピリットトンネルを表示してください
IPとドメインを含めるの場合は、管理から接続したいネットワーク内のIPアドレスを設定してください。
IPとドメインを除外するの場合は、これから接続したらネットワーク内のIPアドレスが含まれていないか確認してください

Step5. CloudWARPをインストール

  1. Cloudflare WARP アプリをインストールします(Windows, Mac, iOS, Android対応)。
    https://one.one.one.one/
  2. アプリを起動し、設定(歯車アイコン) > アカウント > **「Cloudflare Zero Trustでログイン」**を選択します。
  3. チーム名を入力します。(わからなくなった場合は別の記事で確認方法を紹介しています)
  4. メール認証またはIDプロバイダー認証を行い、ログインを完了させます。
  5. スイッチをオンにして 「Connected」 にします。

Step6.接続テスト

  1. スマホのWi-Fiを切り、4G/5G回線にします(または外部のWi-Fiへ)。
  2. WARPをオンにします。
  3. ブラウザやSSHクライアントで、自宅のローカルIP(例: 192.168.1.50)にアクセスしてみます。
  4. 繋がれば成功です!

Discussion