マシントンネルを使ってドメイン参加してみた

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

# マシントンネルとは
Zscaler Private Access(ZPA)の利用においては、ユーザがZscaler Client Connector(ZCC)にログインし、認証成功した後、許可された社内アプリケーションに接続するのが一般的な通信流れになります。

但し、Windowsのドメイン参加/ログイン、Windowsパスワードリセット等、ZCCにログインする前に、ADと通信するケースがあります。この場合、以下の図の通り、最初はマシントンネル経由でADと通信し、Windowsにログインできるようになったら、ZPA経由で社内アプリケーションに接続します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/cebe3d59-9278-3899-ee7b-095faf41d925.png)

# マシントンネルの設定手順
本記事ではマシントンネルを使ってドメイン参加の手順を紹介します。

**Step1.ZPAのAdmin PortalでMachine Provisioning Keyの作成**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/465d9555-b260-82a9-21ee-937d49df3e06.png)


**Step2.SRV用App Segmentの設定**
Windows端末がドメインに参加する際、DNSのSRVレコードを使って、ドメインを所有しているADを検索します。SRVレコードを引けるようにwildcard(例:\*.example.com)でApp Segmentを定義します。実際"\*.example.com"に対して何か通信するわけではないため、Port番号はダミーのPort1で設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/6fa270bb-c8ea-5e78-3757-407af8afe3db.png)

**Step3.AD通信用App Segmentの設定**
SRVでADを特定した後、ADと通信してドメイン参加します。ADサーバのFQDN(例:ad.example.com)で設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/5ce6827c-6414-e2ac-897d-b1d5644535c0.png)

Port番号は以下を設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/b19c9470-c17c-e108-222c-755096d599ac.png)


**Step4.Access Policyの設定**
Step2,3で作ったApp Segmentを選択し、Client TypesにMachine Tunnelを指定して、Access Policyを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/58a761e4-65e6-10c1-3b0a-e6cee499aabc.png)

**Step5.Mobile Admin PortalでMachine Tunnelの有効化**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/29e8dfaf-4a28-293c-872e-beeb5f3687b3.png)

**Step6.App profileでMachine Tokenを選択**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/76bd89f7-f454-fb43-f399-854d6f2db749.png)

**Step7.ZCCインストール**
App ProfileよりPolicy Tokenをコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/b290e600-8fa7-4411-e40e-79102bb12499.png)

Windows端末にPolicy Tokenを指定して、ZCCをインストールします。
```
msiexec /i <Zscaler installer name>.msi CLOUDNAME=<Your Cloud> USERDOMAIN=<Your Domain> POLICYTOKEN=<Your Policy Token> 
```
Zscaler Diagnoticsがメニューに表示され、Tunnel StatusがTUNNEL_FORWARDINGになっていれば、マシントンネルが接続成功です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/ac6c5196-ad2b-af0e-bbcd-a682f74f7ff2.png)

**Step8.ドメイン参加**
コマンドプロンプトでSRVレコードが引けるかを確認します。
```
nslookup
set type=srv
_ldap._tcp.<Your Domain>
```
引ける場合は、以下のように表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/ee0a25c1-0125-64fb-8de8-837931c2dd74.png)

スタートメニューをクリックし、「sysdm.cpl」と入力して実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/0408f71e-db9c-6a30-149c-cbea49e03aaa.png)
Domainユーザ名(Your Domain\Usernameの形式)とパスワードを入れてDomain参加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/688aef69-d796-7a37-8608-42cef680e8a5.png)

再起動が求められますので、Windowsの再起動を行います。起動してきたら、Other userが表示され、クリックしてDomainユーザでログインできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/a0bbb0f3-f488-90be-dcf4-a01111460c4c.png)


# まとめ
マシントンネルの設定を紹介しました。最初設定した時、通信の目的がドメイン参加でADのApp Segmentだけを設定しました。うまくドメイン参加できず、切り分けに時間がかかりました。SRVのApp Segmentも忘れず設定しましょう。