# トラフィック制御 / URLオフロード

URLオフロードは、通常プロキシーサーバーやVPN回線経由でインターネット通信を行っている環境において、特定宛先へのトラフィックだけをプロキシーやVPNを介さずに直接インターネット経由で送信させる（オフロードする）ための機能です。
特定クラウドサービス宛ての通信をオフロードすることで、該当トラフィックがプロキシーサーバーのセッションを使い切ったり、VPN回線に負荷をかけたりすることを防止し、さらにクラウドサービス通信の高速化も期待できます。
URLオフロードではこれらを実現するため、以下の機能を提供します。

- オフロード対象（エンドポイント情報）の自動取得・設定
  オフロード対象となるクラウドサービスのIPv4/IPv6アドレスおよびドメイン名（エンドポイント情報）を該当サービスの情報提供サーバーから自動取得します。
  エンドポイント情報を自動取得する場合は、定期的に最新情報をチェックし、必要に応じて情報を更新することも可能です。
  また、エンドポイント情報は手動で設定することもできます。
- プロキシー自動構成ファイル（PACファイル）の生成・配布
  取得・設定したエンドポイント情報にもとづいてPACファイルを自動生成し、これをクライアントに配布することで、Webブラウザーなどのクライアントアプリケーションがオフロード対象アドレス宛てのトラフィックをプロキシー経由ではなく直接送信できるようにします。
- ポリシーベースルーティング（PBR）およびファイアウォール用エンティティーの生成・更新
  取得・設定したエンドポイント情報にもとづいてPBRおよびファイアウォール用のエンティティーを動的に生成・更新します。
  本製品のポリシーベースルーティング（PBR）機能でこれらの動的エンティティーを使用することで、オフロード対象アドレス宛てトラフィックの送信経路を制御できるようになります。
  また、ファイアウォール機能で動的エンティティーを使用すれば、オフロード対象の通信のみインターネットへの直接送信を許可する設定が可能です。

## 基本仕様

### エンドポイント情報の取得・更新

本機能では、URLオフロードの対象となる通信の宛先を総称して「エンドポイント」と呼びます。

- エンドポイントは次の3つの形式をサポートします。
  - IPv4アドレス（A.B.C.D/M）
  - IPv6アドレス（X:X::X:X/M）
  - ホスト・ドメイン名（FQDN）
  Note

  ドメイン名（FQDN）形式のホスト定義を利用する場合は、DNSリレー、DNSキャッシュ機能との併用が必要です。詳しくは「UTM」/「エンティティー定義」をご参照ください。

- エンドポイント情報の自動取得・更新は、Microsoft Office365サービスに対応しています。
  - 取得したエンドポイント情報にフィルターをかけ、一部のエンドポイントだけを使用する設定が可能です。
  - エンドポイント情報を一定間隔で自動更新したり、手動で更新させることが可能です。
- エンドポイント情報は手動で設定することもできます。
- エンドポイント情報は、オフロード対象リストとオフロード除外リストの2つのリストで構成されます。
  除外リストは対象リスト内のアドレスやドメインの一部を対象から外すためのものです。
  - 自動取得の場合、クラウドサービスから取得した情報にフィルターをかけて残ったアドレス/ドメイン名がオフロード対象リストになります。
    対象リスト内の一部をオフロード対象から除外したいときは、手動で除外リストを作成します。
  - 手動設定の場合、オフロード対象リストは手動で作成します。
    さらに対象リスト内の一部をオフロード対象から除外したいときは、手動で除外リストを作成します。

### PACファイルの生成・配布

- PACファイルは取得・設定したエンドポイント情報にもとづき自動生成・更新されます。
- 初期設定では、内蔵のテンプレートにオフロード対象トラフィックと除外トラフィックの識別条件とプロキシーサーバーアドレスを埋め込む形でPACファイルを生成します。
  カスタムテンプレートを指定することにより、独自内容のPACファイルを生成することも可能です。
- 自動生成されたPACファイルをHTTPまたはHTTPSで配布できます。
  - PACファイル配布用WebサーバーのリスニングTCPポートは任意に指定可能ですが、管理用Webサーバー（Web GUI）とは異なるポートに設定することを推奨します。
    詳細はpac-file http-server portコマンドのページをご参照ください。
  - 配布用Webサーバー上におけるPACファイルのパスは `/wpad.dat` 固定です。
    （本製品のアドレスおよび配布用Webサーバーのポートが192.168.10.1、4080の場合、PACファイルのURLは `http://192.168.10.1:4080/wpad.dat` になります）
- 本製品のDHCPサーバー機能を併用することで、DHCPクライアントに対してPACファイルの場所を通知することが可能です。

Note

PACファイル内におけるIPv6アドレスの対応状況はWebブラウザーやシステムに依存します。

### 動的エンティティー

- URLオフロード機能の有効時には、エンドポイント情報の更新に追従して、下記エンティティーが自動的に生成され、内容が動的に更新されます。
  - URLオフロード対象アドレス：URL_Offload.include_entries
  - URLオフロード除外アドレス：URL_Offload.exclude_entries
- 前記の動的エンティティーは下記の機能から利用できます。
  - ポリシーベースルーティング（PBR）
    PBRルール内で動的エンティティーを使用することにより、オフロード対象トラフィックと除外トラフィックの送信経路を動的に制御できます。
  - ファイアウォール
    ファイアウォールルール内で動的エンティティーを使用することにより、オフロード対象トラフィックと除外トラフィックの通信可能範囲を個別に制御できます。
- ゾーン URL_Offload 以下のエンティティーはURLオフロード機能によって管理されるため、ユーザーが設定を変更したり、削除したりすることはできません。
- ゾーン URL_Offload 以下のエンティティーはランニングコンフィグ（show running-config）に表示されず、設定を保存することもできません。

## エンドポイント情報の取得・更新設定

### 自動取得（Office365）

ここでは、Office365サービス宛て通信をオフロードするため、同サービスの情報提供サーバーからエンドポイント情報を自動取得し、オフロード対象リストと除外リストを作成する基本的な設定方法を説明します。

#### 事前確認

設定を始める前に、本製品が下記の条件を満たしていることを確認してください。
満たしていない場合は必要な設定を行ってください。

- インターネットとの通信ができること
- DNSによる名前解決ができること

#### エンドポイント情報を取得するための設定

Office365サービス宛ての通信をオフロードするには、同サービスを提供するサーバーのアドレスやURLの一覧を取得する必要があります。
URLオフロード機能では個々のアドレスやURLを「エンドポイント」、エンドポイントの一覧（リスト）を「エンドポイント情報」と呼びます。
Office365のエンドポイント情報は同サービスの情報提供サーバーからJSON形式のデータとして提供されますので、これを取得して利用するための設定を行います。

1. service url-offloadコマンドでURLオフロード機能を有効化します。

       awplus(config)# service url-offload

2. URLオフロードの設定を行うため、url-offloadコマンドを実行してURLオフロードモードに入ります。

       awplus(config)# url-offload

3. Office365のエンドポイント情報を取得するための設定を行うため、endpoint-source type office365コマンドを実行してOffice365エンドポイントモードに入ります。同コマンドの実行時には任意の設定名を付けます（ここでは「o365」としています）。

       awplus(config-url-offload)# endpoint-source o365 type office365

4. Office365のエンドポイント情報を取得するためのURL（情報提供サーバーのURL）を指定します。

       awplus(config-endpoint-office365)# url https://endpoints.office.com/endpoints/worldwide

5. 最新のエンドポイント情報を定期的に確認・更新するよう設定します。これには、update-intervalコマンドで更新間隔を指定します。

       awplus(config-endpoint-office365)# update-interval hours 1

6. エンドポイント情報を正しく取得できるか確認します。
   まず、url-offload update-nowコマンドでエンドポイント情報を手動更新し、その後 show url-offload endpoint-source office365 raw-dataコマンドで取得したエンドポイント情報の生データを確認します。JSON形式のデータが表示されれば正しく取得できています。

       awplus(config-endpoint-office365)# end
       awplus# url-offload update-now
       awplus# show url-offload endpoint-source office365 o365 raw-data

#### オフロード対象リストの作成（エンドポイント情報の取捨選別）

次に、取得したエンドポイント情報の中から実際にオフロードするエンドポイントを選択して、オフロード対象リストを作成します。
最初、エンドポイントは未選択のため、情報提供サーバーからエンドポイント情報を取得しただけでは、オフロード対象リストは空のままです。
オフロードの対象にするエンドポイントの選択は、次の2系統のフィルターコマンドを組み合わせることで行います。

- 受け入れ（include）
  - filter-endpoint include all - すべてのエンドポイントを受け入れる
  - filter-endpoint include - 指定したプロパティー条件を満たすグループ内のエンドポイントをすべて受け入れる
- 除去（exclude）
  - filter-endpoint exclude - 指定したプロパティー条件を満たすグループ内のエンドポイントをすべて取り除く
  - filter-entry exclude - 指定したアドレスまたはドメイン名（FQDN）を持つエンドポイントを取り除く
  - filter-entry exclude type - 指定した形式のエンドポイントをすべて取り除く

エンドポイントの選択には大きく分けて次の2とおりの方法があります。

- 対象リストが空の状態から、受け入れるエンドポイントを追加する方法
- 全エンドポイントを対象リストに入れてから、不要なエンドポイントを取り除く方法

受け入れるエンドポイントを明示的に追加していく場合は、filter-endpointコマンドのincludeオプションを使います。
たとえば次の例では、情報提供サーバーから取得したエンドポイント情報のうち、required = trueのグループに属するエンドポイントと、category = "Optimize"のグループに属するエンドポイントだけをオフロード対象として選択しています。

    awplus# configure terminal
    awplus(config)# url-offload
    awplus(config-url-offload)# endpoint-source o365 type office365
    awplus(config-endpoint-office365)# filter-endpoint include key required true
    awplus(config-endpoint-office365)# filter-endpoint include key category string Optimize

いったん全エンドポイントを受け入れた上で、不要なエンドポイントを取り除く方法では、全エンドポイントの受け入れを filter-endpoint include allコマンドで行い、不要なエンドポイントの除去には filter-endpointコマンドのexcludeオプションや、filter-entry exclude、filter-entry exclude typeコマンドを用います。
たとえば次の例では、情報提供サーバーから取得した全エンドポイントをいったん対象として追加した上で、IPv6アドレス形式のエンドポイントすべてとドメイン名形式のエンドポイント「m.example.com」を対象から取り除いています。

    awplus# configure terminal
    awplus(config)# url-offload
    awplus(config-url-offload)# endpoint-source o365 type office365
    awplus(config-endpoint-office365)# filter-endpoint include all
    awplus(config-endpoint-office365)# filter-entry exclude type ipv6
    awplus(config-endpoint-office365)# filter-entry exclude url m.example.com

Note

Office365の情報提供サーバーから取得したエンドポイント情報のJSONファイルには、サードパーティーのサービスに関するエンドポイントも多数含まれています。
filter-endpoint include allコマンドで全エンドポイントを受け入れる場合は、別途show url-offload endpoint-source office365 raw-dataコマンドでJSONファイルの内容を吟味し、不要なエントリーを除去する設定を行うことをおすすめします。

これらの設定により、取得したエンドポイント情報のJSONファイルから、基本となるオフロード対象リストが作成されます。

#### オフロード除外リストの作成

前項で説明したフィルターコマンドでは、情報提供サーバーから取得したものと完全に一致するエンドポイントしか除去できません。
たとえば、オフロード対象エンドポイント「10.10.0.0/16」が存在すると仮定した場合に、この中から「10.10.254.0/24」の範囲だけをオフロード対象から外したい場合は、フィルターコマンドでエンドポイント情報から除去するのではなく、exclude-entryコマンドでオフロード除外リストを作成して対応します。

    awplus(config-endpoint-office365)# exclude-entry ip 10.10.254.0/24

こうすることで、プロキシー自動構成ファイル（PACファイル）には次のような意味の記述が入ります。

    ・宛先が 10.10.254.0/24 の範囲内ならプロキシーサーバー経由
    ・前記以外で宛先が 10.10.0.0/16 の範囲内なら直接通信
    ...
    ・その他はプロキシーサーバー経由

また、動的エンティティーには次のエントリーが追加されます。
ポリシーベースルーティング（PBR）やファイアウォールの設定時には、除外リスト、対象リストの順にルールを記述することで、除外リストに含まれるアドレスやドメイン宛ての通信をオフロード対象から外すことが可能です。

- 除外リストに対応する動的エンティティー URL_Offload.exclude_entries
  - 10.10.254.0/24
- 対象リストに対応する動的エンティティー URL_Offload.include_entries
  - 10.10.0.0/16

#### エンドポイント情報を利用するための設定

エンドポイント情報（オフロード対象リストと除外リスト）の設定が完了したら、これを利用して実際に通信をオフロードするための設定を行います。
これ以降の設定は、エンドポイント情報を自動取得する場合と手動設定する場合で基本的に共通です。
エンドポイント情報にもとづく各種動作の設定にお進みください。

### 手動設定

URLオフロードのエンドポイント情報（オフロード対象リストと除外リスト）は、クラウドサービスから自動取得するだけでなく、手動で設定することも可能です。
ここでは、オフロード対象リストと除外リストを手動設定する方法を説明します。

#### エンドポイント情報の準備

任意の通信をオフロードするには、同通信の宛先となるアドレスやURLの一覧（エンドポイント情報）が必要ですので、まずはこれを用意してください。
準備ができたら、以下の手順でエンドポイント情報の手動設定を開始します。

1. service url-offloadコマンドでURLオフロード機能を有効化します。

       awplus(config)# service url-offload

2. URLオフロードの設定を行うため、url-offloadコマンドを実行してURLオフロードモードに入ります。

       awplus(config)# url-offload

3. エンドポイント情報を手動設定するため、endpoint-source type manualコマンドを実行して手動エンドポイントモードに入ります。同コマンドの実行時には任意の設定名を付けます（ここでは「static」としています）。

       awplus(config-url-offload)# endpoint-source static type manual

#### オフロード対象リストの作成

URLオフロード機能が使用するエンドポイント情報は、オフロード対象リストとオフロード除外リストの2つのリストで構成されます。
手動設定の場合、対象リスト、除外リストともに手動で作成します。
オフロード対象リストはentryコマンドでIPv4/IPv6アドレスまたはドメイン名（FQDN）を指定することにより作成します。
たとえば次の例では、IPv4アドレス範囲「10.0.0.0/8」とドメイン「example.com」、「example.jp」をオフロード対象として登録しています。

    awplus(config-endpoint-manual)# entry ip 10.0.0.0/8
    awplus(config-endpoint-manual)# entry url example.com
    awplus(config-endpoint-manual)# entry url example.jp

Note

ドメイン名（FQDN）形式のホスト定義を利用する場合は、DNSリレー、DNSキャッシュ機能との併用が必要です。詳しくは「UTM」/「エンティティー定義」をご参照ください。

#### オフロード除外リストの作成

除外リストは、対象リストに含まれるアドレスやドメインの一部をオフロード対象から外すためのものです。
オフロード除外リストはexclude-entryコマンドでIPv4/IPv6アドレスまたはドメイン名（FQDN）を指定することにより作成します。
たとえば、前節で示したオフロード対象IPv4アドレス範囲「10.0.0.0/8」のうち、「10.255.0.0/16」の範囲だけをオフロード対象から外したい場合は、次のようにします。

    awplus(config-endpoint-manual)# exclude-entry ip 10.255.0.0/16

また、同じく前節で示したオフロード対象ドメイン「example.com」のうち、「soto.example.com」だけをオフロード対象から外したい場合は、次のようにします。

    awplus(config-endpoint-manual)# exclude-entry url soto.example.com

こうすることで、プロキシー自動構成ファイル（PACファイル）には次のような意味の記述が入ります。

    ・宛先が 10.255.0.0/16 の範囲内ならプロキシーサーバー経由
    ・前記以外で宛先が soto.example.com にマッチするならプロキシーサーバー経由
    ・前記以外で宛先が 10.10.0.0/16 の範囲内なら直接通信
    ・前記以外で宛先が example.com にマッチするなら直接通信
    ・前記以外で宛先が example.jp にマッチするなら直接通信
    ...
    ・その他はプロキシーサーバー経由

また、動的エンティティーには次のエントリーが追加されます。
ポリシーベースルーティング（PBR）やファイアウォールの設定時には、除外リスト、対象リストの順にルールを記述することで、除外リストに含まれるアドレスやドメイン宛ての通信をオフロード対象から外すことが可能です。

- 除外リストに対応する動的エンティティー URL_Offload.exclude_entries
  - 10.255.0.0/16
  - soto.example.com
- 対象リストに対応する動的エンティティー URL_Offload.include_entries
  - 10.0.0.0/8
  - example.com
  - example.jp

#### エンドポイント情報を利用するための設定

エンドポイント情報（オフロード対象リストと除外リスト）の設定が完了したら、これを利用して実際に通信をオフロードするための設定を行います。
これ以降の設定は、エンドポイント情報を自動取得する場合と手動設定する場合で基本的に共通です。
エンドポイント情報にもとづく各種動作の設定にお進みください。

## エンドポイント情報にもとづく各種動作の設定

### プロキシー自動構成ファイル（PACファイル）の設定

エンドポイント情報（オフロード対象リストと除外リスト）の設定が完了すると、本製品はこれらにもとづいてプロキシー自動構成ファイル（PACファイル）を生成・更新するようになります。
生成されたPACファイルの内容はshow url-offload pac-fileコマンドで確認できます。

    awplus# show url-offload pac-file template

PACファイルはクライアントにインストールして初めて効果を持ちますので、以下の手順にしたがい、プロキシー自動構成ファイル（PACファイル）を配布するための設定を行ってください。

1. クライアントが通常使用するべきプロキシーサーバーのアドレスとポートを指定します。これにはpac-file proxy-addressコマンドを使います。
   たとえば、プロキシーサーバーのアドレスが192.168.10.10、TCPポートが8080の場合は次のようにします。

       awplus(config-endpoint-office365)# end
       awplus# configure terminal
       awplus(config)# url-offload
       awplus(config-url-offload)# pac-file proxy-address 192.168.10.10:8080

2. PACファイルを配布するためのHTTP WebサーバーをTCPポート4080番で有効にします。これにはpac-file http-server portコマンドを使います。

       awplus(config-url-offload)# pac-file http-server port 4080

   Note

   PACファイル配布用サーバーのTCPポートは、管理用Webサーバー（Web GUI）と異なるポートに設定することを推奨します。詳細はpac-file http-server portコマンドのページをご参照ください。

3. ここまでの設定により、LAN上のクライアントは `http://本製品のアドレス:4080/wpad.dat` でPACファイルにアクセスできるようになります。
   本製品のLAN側アドレスが192.168.10.1の場合、PACファイルのURLは `http://192.168.10.1:4080/wpad.dat` となります。
   このURLを各クライアントに手動設定してもかまいませんが、DHCPオプション252を利用してDHCPクライアントにPACファイルのURLを通知することもできます。
   本製品のDHCPサーバー機能を利用してPACファイルのURLを通知するには、次のような設定を行います。
   外部のDHCPサーバーを使用する場合は、同サーバーのマニュアルをご参照ください。
   - オプション252を「wpad」という名前で定義します。これにはip dhcp optionコマンドを使います。

         awplus(config-url-offload)# end
         awplus# configure terminal
         awplus(config)# ip dhcp option 252 name wpad ascii

   - DHCPプールの設定において、オプション252（wpad）でPACファイルのURLを通知するよう設定します。これにはoptionコマンドを使います。
     ここではすでにDHCPプール「lan」が設定済みであると仮定し、そこにPACファイルURLの情報を追加するものとします。

         awplus(config)# ip dhcp pool lan
         awplus(dhcp-config)# option wpad http://192.168.10.1:4080/wpad.dat

   - クライアントサブネット（LAN側インターフェース）が複数存在する場合は、サブネットごとに適切なURLを指定してください。

PACファイルの設定が完了したら、各クライアントのプロキシー設定を確認してください。
DHCPオプション252でPACファイルのURLを通知している場合は、クライアント側で「プロキシー設定の自動検出」オプションをオンにします。
あるいは、「プロキシー自動構成スクリプト」としてPACファイルのURLを指定します。

### 動的エンティティーの確認

URLオフロード機能はまた、エンドポイント情報（オフロード対象リストと除外リスト）にもとづいて、ポリシーベースルーティング（PBR）とファイアウォール向けのエンティティーを動的に生成・更新します。
エンドポイント情報にもとづいて自動生成された動的エンティティーは、show entityコマンドで確認できます。

    awplus# show entity

URLオフロード機能が生成する動的エンティティーのトップレベルは「URL_Offload」ゾーンです。

    awplus# show entity URL_Offload

オフロード除外リストと対象リストに含まれるIPv4アドレス形式とIPv6アドレス形式のエンドポイントは、第2レベルの「URL_Offload.exclude_entries」ネットワーク（除外リスト）と「URL_Offload.include_entries」ネットワーク（対象リスト）内で定義されます。

    awplus# show entity URL_Offload.exclude_entries
    awplus# show entity URL_Offload.include_entries

オフロード除外リストと対象リストに含まれるドメイン名（FQDN）形式のエンドポイントは、第3レベルの「URL_Offload.exclude_entries.fqdn_entries」ホスト（除外リスト）と「URL_Offload.include_entries.fqdn_entries」ホスト（対象リスト）内で定義されます。

    awplus# show entity URL_Offload.exclude_entries.fqdn_entries
    awplus# show entity URL_Offload.include_entries.fqdn_entries

Note

ドメイン名（FQDN）形式のホスト定義を利用する場合は、DNSリレー、DNSキャッシュ機能との併用が必要です。詳しくは「UTM」/「エンティティー定義」をご参照ください。

### ポリシーベースルーティング（PBR）の設定

ポリシーベースルーティング（PBR）機能において、URLオフロード機能が生成した動的エンティティーを利用したPBRルールを作成し、オフロード対象アドレス宛てトラフィックを他のトラフィックとは異なる経路で送信するには次のようにします。
以下の設定は、下記の仮定にもとづいています。

- LAN側サブネットを示すエンティティー「private.lan」は作成済み
- 利用可能な経路（ネクストホップ）は次の2つ
  - 192.168.1.1 - インターネットゲートウェイ
  - 192.168.2.1 - VPN/プロキシーゲートウェイ
- オフロード対象アドレス宛ての通信はインターネットへのゲートウェイ（192.168.1.1）へ、その他の通信はVPNトンネルまたはプロキシーサーバーへのゲートウェイ（192.168.2.1）に転送

1. ポリシーベースルーティングの設定を開始します。これにはpolicy-based-routingコマンドを使います。

       awplus(config)# policy-based-routing

2. LAN側サブネットからオフロード除外リストに含まれる宛先への通信は、VPN/プロキシーゲートウェイ経由で送信します。これにはip policy-routeコマンドを使います。

       awplus(config-pbr)# ip policy-route 10 from private.lan to URL_Offload.exclude_entries nexthop 192.168.2.1

3. LAN側サブネットからオフロード対象リストに含まれる宛先への通信は、インターネットゲートウェイ経由で送信します。

       awplus(config-pbr)# ip policy-route 20 from private.lan to URL_Offload.include_entries nexthop 192.168.1.1

4. その他のLAN側サブネットからの通信は、VPN/プロキシーゲートウェイ経由で送信します。

       awplus(config-pbr)# ip policy-route 30 from private.lan nexthop 192.168.2.1

5. ポリシーベースルーティング（PBR）を有効化します。これにはpolicy-based-routing enableコマンドを使います。

       awplus(config-pbr)# policy-based-routing enable

Note

- IPv6通信に関しても同様の設定が可能です。
- 他のPBRルールを使用する場合は、URLオフロード用のルールよりも前に設定することで、動的エンティティーの影響を気にせず設定を行えます。

### ファイアウォールの設定

URLオフロード機能が生成した動的エンティティーは、ファイアウォール機能からも使用できます。
ファイアウォールルール内で動的エンティティーを使用することにより、オフロード対象トラフィックにだけインターネットへの通信を許可し、他のトラフィックはすべてブロックするような設定が可能です。

1. ファイアウォール機能の設定を開始します。これにはfirewallコマンドを使います。

       awplus(config)# firewall

2. LAN側サブネットからオフロード除外リストに含まれる宛先への通信をブロックします。これにはruleコマンドのdenyアクションを使います。

       awplus(config-firewall)# rule 10 deny any from private.lan to URL_Offload.exclude_entries

3. LAN側サブネットからオフロード対象リストに含まれる宛先への通信は許可します。これにはruleコマンドのpermitアクションを使います。

       awplus(config-firewall)# rule 20 allow any from private.lan to URL_Offload.include_entries

4. その他のLAN側サブネットからの通信はブロックします。

       awplus(config-firewall)# rule 30 deny any from private.lan to public.wan

5. ファイアウォールを有効化します。これにはprotectコマンドを使います。

       awplus(config-firewall)# protect

## 高度な設定

### PACファイルのカスタムテンプレート

URLオフロード機能のPACファイルは、テンプレートに下記の情報を埋め込むことで生成されます。

1. オフロード除外アドレスの識別条件（オフロード除外リスト）
2. オフロード対象アドレスの識別条件（オフロード対象リスト）
3. プロキシーサーバーのアドレス/ポート（pac-file proxy-addressコマンド）

デフォルトでは下記の内蔵テンプレートが使用されます。
プレースホルダー `%%EXCLUDE_MATCHES%%` には 1、`%%INCLUDE_MATCHES%%` には 2、`%%PROXY_ADDRESS%%` には 3 の情報が埋め込まれます。

    function FindProxyForURLEx(url, host)
    {
        var direct = "DIRECT";
        var proxyServer = "PROXY %%PROXY_ADDRESS%%";

        /* Host is on local network (no dots in name) */
        if (isPlainHostName (host))
        {
            return direct;
        }

        /* Exclude matches */
        if(%%EXCLUDE_MATCHES%%)
        {
            return proxyServer;
        }

        /* Include matches */
        if(%%INCLUDE_MATCHES%%)
        {
            return direct;
        }

        return proxyServer;
    }

    function FindProxyForURL(url, host)
    {
        return FindProxyForURLEx (url, host);
    }

カスタムテンプレートを使用するには、次の手順にしたがいます。

1. 上記内蔵テンプレートを参考にしながらカスタムテンプレートファイルを作成します。
   - カスタムテンプレートファイルには、最低限 2つのプレースホルダー `%%EXCLUDE_MATCHES%%` と `%%INCLUDE_MATCHES%%` を記述する必要があります。
     前述のとおり、これらはそれぞれ「オフロード除外アドレス」、「オフロード対象アドレス」の識別条件に置き換えられます。
     Note

     `%%EXCLUDE_MATCHES%%` は、`%%INCLUDE_MATCHES%%` よりも前に処理されるよう記述する必要があります。

   - カスタムテンプレートファイルには、オプションで `%%PROXY_ADDRESS%%` というプレースホルダーも記述可能です。
     これも前述のとおり pac-file proxy-addressコマンドで設定したプロキシーアドレス文字列に置き換えられます。
2. カスタムテンプレートファイルを本製品がアクセス可能な場所に置きます。アクセス可能な場所の選択肢は大きく分けて次の2つです。
   - local - 本製品のファイルシステム
   - remote - 本製品からアクセスできるWebサーバー
3. カスタムテンプレートファイルの置き場所をpac-file templateコマンドで指定します。
   - 本製品のファイルシステム上に置いた場合は、キーワード「local」の後にローカルファイルパスを指定します。

         awplus(config-url-offload)# pac-file template local flash:/pac_template.pac

   - Webサーバー上に置いた場合は、キーワード「remote」の後にURLを指定します。

         awplus(config-url-offload)# pac-file template remote http://192.168.1.2/remote_pac_template.pac

カスタムテンプレートの指定を取りやめ、デフォルトの内蔵テンプレートを使用するには、pac-file templateコマンドをno形式で実行します。

    awplus(config-url-offload)# no pac-file template

現在使用しているPACファイルテンプレートはshow url-offload pac-file templateコマンドで確認できます。

    awplus# show url-offload pac-file template

### エンドポイント情報解析機能の自動更新

Office365の情報提供サーバーから取得するエンドポイント情報のフォーマットは予告なく変更される可能性があります。
URLオフロード機能ではこうしたケースに対応するため、エンドポイント情報のJSONデータ解析器をインターネット経由で更新する仕組みを備えています。
エンドポイント情報解析機能の自動更新はデフォルト無効ですが、parser-updates enableコマンドで有効化できます。

    awplus(config-url-offload)# parser-updates enable

エンドポイント情報解析機能の自動更新間隔は parser-updates intervalコマンドで変更できます。初期設定は60分です。

    awplus(config-url-offload)# parser-updates interval days 1

エンドポイント情報解析機能の更新チェックを手動で実行するには、update nowコマンドを実行します。

    awplus# update url_offload_office365_parser now

## 状態の確認

ランニングコンフィグ内のURLオフロードに関連する設定だけを表示するには、show running-configコマンドでセクション名「url-offload」を指定します。

    awplus# show running-config url-offload

エンドポイント情報の取得に関する設定は、show url-offload endpoint-sourceコマンドで確認できます。

    awplus# show url-offload endpoint-source

Office365の情報提供サーバーから取得したエンドポイント情報の生JSONデータは、show url-offload endpoint-source office365 raw-dataコマンドで確認できます。このコマンドでは、endpoint-source type office365コマンドで指定した設定名を指定する必要があります。

    awplus# show url-offload endpoint-source office365 o365 raw-data

Office365の情報提供サーバーから取得したエンドポイント情報のJSONデータを解析して得られたエンドポイント（IPv4/IPv6アドレスとドメイン名）の一覧は、show url-offload endpoint-source office365 entriesコマンドで確認できます。

    awplus# show url-offload endpoint-source office365 entries

フィルター処理後のオフロード対象リストと除外リストを確認するには、同コマンドで filtered オプションを指定します。

    awplus# show url-offload endpoint-source office365 entries filtered

手動設定したオフロード対象リストと除外リストは、show url-offload endpoint-source manual entriesコマンドで確認できます。

    awplus# show url-offload endpoint-source manual entries