PPPoE 中継エージェント(PPPoE IA)の設定
DSL Forum TR-101 [1] は、サブスクライバ回線固有の情報を持つ、サービス プロバイダーのアクセス スイッチで PPP over Ethernet(PPPoE)ディスカバリ パケットにタグ付けする方法を提供しています。このメカニズムでは、スイッチで回線固有の情報を追加するために PPPoE ディスカバリ パケットの Vendor-Specific-Atribute(VSA; ベンダー固有属性)を使用することが指定されています。Subscriber Line Identification(SLI; サブスクライバ回線識別)は別の方法(スタックされた Virtual LAN(VLAN; 仮想 LAN)タグを使用して仮想パスおよび回線を再作成する)でも実行できますが、DSL Forum 2004-071 [4] では PPPoE Intermediate Agent(PPPoE IA; PPPoE 中継エージェント)メカニズムが推奨されています。その理由として、プロビジョニング コストを削減できること、およびアクセス スイッチと Broadband Remote Access Server(BRAS)を管理する Operation Support System(OSS; オペレーション サポート システム)間の連携が簡単になることが挙げられています。PPPoE 中継エージェントは、サービス プロバイダーである BRAS がイーサネットを介してアクセス スイッチに接続されているエンド ホストを区別するのに役立ちます。
この章では、Catalyst 4500 シリーズ スイッチの PPPoE 中継エージェントについて説明します。内容は次のとおりです。
• 「概要」
• 「スイッチ上での PPPoE IA のイネーブル化」
• 「スイッチ上での PPPoE IA のアクセス ノード識別子の設定」
• 「スイッチ上での PPPoE IA の識別子文字列、オプション、デリミタの設定」
• 「スイッチ上の PPPoE IA の汎用エラー メッセージの設定」
• 「インターフェイス上での PPPoE IA のイネーブル化」
• 「インターフェイス上での PPPoE IA 信頼設定の設定」
• 「インターフェイス上での PPPoE IA レート制限設定の設定」
• 「インターフェイス上での PPPoE IA ベンダータグ除去の設定」
• 「インターフェイス上の PPPoE IA 回線 ID およびリモート ID の設定」
• 「インターフェイス上の特定 VLAN の PPPoE IA のイネーブル化」
• 「インターフェイス上の VLAN の PPPoE IA 回線 ID およびリモート ID の設定」
概要
PPPoE 中継エージェント(PPPoE IA)は、サブスクライバと BRAS の間に配置され、サービス プロバイダーである BRAS がイーサネットを介してアクセス スイッチに接続されているエンド ホストを区別するのに役立ちます。アクセス スイッチでは、PPPoE IA により異なるユーザのイーサネット フレームに適切にタグ付けすることでサブスクライバ回線識別が可能になります (タグには、スイッチや VLAN に接続されているサブスクライバなどの特定の情報が含まれます)。PPPoE IA は、ポート単位/VLAN 単位ですべての PPPoE Active Discovery(PAD)メッセージを代行受信することで、ホストと BRAS との間の小型セキュリティ ファイアウォールとして機能します。信頼できないポートから代行受信した PAD メッセージの確認、ポート単位の PAD メッセージ レート制限の実行、PAD メッセージの VSA タグの挿入および削除などのセキュリティ機能を提供します。
スイッチ上での PPPoE IA のイネーブル化
この機能を使用して、スイッチ上で PPPoE IA をグローバルにイネーブルまたはディセーブルにできます。
Switch# configure terminal
Switch(config)# pppoe intermediate-agent
デフォルトでは、PPPoE IA はグローバルにディセーブルです。
スイッチ上での PPPoE IA のアクセス ノード識別子の設定
この機能を使用して、スイッチのアクセス ノード識別子を設定できます。このパラメータが指定されていない場合は、管理インターフェイスの IP アドレスを使用して自動的に取得されます。
次に、アクセス ノード識別子 abcd を設定する例を示します。
Switch# configure terminal
Switch(config)# pppoe intermediate-agent format-type access-node-id string abcd
デフォルトでは、access-node-id は設定されていません。
スイッチ上での PPPoE IA の識別子文字列、オプション、デリミタの設定
この機能は、システムによるデフォルトの回線 ID の自動生成を上書きします。
使用可能なオプションは、それぞれスロット/ポート、スロット/VLAN、ポート/VLAN、およびスロット/ポート/VLAN の組み合わせを示す sp、sv、pv、および spv です。使用可能なデリミタは #、.、,、;、/、スペースです。
WORD、options、および delimiters を指定しないこのコマンドの no 形式を使用すると、デフォルトの回線 ID の自動生成に戻ります。
次に、識別子文字列 word をオプション spv、デリミタ「:」を使用して設定する例を示します。
Switch# configure terminal
Switch(config) pppoe intermediate-agent format-type
identifier-string string word
このコマンドは、pppoe intermediate-agent format-type circuit-id または pppoe intermediate-agent vlan num format-type circuit-id コマンドを使用してインターフェイス単位またはインターフェイス単位/VLAN 単位で明示的に設定された回線 ID には影響を与えません。
スイッチ上の PPPoE IA の汎用エラー メッセージの設定
この機能を使用して、スイッチの汎用エラー メッセージを設定します。PPPoE IA は特定のエラー状態に限りこのメッセージを送信します。string {WORD} が指定されていない場合、エラー メッセージは追加されません。
次に、packet_length>1484 の汎用メッセージを設定する例を示します。
Switch# configure terminal
Switch(config) pppoe intermediate-agent format-type
generic-error-message string packet_length>1484
PPPoE Discover packet too large to process. Try reducing the number of tags added.
デフォルトでは、generic-error-message は設定されていません。string 値は UTF-8 に変換されてから応答に追加されます。次のようなメッセージが表示されます。
PPPoE Discover packet too large to process.Try reducing the number of tags added.
(注) この TAG (0x0203 Generic-Error) はエラーを示します。これは、PPPoE ペイロードが 1484 バイトより大きい PPPoE ディスカバリ パケットが PPPoE IA によって受信されると、PPPoE IA によって生成された PADO または PADS パケットに追加でき、PADI または PADR の応答に含めてユーザに返信できます。エラー データは UTF-8 文字列でなければなりません。
インターフェイス上での PPPoE IA のイネーブル化
この機能を使用して、インターフェイス上で PPPoE IA 機能をイネーブルにします。pppoe intermediate-agent コマンドが有効になるのは、PPPoE IA 機能がこのコマンドを使用してグローバルにイネーブルに設定されている場合だけです (インターフェイスで受信された PPPoE ディスカバリ パケットの PPPoE IA 処理用にそのインターフェイスで PPPoE IA スタティック ACL をアクティブにするために、グローバルにイネーブルにする必要があります)。
この設定は、所属する VLAN に関係なく、このインターフェイスを通過するすべてのフレームに適用されます。デフォルトでは、PPPoE IA 機能はすべてのインターフェイスでディセーブルです。この機能を必要とするすべてのインターフェイスに対してこのコマンドを実行する必要があります。
次に、ファスト イーサネット インターフェイス 3/1 で PPPoE IA をイネーブルにする例を示します。
Switch# configure terminal
Switch(config) interface FastEthernet 3/1
Switch(config-if) pppoe intermediate-agent
(注) インターフェイス上で PPPoE IA をイネーブルにしても、着信パケットがタグ付けされないことがあります。必要な基準:(a)PPPoE IA をグローバルにイネーブルにする必要があり、(b)スイッチを PPPoE サーバに接続するインターフェイスの少なくとも 1 つに「trusted」PPPoE IA 設定が必要です (次のセクションを参照してください)。
インターフェイス上での PPPoE IA 信頼設定の設定
この機能を使用して、物理インターフェイスを trusted に設定します。次に、ファスト イーサネット インターフェイス 3/2 を trusted に設定する例を示します。
Switch# configure terminal
Switch(config) interface FastEthernet 3/2
Switch(config-if) pppoe intermediate-agent trust
この設定は、デフォルトではディセーブルです。
(注) スイッチを PPPoE サーバに接続するインターフェイスは trusted に設定されます。スイッチをユーザ(PPPoE クライアント)に接続するインターフェイスは untrusted です。
インターフェイス上での PPPoE IA レート制限設定の設定
この機能は、インターフェイス上で PPPoE ディスカバリ パケット(PADI、PADO、PADR、PADS、または PADT)が受信されるレート(秒単位)を制限します。着信パケットのレートが設定されている制限に達するか超えると、ポートは errdisable ステートになります。
次に、ファスト イーサネット インターフェイス 3/1 でレート制限 30 を設定する例を示します。
Switch# configure terminal
Switch(config) interface FastEthernet 3/1
Switch(config-if) pppoe intermediate-agent limit rate 30
(注) レート制限のパラメータは pps です。着信パケットのレートがこの値を超過すると、ポートはシャットダウンします。
インターフェイス上での PPPoE IA ベンダータグ除去の設定
この機能を使用すると、管理者はインターフェイス上で受信した PADO、PADS、および PADT パケットからベンダー固有属性(VSA)タグを除去してからユーザに転送できます。
次に、ファスト イーサネット インターフェイス 3/2 上で除去をイネーブルにする例を示します。
Switch# configure terminal
Switch(config) interface FastEthernet 3/2
Switch(config-if) pppoe intermediate-agent vendor-tag strip
この設定は、デフォルトではディセーブルです。
(注) 一般には、ベンダータグ除去は PPPoE サーバに接続するインターフェイス上で設定します。除去を設定すると、着信パケットから(サブスクライバおよび回線識別情報を伝送する)VSA が除去されます。必要な基準:(a)pppoe intermediate-agent vendor-tag strip コマンドを有効にするために、インターフェイス上で PPPoE 中継エージェントをイネーブルにする必要があり、(b)インターフェイスを trusted に設定する必要があります。このコマンドは単独では無効です。
インターフェイス上の PPPoE IA 回線 ID およびリモート ID の設定
[no] pppoe intermediate-agent format-type circuit-id コマンドは、インターフェイス上の回線 ID を設定し、スイッチによる回線 ID の自動生成を上書きします。このコマンドを使用しない場合、intermediate-agent によってデフォルト タグ(ユーザが接続される PPPoE のイーサネット x/y:z など)が 1 つ 挿入されます。
[no] pppoe intermediate-agent format-type remote-id コマンドは、インターフェイス上のリモート ID を設定します。
この機能によって、回線 ID またはリモート ID を持つこの物理インターフェイスで受信された PADI、PADR、および PADT パケット(PPPoE ディスカバリ ステージに所属)がタグ付けされます。これは、PPPoE IA が VLAN でイネーブルになっていればその VLAN に関係なく行われます。
サブスクライバ回線識別には、回線 ID の代わりにリモート ID を使用する必要があります。この設定はデフォルトで設定されていないため、PPPoE IA をイネーブルにしたすべてのインターフェイス上でこの設定を設定する必要があります。リモート ID のデフォルト値は、(すべての物理インターフェイスの)スイッチの Media Access Control(MAC; メディア アクセス制御)アドレスです。
次に、回線 ID を root として、リモート ID を granite として設定する例を示します。
Switch# configure terminal
Switch(config) interface FastEthernet 3/1
Switch(config-if) pppoe intermediate-agent format-type circuit-id string root
Switch(config-if) pppoe intermediate-agent format-type remote-id string granite
インターフェイス上の特定 VLAN の PPPoE IA のイネーブル化
この機能を使用すると、(a)特定の VLAN 上、(b)「x,y,」のようなカンマで区切ったリスト、または(c)「x-y」のような範囲で PPPoE IA をイネーブルに設定できます。
特定の VLAN:
Switch# configure terminal
Switch(config)# interface FastEthernet 3/1
Switch(config-if)# vlan-range 5
Switch(config-if-vlan-range)# pppoe intermediate-agent
カンマで区切った VLAN リスト:
Switch# configure terminal
Switch(config)# interface FastEthernet 3/1
Switch(config-if)# vlan-range 5,6
Switch(config-if-vlan-range)# pppoe intermediate-agent
VLAN 範囲:
Switch# configure terminal
Switch(config)# interface FastEthernet 3/1
Switch(config-if)# vlan-range 5-9
Switch(config-if-vlan-range)# pppoe intermediate-agent
(注) vlan-range モードの pppoe intermediate-agent コマンドは、インターフェイス モードの同じコマンドに依存しません。pppoe intermediate-agent コマンドは、インターフェイス モードのコマンドと関係なく有効になります。必要な基準:(a)PPPoE IA をグローバルにイネーブルにする必要があり、(b)PPPoE サーバに接続するインターフェイスが少なくとも 1 つ必要です。
インターフェイス上の VLAN の PPPoE IA 回線 ID およびリモート ID の設定
ここでは、インターフェイス上の特定の VLAN の回線 ID およびリモート ID を設定します。このコマンドは、この物理インターフェイスに対して指定された回線 ID およびリモート ID を上書きし、スイッチは WORD 値を使用してこの VLAN で受信されたパケットにタグを付けます。このパラメータはデフォルトでは設定されていません。
remote-id のデフォルト値は、(すべての VLAN の)スイッチの MAC アドレスです。このパラメータを設定して、サブスクライバ固有の情報を符号化できます。
(注) vlan-range モードの circuit-id および remote-id の設定は、PPPoE IA がグローバルおよび vlan-range モードでイネーブルの場合にだけ影響を受けます。
次に、インターフェイス g3/7 で circuit-id を aaa に、remote-id を ccc に設定する例を示します。
Switch(config-if)# vlan-range 5
Switch(config-if)# pppoe intermediate-agent
Switch(config-if-vlan-range)# pppoe intermediate-agent format-type circuit-id string aaa
Switch(config-if-vlan-range)# pppoe intermediate-agent format-type remote-id string ccc
(注) vlan-range モード コマンドは、構文内で指定された特定の VLAN、複数の VLAN、または VLAN の範囲のいずれかに対して PPPoE IA を設定します。
設定パラメータの表示
show pppoe intermediate-agent [info| statistics] [interface {interface}] コマンドは、PPPoE 用に保存されているさまざまな設定パラメータ、統計情報、およびカウンタを表示します。
info キーワードは、PPPoE 中継エージェントがインターフェイス上または(インターフェイスの)VLAN 上でグローバルにイネーブルの場合に表示されます。また、スイッチのアクセス ノード識別子および汎用エラー メッセージ、および次のコマンドによってグローバルに設定されている識別子文字列のオプションおよびデリミタ値も通知します。
Switch(config)# pppoe intermediate-agent format-type ?
access-node-id Access Node Identifier
generic-error-message Generic Error Message
identifier-string Identifier String
info キーワードは、すべてのインターフェイスおよびそれらのインターフェイスに関連付けられているすべての VLAN の回線 ID、リモート ID、信頼およびレート制限設定、およびベンダータグ除去設定も表示します。これらのパラメータのいずれかが設定されていない場合は表示されません。
statistics オプションは、受信された PADI/PADR/PADT パケットの数、およびすべてのインターフェイスおよびそれらのインターフェイスに関連付けられているすべての VLAN で最後のパケットが受信された時刻を表示します。
interface が指定されている場合、その物理インターフェイスおよび関連付けられている VLAN だけに該当する情報や統計情報が表示されます。
PPoE IA は Private VLAN(PVLAN; プライベート VLAN)でサポートされますが、PVLAN の関連付け(プライマリおよびセカンダリ VLAN のマッピング)の情報は表示されません。
PPPoE IA show コマンド(show pppoe intermediate-agent info、show pppoe intermediate-agent info interface g3/7、show pppoe intermediate-agent statistics など)は、プライベート VLAN の関連付け(プライマリおよびセカンダリ VLAN マッピング)に関する情報は表示しません。ただし、次の例に示すように、プライベート VLAN か通常の VLAN かに関係なく VLAN に関する情報は表示されます。
Switch# show pppoe intermediate-agent info
Switch PPPOE Intermediate-Agent is enabled
PPPOE Intermediate-Agent trust/rate is configured on the following Interfaces:
Interface IA Trusted Vsa Strip Rate limit (pps)
----------------------- -------- ------- --------- ----------------
GigabitEthernet3/4 no yes yes unlimited
PPPOE Intermediate-Agent is configured on following VLANs:
GigabitEthernet3/7 no no no unlimited
PPPOE Intermediate-Agent is configured on following VLANs:
Switch# show pppoe intermediate-agent info interface g3/7
Interface IA Trusted Vsa Strip Rate limit (pps)
----------------------- -------- ------- --------- ----------------
GigabitEthernet3/7 yes no no unlimited
PPPoE Intermediate-Agent is configured on following VLANs:
Switch# show pppoe intermediate-agent statistics
PPPOE IA Per-Port Statistics
Interface : GigabitEthernet3/7
Server responses from untrusted ports = 0
Client requests towards untrusted ports = 0
Malformed PPPoE Discovery packets = 0
Vlan 2: Packets received PADI = 0 PADO = 0 PADR = 0 PADS = 0 PADT = 0
Vlan 3: Packets received PADI = 0 PADO = 0 PADR = 0 PADS = 0 PADT = 0
Switch# show pppoe intermediate-agent statistics interface g3/7
Interface : GigabitEthernet3/7
Server responses from untrusted ports = 0
Client requests towards untrusted ports = 0
Malformed PPPoE Discovery packets = 0
Vlan 2: Packets received PADI = 6 PADO = 0 PADR = 6 PADS = 0 PADT = 6
Vlan 3: Packets received PADI = 4 PADO = 0 PADR = 4 PADS = 0 PADT = 4