Cisco ASR 9000 シリーズ アグリゲーション サービス ルータ ブロードバンド ネットワーク ゲートウェイ コンフィギュレーション ガイド リリース 4.3.x
コントロール ポリシーのアクティブ化
コントロール ポリシーのアクティブ化
発行日;2013/07/12   |   ドキュメントご利用ガイド   |   ダウンロード ;   この章 pdf   ,   ドキュメント全体 pdf    |   フィードバック

コントロール ポリシーのアクティブ化

コントロール ポリシーによって、サービス プロバイダーは加入者のさまざまなライフサイクル イベント中に実行される特定のアクションを定義できます。 この章では、BNG ルータでのコントロール ポリシーのアクティブ化に関する情報を提供します。 コントロール ポリシーは、ポリシーマップを使用して定義されます。 ポリシーマップには、一連のイベント、つまり特定のアクションの実行中のイベントが含まれます。 アクションを実行するための条件は、クラスマップで定義されます。 クラスマップは作成された後、ポリシーマップに含まれます。 ポリシーマップは、ポリシーのルータ インターフェイス上でアクティブ化され、有効になります。 ポリシー マップによって実行できるアクションの 1 つは、動的なテンプレートをアクティブ化することです。 動的なテンプレートは、加入者のグループに適用される一連の設定項目をグループ化するために使用されるコンテナです。 この章は、次の内容で構成されています。

コントロール ポリシーの概要

コントロール ポリシーによって、サービス プロバイダーは、セッションの作成や接続の切断など、加入者のさまざまなライフサイクル イベント中に実行される必要のあるアクションを定義できます。 イベントの完全なリストについては、コントロール ポリシー イベントを参照してください。

さまざまな一致基準に基づいて、異なるユーザに対して異なるアクションを実行できます。 コントロール ポリシーで指定できる一部のアクションは、次のとおりです。

  • 外部 AAA サーバによる加入者の認証または許可
  • 加入者アカウンティングの開始
  • 動的なテンプレートを使用した加入者に固有の設定のアクティブ化

コントロール ポリシーは、ポリシーマップおよびクラスマップを使用して導入されます。 各ポリシーマップには、サービス プロバイダーが加入者のライフサイクルに適用できると見なしたイベントのリストが含まれます。 ポリシーマップは、これらのイベント中に実行されるアクションも定義します。 ただし、これらのアクションは、特定の条件を満たす場合にのみ実行されます。 これらの条件は、一致基準と呼ばれます。 一致基準は、ポリシーマップ内に含まれるクラスマップで定義されます。 異なる加入者に対して異なる一致基準を持つことができます。

たとえば、特定の「MAC アドレス」一致基準の「セッションの開始」イベントが発生したときに、「加入者の認証」アクションを開始するようにコントロール ポリシーを作成できます。 このコントロール ポリシーを導入した後、指定された MAC アドレスを持つデバイスが新しいセッションを開始すると、BNG は加入者認証プロセスを開始します。

ポリシーマップで定義されているアクションは、アクション ハンドラによって実行されます。 サポートされるアクション ハンドラの詳細については、アクション ハンドラを参照してください。

次の図は、コントロール ポリシーの構造を示しています。 図は、各ポリシーに複数のイベントがあること、各イベントに複数のクラスがあること、各クラスに複数のアクションがあることを示しています。 結果として、1 つまたは多数のイベント中に、単一または複数の条件について一致が検出されると、単一のポリシー マップを使用して複数のアクションをトリガーできます。

図 1. コントロール ポリシー

次の設定例は、コントロール ポリシー構造を示しています。
policy-map type control subscriber policy-map-name
   event <event-type> [match-all|match-first]
      class type control subscriber <class-map-name>
           <seq#> <action-type> <action_options>

クラスマップの作成

クラスマップを使用して、トラフィック クラスを定義します。 トラフィックは、クラスマップで定義されている一致基準に基づいて分類されます。 一致基準のパラメータは、プロトコル、MAC アドレス、入力インターフェイス、アクセス グループなどになります。

複数の一致基準が 1 つのクラスマップに表示される場合、一致基準をどのように評価するかの定義を手順に含める必要があります。 評価手順には、次の 2 つのタイプがあります。

  • Match-any:評価されるトラフィックが指定された基準のいずれかと一致する場合に、明確に一致します。
  • Match-all:評価されるトラフィックが指定されたすべての条件と一致する場合に、明確に一致します。

一致すると、トラフィックはクラスのメンバーと見なされます。

各クラスマップは、ID に名前を割り当てられます。 クラスマップ名は、ポリシーマップ内で指定されます。

クラスマップの作成については、クラスマップの設定を参照してください。

クラスマップの設定

コントロール ポリシーのクラスマップを設定するには、次の作業を実行します。 たとえば、このクラスマップは、評価手順「match-any」で作成されます。 一致基準は、値「PPP」の「プロトコル」です。 結果として、セッションが PPP プロトコルを使用する場合、明確に一致します。

手順の概要

    1.    configure

    2.    class-map type control subscriber match-any class-map-name

    3.    match protocol ppp

    4.    end-class-map

    5.    次のいずれかのコマンドを使用します。

    • end
    • commit


手順の詳細
     コマンドまたはアクション目的
    ステップ 1 configure


    例:
    RP/0/RSP0/CPU0:router# configure
     

    グローバル コンフィギュレーション モードを開始します。

     
    ステップ 2 class-map type control subscriber match-any class-map-name


    例:
    RP/0/RSP0/CPU0:router(config)# class-map type control subscriber match-any clmap1
    
     

    ユーザ定義名を使用して新しい加入者のコントロール クラスマップを作成します。

    クラスマップ モードを開始します。

    一致評価手順を「match-any」として定義します。

     
    ステップ 3 match protocol ppp


    例:
    RP/0/RSP0/CPU0:router(config-cmap)# match protocol ppp
    
     

    一致基準を PPP プロトコルとして定義します。

    (注)     

    複数の match ステートメントは、クラスマップごとに適用できます。

     
    ステップ 4 end-class-map


    例:
    RP/0/RSP0/CPU0:router(config-cmap)# end-class-map
    
     

    クラス マップの設定を終了します。

     
    ステップ 5次のいずれかのコマンドを使用します。
    • end
    • commit


    例:
    RP/0/RSP0/CPU0:router(config)# end

    または

    RP/0/RSP0/CPU0:router(config)# commit
     

    設定変更を保存します。

    • end コマンドを実行すると、変更をコミットするように要求されます。
      Uncommitted changes found, commit them
      before exiting(yes/no/cancel)? [cancel]:
      
      • yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。
      • no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。
      • cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。
    • 設定変更を実行コンフィギュレーション ファイルに保存し、コンフィギュレーション セッションを継続するには、commit コマンドを使用します。
     

    クラスマップの設定:例

    class-map type control subscriber match-any DHCP_class
    match protocol dhcpv4
    end-class-map
     !
    !
    end

    ポリシーマップの作成

    ポリシーマップは、クラスマップの定義に基づいて一致する場合、一連のアクションが実行されるイベントを定義するために使用されます。 サポートされる BNG イベントの詳細については、コントロール ポリシー イベントを参照してください。

    ポリシーマップは、一連のイベントを示します。 イベントごとに、一連のクラスマップを定義します。 各クラスマップでは、一連のアクションが順番に表示されます。 ポリシーマップが BNG ルータ インターフェイス上で適用されると、トラフィックがクラスマップに記載されている基準を満たすときに、アクションが実行されます。

    複数のクラスマップがポリシーマップに表示されている場合、手順を指定して、どのクラスマップを適用するのかを定義する必要があります。 評価手順には、次の 2 つのタイプがあります。

    • First-match:最初のクラスマップに対して一致した場合にのみ、アクションが実行されます。
    • Match-all:すべての一致するクラスに対して、アクションが実行されます。

    クラスマップと同様に、各ポリシーマップは ID に名前を割り当てられます。 ポリシーマップ名は、ルータ インターフェイスでポリシーマップをアクティブ化するときに指定されます。

    ポリシーマップの作成については、ポリシーマップの設定を参照してください。

    コントロール ポリシー イベント

    BNG のコントロール ポリシーは、次に示すイベントをサポートします。 次のイベントは、タスクポリシーマップの設定を使用するポリシーマップの作成中に定義される必要があります。

    • セッションの開始:このイベントは、PPPoE と DHCP アクセス プロトコルによって使用され、ポリシー プレーンで加入者を作成します。 オペレータは、AAA アクションを設定し、加入者に適した動的なテンプレートをアクティブ化することがあります。
    • セッションのアクティブ化:一部のアクセス プロトコルには、2 段階のセッション起動が必要です。たとえば、PPPoE 加入者によって、PPPoE アクセス プロトコルは、first sign of life(FSOL)のセッションの開始イベントをコールします。この後、PPP ネゴシエーションおよび認証中にセッションのアクティブ化が続きます。 オペレータは、AAA アクションを設定し、加入者に適しているとして動的なテンプレートをアクティブ化します。
    • サービスの停止:CoA は、このイベントを生成する責任があります。 BNG のオペレータは、アクションのアクティブ化または非アクティブ化を設定し、サービスが停止されると加入者をデフォルトの状態にします。
    • 認証応答なし:設定されている場合、AAA サーバから認証要求の応答がない場合にこのイベントがトリガーされます。 このイベントによって、ネットワーク アクセス サーバ(NAS)のオペレータは障害の処理方法を定義できます。 認証応答なしイベントが設定されていない場合、認証失敗の結果は、デフォルトの処理用のアクセス プロトコルに伝播されます。
    • 許可応答なし:設定されている場合、AAA サーバから許可要求の応答がない場合にこのイベントがトリガーされます。 このイベントによって、NAS オペレータは障害の処理方法を定義できます。 許可応答なしイベントが設定されていない場合、許可結果はデフォルトの処理用のアクセス プロトコルに伝播され、これによって許可をトリガーしたクライアントが加入者セッションを切断します。
    • 認証失敗:設定されている場合、および RADIUS サーバが認証失敗を返す場合、ポリシー ルール エンジンは、加入者を切断しないように要求を出したクライアントに「認証成功」を返します。 さらに、必要な動作を提供するクライアントに依存するのではなく、設定された認証失敗イベント内のアクションを加入者に適用します。
    • 許可失敗:許可の失敗イベントは、RADIUS サーバのアクセス要求の拒否を示します。 設定されている場合、サービス プロバイダーはクライアントからの失敗のデフォルトの処理を上書きします。
    • 時間が決まったポリシーの期限切れ:設定されている場合、このイベントは、加入者セッションで設定されているポリシーのタイマー設定アクションの結果としてトリガーされます。 このイベントによって、NAS オペレータは多数のシナリオのタイマーを定義できます。 セット タイマーは、特定の加入者の状態の変更が行われたことを示します。 セッションが目的の状態にない場合、NAS オペレータは設定された切断アクションによってセッションを切断または終了したり、異なるユーザ ポリシーを課すことができます。
    • アカウントログイン:設定されている場合、このイベントは、デフォルトのアカウントログイン処理に動作を上書きします。 デフォルトの動作は、提供されたクレデンシャルを使用した認証をトリガーするだけです。 ただし、デフォルトのアカウントログイン イベントを上書きする場合、明示的に、認証アクションと必要なその他のアクションを設定する必要があります。
    • アカウントログオフ:設定されている場合、このイベントは、デフォルトのアカウントログオフ処理の動作を上書きします。 アカウントログオフ処理のデフォルトの動作は、加入者を切断することです。 デフォルトの動作を上書きできることは有用です。 加入者を切断するのではなく、サービス プロバイダーは再認証を実行できます。 加入者に対して HTTP リダイレクト機能をイネーブルにすることによって、新しいアカウントログインで再認証が実行されます。

    ポリシーマップの設定

    コントロール ポリシーのポリシー マップを設定するには、次の作業を実行します。 たとえば、このポリシーマップは、セッションの開始およびセッションのアクティブ化イベントに対して作成されます。 セッションの開始イベントでは、動的なテンプレートがアクティブ化されます。 セッションのアクティブ化イベントでは、認証プロセスが起動されます。 サポートされるイベントの詳細については、コントロール ポリシー イベントを参照してください。

    手順の概要

      1.    configure

      2.    policy-map type control subscriber policy-map-name

      3.    event session-start match-all

      4.    class type control subscriber class_name do-until-failure

      5.    sequence_number activate dynamic-template dynamic-template_name

      6.    event session-activate match-all

      7.    class type control subscriber class_name do-until-failure

      8.    sequence_number authenticate aaa list default

      9.    end-policy-map

      10.    次のいずれかのコマンドを使用します。

      • end
      • commit


    手順の詳細
       コマンドまたはアクション目的
      ステップ 1 configure


      例:
      RP/0/RSP0/CPU0:router# configure
       

      グローバル コンフィギュレーション モードを開始します。

       
      ステップ 2 policy-map type control subscriber policy-map-name


      例:
      RP/0/RSP0/CPU0:router(config)# policy-map type control subscriber plmap1
      
       

      ユーザ定義名で新しいポリシーマップを作成します。

      ポリシーマップ モードを開始します。

       
      ステップ 3 event session-start match-all


      例:
      RP/0/RSP0/CPU0:router(config-pmap)# event session-start match-all
      
       

      アクションを実行するイベント(セッションの開始)を定義します。

      すべての一致したクラスにアクションを実行する「match-all」として一致手順を定義します。

       
      ステップ 4 class type control subscriber class_name do-until-failure


      例:
      RP/0/RSP0/CPU0:router(config-pmap-e)# class type control subscriber CL1 do-until-failure
      
       

      イベントにクラスマップを関連付けます。 クラスマップ名を指定する必要があります。

      障害が発生するまでアクションを実行するように指定します。

       
      ステップ 5 sequence_number activate dynamic-template dynamic-template_name


      例:
      RP/0/RSP0/CPU0:router(config-pmap-c)# 1 activate dynamic-template template1
      
       

      実行されるアクションを定義します。 この場合、動的なテンプレートがアクティブ化されます。

      (注)     

      このコマンドを繰り返して、複数のアクションを定義できます。

       
      ステップ 6 event session-activate match-all


      例:
      RP/0/RSP0/CPU0:router(config-pmap)# event session-activate match-all
      
       

      アクションを実行するイベント(セッションのアクティブ化)を定義します。

      すべての一致したクラスにアクションを実行する「match-all」として一致手順を定義します。

       
      ステップ 7 class type control subscriber class_name do-until-failure


      例:
      RP/0/RSP0/CPU0:router(config-pmap-e)# class type control subscriber CL1 do-until-failure
      
       

      イベントにクラスマップを関連付けます。 クラスマップ名を指定する必要があります。

      障害が発生するまでアクションを実行するように指定します。

       
      ステップ 8 sequence_number authenticate aaa list default


      例:
      RP/0/RSP0/CPU0:router(config-pmap-c)# 2 authenticate aaa list default
      
       

      実行されるアクションを定義します。 この場合、AAA リストの認証を開始します。

       
      ステップ 9 end-policy-map


      例:
      RP/0/RSP0/CPU0:router(config-pmap)# end-policy-map
      
       

      ポリシー マップの設定を終了します。

       
      ステップ 10次のいずれかのコマンドを使用します。
      • end
      • commit


      例:
      RP/0/RSP0/CPU0:router(config)# end

      または

      RP/0/RSP0/CPU0:router(config)# commit
       

      設定変更を保存します。

      • end コマンドを実行すると、変更をコミットするように要求されます。
        Uncommitted changes found, commit them
        before exiting(yes/no/cancel)? [cancel]:
        
        • yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。
        • no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。
        • cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。
      • 設定変更を実行コンフィギュレーション ファイルに保存し、コンフィギュレーション セッションを継続するには、commit コマンドを使用します。
       

      ポリシーマップの設定:例

      policy-map type control subscriber PL1
       event session-start match-first
        class type control subscriber DHCP_class do-until-failure
         1 activate dynamic-template dhcp
        class type control subscriber class-default do-until-failure
      ! Packet trigger is default
         1 activate dynamic-template packet-trigger
       end-policy-map
       !
      !
      end

      ポリシーマップのアクティブ化

      ポリシーマップを作成した後、ルータ インターフェイスでアクティブ化する必要があります。 ポリシーは、ポリシ マップのアクティブ化が完了した後にのみ実行されます。 1 つまたは複数のポリシーマップは、サービスポリシーを設定します。 サービス ポリシーをイネーブルにするには、加入者インターフェイスでのサービスポリシーのイネーブル化を参照してください。

      加入者インターフェイスでのサービスポリシーのイネーブル化

      加入者インターフェイスでサービスポリシーをイネーブルにするには、次の作業を実行します。 プロセスには、以前に作成したポリシーマップのインターフェイスへの接続が含まれます。 このプロセスを完了すると、クラスマップで定義されたアクションが、サービスポリシーがイネーブルなインターフェイスに着信するトラフィックで有効になります。

      手順の概要

        1.    configure

        2.    interface type interface-path-id

        3.    service-policy type control subscriber policy_name

        4.    次のいずれかのコマンドを使用します。

        • end
        • commit


      手順の詳細
         コマンドまたはアクション目的
        ステップ 1 configure


        例:
        RP/0/RSP0/CPU0:router# configure
         

        グローバル コンフィギュレーション モードを開始します。

         
        ステップ 2 interface type interface-path-id


        例:
        RP/0/RSP0/CPU0:router(config)# interface Bundle-Ether100.10
        
         

        Bundle-Ether アクセス インターフェイスのインターフェイス コンフィギュレーション モードを開始します。

        (注)      IPoE セッションでは、arp learning disable コマンドを使用して、ダイナミック ARP ラーニングをアクセスインターフェイスでディセーブルにすることを推奨します。
         
        ステップ 3 service-policy type control subscriber policy_name


        例:
        RP/0/RSP0/CPU0:router(config-if)# service-policy type control subscriber plmap1
        
         

        「plmap1」という名前の事前定義されたポリシーマップをアクセス インターフェイスに適用します。

         
        ステップ 4次のいずれかのコマンドを使用します。
        • end
        • commit


        例:
        RP/0/RSP0/CPU0:router(config)# end

        または

        RP/0/RSP0/CPU0:router(config)# commit
         

        設定変更を保存します。

        • end コマンドを実行すると、変更をコミットするように要求されます。
          Uncommitted changes found, commit them
          before exiting(yes/no/cancel)? [cancel]:
          
          • yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。
          • no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。
          • cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。
        • 設定変更を実行コンフィギュレーション ファイルに保存し、コンフィギュレーション セッションを継続するには、commit コマンドを使用します。
         

        動的なテンプレートの定義

        動的なテンプレートは、一連の設定をグループ化し、加入者セッションに適用するために使用されるコンテナです。 動的なテンプレートは、CLI でグローバルに設定されます。 ただし、動的なテンプレートを定義することによって、設定が加入者インターフェイスにすぐに適用されるわけではありません。 動的なテンプレート内の設定は、動的なテンプレートがコントロール ポリシーを使用してアクティブ化される場合にのみ、加入者インターフェイスに適用されます。 同様に、適用された設定は、動的なテンプレートがコントロール ポリシーを使用して非アクティブ化される場合にのみ、停止します。

        動的なテンプレートには、次の 3 つの基本タイプがあります。

        • PPP テンプレート:PPPoE プロトコルに関連する特定の設定が含まれます。
        • IP 加入者テンプレート:IP 加入者セッションでアクティブ化される特定の設定が含まれます。
        • サービス テンプレート:セッション ライフサイクル イベントに応じてアクティブ化されるサービス関連の設定が含まれます。 サービス テンプレートは、インターフェイスまたはメディア固有コマンドを含みません。

        動的なテンプレートは、CLI で設定するか、AAA サーバからダウンロードすることができます。 次の設定例では、ポリシー マップによって、CLI で定義された IP 加入者の動的なテンプレートがアクティブ化されます。

        dynamic-template
        type ipsubscriber ipsub
        ipv4 unnumbered Loopback400
        policy-map type control subscriber PL2
        event session-start match-first
        class type control subscriber class-default do-all
        1 activate dynamic-template ipsub
        
        

        AAA サーバからダウンロードされる動的なテンプレートには、ユーザ プロファイルとサービス プロファイルの 2 つのタイプがあります。 ユーザ プロファイルは、単一の加入者に適用され、サービス プロファイルは、複数の加入者に適用できます。 次の設定例では、ポリシー マップは、AAA サーバからサービス テンプレートをダウンロードします。

        Radius Config:
        service1 Password="xxxxxx"
        Cisco-avpair = "ipv4:ipv4-unnumbered=Loopback400"
        
        Router Config:
        policy-map type control subscriber PL2
        event session-start match-first
        class type control subscriber class-default do-all
        1 activate dynamic-template service1 aaa list default
        
        

        前述の例では、「aaa list default」キーワードが、テンプレート「service1」を AAA サーバからダウンロードするよう指定しています。 テンプレートは、一度だけダウンロードされます。 service1 を示す複数のコントロール ポリシーがある場合は、前にダウンロードしたバージョンを取得します。

        同じイベントまたは異なるイベントに対して、同じ加入者インターフェイス上で複数の動的なテンプレートをアクティブ化できます。 特定の機能の設定が複数の動的なテンプレートで定義されている場合、設定は、特定の優先順位ですべてのテンプレートから取得されます。 この順位は、動的なテンプレートのタイプ、および CLI または AAA のいずれから適用されているかに基づきます。 順序は次のようになります。

        • AAA からユーザ プロファイルによって適用されたテンプレート
        • AAA からサービス プロファイルによって適用されたテンプレート
        • CLI から適用された IP 加入者テンプレート
        • CLI から適用された PPP テンプレート
        • CLI から適用されたサービス テンプレート

        動的なテンプレートを使用して特定の機能設定を定義するタスクには、対応する機能のトピックが含まれます。

        その他の関連資料

        ここでは、コントロール ポリシーの実装に関連する参考資料を示します。

        MIB

        MIB MIB のリンク
         

        選択したプラットフォーム、Cisco IOS リリース、およびフィーチャ セットに関する MIB を探してダウンロードするには、次の URL にある Cisco MIB Locator を使用します。

        http:/​/​www.cisco.com/​go/​mibs

        シスコのテクニカル サポート

        説明 リンク

        シスコのサポート Web サイトでは、シスコの製品やテクノロジーに関するトラブルシューティングにお役立ていただけるように、マニュアルやツールをはじめとする豊富なオンライン リソースを提供しています。

        お使いの製品のセキュリティ情報や技術情報を入手するために、Cisco Notification Service(Field Notice からアクセス)、Cisco Technical Services Newsletter、Really Simple Syndication(RSS)フィードなどの各種サービスに加入できます。

        シスコのサポート Web サイトのツールにアクセスする際は、Cisco.com のユーザ ID およびパスワードが必要です。

        http:/​/​www.cisco.com/​cisco/​web/​support/​index.html