中国から Cloudflare Zero Trust を利用するための China Express を紹介

# 中国からの Cloudflare Zero Trust 利用
WARP を中国から使うと Great Fireall (GFW) の影響を受けて、接続できないことがあります。

そのため、企業が現地従業員もしくは出張者に Cloudflare Zero Trust を使わせたい場合には、別のソリューションを使った構成を検討する必要があります。

>- [Zero trust with warp not connecting from mainland China - China Network - Cloudflare Community](https://community.cloudflare.com/t/zero-trust-with-warp-not-connecting-from-mainland-china/507785)
> 
> :::note info
> Yes. All free plan account in China will be affected due to China GFW. Yes. There are additional settings for ENT plan users. For ENT plan and the solution, please help to contact your account team and your account manager. They can help with the solution.
> :::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/3f83a1ce-7ade-ee8a-f7e6-de4f3939cc2f.png)

# China Express for Cloudflare One
China Express という枠組みで提供するプライベートトンネルソリューションを別途用意することで以下のような構成で、安定した接続での利用を実現できます。

China Express 経由による利用では、Cloudflare Zero Trust の機能提供は、中国国内にその機能があるわけではなく、グローバル POP （中国からの最寄りという観点では香港）から機能提供されます。

:::note info
Cloudflare とは、あくまで Cloudflare Zero Trust ライセンスのみの契約となります。
プライベートトンネルにあたるソリューションは、JD Cloud、CMI、CBC またはそのパートナーと契約することで、Cloudflare とは別に調達する必要があります。
:::

https://developers.cloudflare.com/china-network/concepts/china-express/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/8d6b04e5-20a0-794f-34ea-1ae808ff8404.png)

# China Express ユースケース
Cloudflare Zero Trust を含む Cloudflare One を使う場合、以下のようなユースケースが考えられます。

WARP 接続が最もよくあるパターンかと思いますので、以下 WARP 接続のケースについて解説します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/0d45a741-dad3-d698-03da-6f780f54b623.png)

# CMI を経由した WARP 接続構成
CMI (China Mobile International) の AAS (Application Acceleration Service) と組み合わせて使う場合の WARP 接続構成です。

- 現地インターネットから到達可能な、お客様専有の IP アドレスが払い出されるため、現地 ISP セットアップ等は変更が不要
- Cloudflare への接続パスこそ異なるものの、中国国内ユーザの使用体験はグローバルユーザと変わらない
- 管理者としても中国拠点ユーザに対して、グローバルで一貫したポリシー管理を適用することが可能

https://mcloud.cmi.chinamobile.com/cloudservice/aas

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/1c3ef393-bc96-bd98-17c1-6c19aebd1fff.png)

# 必要な WARP 設定
WARP 接続に必要な 3 つのエンドポイントを、China Express プライベートトンネルソリューションのゲートウェイ IP アドレスに設定する必要があります。

## CLI を使った設定
以下のコマンドで設定可能です。

```shell:
warp-cli dns endpoint set <x.x.x.x>
warp-cli api endpoint set <x.x.x.x>
warp-cli tunnel endpoint set <x.x.x.x:port>
```

## MDM パラメータを使った設定
以下のような MDM パラメータを使って設定できます。

https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/deployment/mdm-deployment/parameters/#override_api_endpoint

```xml:
<dict>
 <key>override_doh_endpoint</key>
 <string>x.x.x.x</string>
 <key>override_api_endpoint</key>
 <string>x.x.x.x</string>
 <key>override_warp_endpoint</key>
 <string>x.x.x.x:port</string>
</dict>
```

## 複数の WARP 設定を切り替えて使いたい場合
以下のような形で複数の WARP 設定を切り替えられるように実装することができます。

https://qiita.com/khayama/items/e13aae87bdccc8a303e5

>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/9811f444-e189-d40d-abc5-dc92ee1a3fa7.png)

# 留意点

- WARP 接続（認証）前の `xxx.cloudflareaccess.com` への通信は、Great Firewall (GFW) を経由したインターネット通信です
    - 接続が不安定な場合には、以下のような `/etc/hosts` への記述で China Express プライベートトンネルソリューションのゲートウェイ IP アドレスを経由した安定したアクセスにすることができます
    - `<China Express Partner IP x.x.x.x> <your_team_name>.cloudflareaccess.com`
    - `xxx.cloudflareaccess.com` への通信には以下のものが含まれます。
        - `/` : [App Launcher · Cloudflare Zero Trust docs](https://developers.cloudflare.com/cloudflare-one/applications/app-launcher/)
        - `/warp` : [WARP sessions · Cloudflare Zero Trust docs](https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/configure-warp/warp-sessions/#prerequisites)
        - `/browser` : [Clientless Web Isolation · Cloudflare Zero Trust docs](https://developers.cloudflare.com/cloudflare-one/policies/browser-isolation/setup/clientless-browser-isolation/)
        - `/cdn-cgi/access/*` : [Access policies · Cloudflare Zero Trust docs](https://developers.cloudflare.com/cloudflare-one/policies/access/)
- IdP への通信も、Great Firewall (GFW) を経由したインターネット通信です
    - 中国国内から利用できる IdP を準備する必要があります
    - 既存 IdP での通信が難しい場合、中国ユーザ向けに One-time PIN もしくは別の問題ない IdP を準備する必要があります
- Cloudflare 香港 POP がオフラインの場合、お客様は米国の Cloudflare POP に接続する可能性があります

```mermaid
%%{init: {'themeCSS': 'img {width: 48px; height:48px;}'}}%%
graph LR

subgraph China
WARP[<img src='https://cf-icons.pages.dev/warp-client.svg' width='48' height='48'/><br>WARP]:::transparent
Internet[<img src='https://cf-icons.pages.dev/globe.svg' width='48' height='48'/><br>Internet]:::transparent
GFW[<img src='https://cf-icons.pages.dev/waf.svg' width='48' height='48'/><br>Great Firewall]:::transparent
subgraph CGW [China Express]
IP((IP))
CGWServer[<img src='https://cf-icons.pages.dev/server.svg' width='48' height='48'/><br>Gateway Server]:::transparent
end
end

subgraph Global
Access[<img src='https://cf-icons.pages.dev/cloudflare-access.svg' width='48' height='48'/><br>xxx.cloudflareaccess.com]:::transparent
IdP[<img src='https://cf-icons.pages.dev/security-fingerprint-privacy.svg' width='48' height='48'/><br>IdP]:::transparent
GGW[<img src='https://cf-icons.pages.dev/server.svg' width='48' height='48'/><br>Gateway Server]:::transparent
Cloudflare["<img src='https://cf-icons.pages.dev/logo-cloud.svg' width='48' height='48'/><br>&emsp;Cloudflare&emsp;"]:::transparent
end

WARP --> Internet --> GFW ---> Access
GFW --> IdP
GGW -.-> |/etc/hosts|Access
Internet --> |override endpoint|CGW --> |Private Tunnel|GGW --> Cloudflare

classDef transparent fill-opacity:0,stroke-opacity:0;
```

# 事例
Cloudflare の北京オフィスでは、China Express を活用した構成を従業員が利用しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/4145c637-bdd1-ee68-195e-8b4d7180e7a0.png)

# まとめ
中国から Cloudflare Zero Trust を利用するための China Express を紹介しました。

中国の従業員から安定した接続の元で WARP 接続したい場合等には、おすすめです。

# その他参考

- [China Express: Cloudflare partners to boost performance in China for corporate networks](https://blog.cloudflare.com/china-express/)
- [Cloudflare partners to simplify China connectivity for corporate networks](https://blog.cloudflare.com/cloudflare-one-in-china/)

>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/63e2ef05-0340-d545-4a24-0e3120bbff06.png)
>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/8d5f694e-7ade-f737-ad2c-df3b6ca6f3e7.png)