Cloudflare Zero TrustのWarpクライアントからTunnel側のホストへアクセスする(IPアドレスベース)
前回の続き。
前々回と組み合わせてWARPクライアントとTunnelが用意できたので、当初の目的であるWARPクライアントからイントラネットへアクセスする設定を行っていきます。
手順
WARPクライアントとTunnelはそれぞれすでに接続済であるとします。
また、簡単のため今回はWARPからイントラのサービスへIPアドレスでアクセスすることにします。ホスト名でアクセスできるようにする方法は別途調べて記事にしようと思います。
Tunnel側のCIDRを登録
はじめにTunnelの先にあるネットワークのCIDRを教えてやります。
Cloudflare Zero TrustのWebにログインしAccess > Tunnelsから対象のTunnelのConfigureをクリックします。
Private Networkを表示し「Add a private network」からCIDRを入力します。通常はLANのCIDRになります。
Split Tunnelを設定
VPNで一般的なSplit Tunnelですが、WARPクライアントでも実装されています。
デフォルトではRFC 1918に基づくプライベートアドレス宛のパケットはVPN網ではなくネイティブのネットワークへ流すようになっています。
このままだと目的の通信ができないので上で登録したCIDR宛はVPN網へ流すように設定する必要があります。
Settings > WARP Client > Device settingsと辿って、今回のWARPクライアントで使うプロファイルのConfigureをクリックします。(初期状態では「Default」というプロファイルしかないと思います)
一番下の「Split Tunnels」が目的のメニューですが、最初にSplit Tunnelのモード(ExcludeとInclude)を理解する必要があります。
モード | 動作 |
---|---|
Exclude | デフォルト。ここで指定した宛先以外のすべてのトラフィックをVPN網へ流す |
Include | ここで指定した宛先のトラフィックのみVPN網へ流す |
どちらを選ぶかはポリシー次第かと思いますが、Policyなどでデバイスをより厳格に管理したい場合はExclude、そうでない場合はIncludeを選択すると良いと思います。
今回はIncludeを選択しました。ExcludeからIncludeへ変更しようとすると既存のエントリをすべて消す旨の警告が表示されますが、そのまま進みます。
Includeへ変更したらその右の「Manage」をクリックします。
ここでPrivate NetworkのCIDRを登録してやればいいのですが、Includeの場合はそれに加えていくつかのドメインを登録することが推奨されています。
Split Tunnels · Cloudflare Zero Trust docs
最終的に以下の3つのエントリを登録しました。
Type | Value |
---|---|
IP Address | Private Networkに登録したCIDR |
Domain | Team名.cloudflareaccess.com (Teams名は前々回設定しました) |
Domain | *.Cloudflareに登録したドメイン (ドメインは前回設定しました) |
WARPクライアントから通信してみる
以上の設定で完了です。 WARPクライアントからLAN上のサービスにアクセスできることを確認しましょう。
ちなみにサーバから見た送信元アドレスはcloudflaredを導入したER-XのIPになっていました。
ER-Xで確認したところTCPセッションもER-Xとサーバ間で確立されているようでした。
以上