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


基本仕様
エンドポイント情報の取得・更新
PACファイルの生成・配布
動的エンティティー
エンドポイント情報の取得・更新設定
自動取得(Office365)
事前確認
エンドポイント情報を取得するための設定
オフロード対象リストの作成(エンドポイント情報の取捨選別)
オフロード除外リストの作成
エンドポイント情報を利用するための設定
手動設定
エンドポイント情報の準備
オフロード対象リストの作成
オフロード除外リストの作成
エンドポイント情報を利用するための設定
エンドポイント情報にもとづく各種動作の設定
プロキシー自動構成ファイル(PACファイル)の設定
動的エンティティーの確認
ポリシーベースルーティング(PBR)の設定
ファイアウォールの設定
高度な設定
PACファイルのカスタムテンプレート
エンドポイント情報解析機能の自動更新
状態の確認


URLオフロードは、通常プロキシーサーバーやVPN回線経由でインターネット通信を行っている環境において、特定宛先へのトラフィックだけをプロキシーやVPNを介さずに直接インターネット経由で送信させる(オフロードする)ための機能です。

特定クラウドサービス宛ての通信をオフロードすることで、該当トラフィックがプロキシーサーバーのセッションを使い切ったり、VPN回線に負荷をかけたりすることを防止し、さらにクラウドサービス通信の高速化も期待できます。

URLオフロードではこれらを実現するため、以下の機能を提供します。

基本仕様

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

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

PACファイルの生成・配布

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

動的エンティティー


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

自動取得(Office365)

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

事前確認

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

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

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系統のフィルターコマンドを組み合わせることで行います。

エンドポイントの選択には大きく分けて次の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 excludefilter-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オフロードのエンドポイント情報(オフロード対象リストと除外リスト)は、クラウドサービスから自動取得するだけでなく、手動で設定することも可能です。
ここでは、オフロード対象リストと除外リストを手動設定する方法を説明します。

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

任意の通信をオフロードするには、同通信の宛先となるアドレスや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)やファイアウォールの設定時には、除外リスト、対象リストの順にルールを記述することで、除外リストに含まれるアドレスやドメイン宛ての通信をオフロード対象から外すことが可能です。

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

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

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

プロキシー自動構成ファイル(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サーバーを使用する場合は、同サーバーのマニュアルをご参照ください。

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ルールを作成し、オフロード対象アドレス宛てトラフィックを他のトラフィックとは異なる経路で送信するには次のようにします。

以下の設定は、下記の仮定にもとづいています。

  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

ファイアウォールの設定

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. カスタムテンプレートファイルを本製品がアクセス可能な場所に置きます。アクセス可能な場所の選択肢は大きく分けて次の2つです。

  3. カスタムテンプレートファイルの置き場所をpac-file templateコマンドで指定します。

■ カスタムテンプレートの指定を取りやめ、デフォルトの内蔵テンプレートを使用するには、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


(C) 2015 - 2022 アライドテレシスホールディングス株式会社

PN: 613-002107 Rev.AT