実は社内LANでGlobal IPを使っているけど、ZIA経由でインターネットにアクセスできるのか？

# はじめに
本記事はゼットスケーラー株式会社としては初の[Advent Calender 2023](https://qiita.com/advent-calendar/2023/zscaler)の一つとして投稿しています。先日過去に検証した内容に関して問い合わせがあり、改めて動きを簡単に見てみたものを掲載します。
以下の免責事項をご理解の上、記事を読んで頂けると幸いです。

# 免責事項
本記事のコンテンツや情報において、可能な限り正確な情報を掲載するよう努めておりますが、 誤情報が入り込んだり、情報が古くなったりすることもあり、必ずしもその内容の正確性および完全性を保証するものではございません。そのため、本記事をエビデンスとしたゼットスケーラーへの問い合わせなどはご対応致しかねることをご理解頂けると幸いです。掲載内容はあくまで個人の意見であり、ゼットスケーラーの立場、戦略、意見を代表するものではありません。当該情報に基づいて被ったいかなる損害について、一切責任を負うものではございませんのであらかじめご了承ください。

# 背景
Zscalerの導入検討において、実は社内でGlobal IPを利用しており、ZIAのクラウド内でのRouting的に問題がないか？といった問い合わせを受けることがしばしばあります。
オンプレのProxyを経由してインターネットや社内のアプリケーションを利用されているケースでは、従業員のPCからはあまりIPを意識しなくて良いので、Hub&Spokeでの構成で比較的重宝されていました。
こうした構成からSaaSの活用に伴い、Local Breakoutなどを検討するのですが、その際にLANに割り当ててしまったGlobal IPアドレスレンジの見直しが大きな障壁となっているケースがあります。

# 検証構成
今回は社内LANのRoutingが出来ている前提で、クライアントIPアドレスにGlobal IPレンジを割り当てて検証してみました。
拠点からはIPSECでZIAにトンネルを貼って①TransparentでRoutingさせてZIAに接続するパターンと、②ZCC Tunnel 1.0を利用するパターンです。

以下は検証構成のイメージです。
IPアドレスレンジは、とあるIaaS様のIPアドレスレンジを利用させて頂きました。
これは事前に実装的に影響のないことを確認した上で行っております。クラウドの実装上、失敗してもIaaS様にご迷惑をおかけすることはございませんので、事前に弁明させていただきます。
![Screenshot 2023-12-11 at 9.49.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220363/c00babef-9863-8c8f-e175-584d1a8b508d.png)

検証環境のUTMのLANからWiFiで当該のIPレンジをDHCPでアサインするイメージです。UTMからはIPSECでZIAのクラウドに接続されています。

# 設定
**1. VPN Credential**
IPSECの接続には、まずVPN Credentialの設定を行います。
![Screenshot 2023-12-11 at 10.09.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220363/d17f5a74-481a-b41b-c856-cbbe096bb94f.png)
今回は、FQDNベースでPre-Shared Keyを入れて、UTMとの接続を行います。

**2. Location Management**
次にLocation Managementの設定を行います。ZIAではZCCを利用しない場合は、Locationとの紐づけが重要となります。通常は拠点のGlobal IPアドレスをLocationに指定するのですが、VPN Credentialを利用すると、その代わりになるのでGlobal IPアドレスが共用のようなケースでは重宝します。
![Screenshot 2023-12-11 at 10.16.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220363/b0333b44-be79-ee35-dd7e-d1c657ad1932.png)

同じクレデンシャルと、PSK、そしてIPSECの宛先は[Config.zscaler.com](https://config.zscaler.com/zscalerthree.net/cenr)からZS3クラウドの東京DCの”tyo4-vpn.zscalerthree.net”を指定。

ZIAに接続する前に、ZscalerのRoot証明書をPCにインストールしておきます。
![Screenshot 2023-12-11 at 10.23.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220363/87619f3a-ef08-b5fe-6442-68ad751e0057.png)
ZCCで自動で落としてくる設定をしている方が多いと思うので忘れずに。

# 検証結果① TransparentでRoutingさせてZIAに接続
確認の結果、うまくアクセスが出来ました。
IPSEC経由で設定したクライアントIPの端末から通信が出来ているのが分かります。
![Screenshot 2023-12-08 at 12.49.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220363/50615600-52b4-33ba-5400-baab0b1c2c25.png)

![Screenshot 2023-12-08 at 12.27.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220363/2f1df6e7-1a13-fc60-bb13-130a4add25bb.png)

# 検証結果② ②ZCC Tunnel 1.0 利用し、IPSEC経由でZIAに接続
こちらも結果は成功です。
ZCCでは、クライアントPCにアサインされたIPが見えつつ、ZIAへの接続もOKです。
![Screenshot 2023-12-08 at 12.27.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220363/c31f07bf-a5b6-704b-1a3a-e095b6dcfaed.png)

Log上でも、設定したクライアントIPからIPSEC経由でZCCでの接続を実現しています。
![Screenshot 2023-12-08 at 12.41.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220363/94d4ef84-e7a5-152a-fd17-529882f63f54.png)

![Screenshot 2023-12-08 at 12.27.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/220363/d6a1c5ca-404c-00f5-af5a-6e1d157cc177.png)

# まとめと考察
具体的な実装は社外秘ですが、トンネルでの接続時にはトンネルの送信元となるGlobal IPでNATされてZIAのクラウドの中のネットワークをRoutingされているように見えており、その動作を確認することが出来ました。そのため、送信元のIPの影響を受けることはありません。
流石にアクセス先のIPと自分のIPが被っている場合や、端末上のRoutingまたはLANのRoutingでの影響を受ける場合はそもそもRouting的に不可能となり、その限りではありませんのでご留意下さい。