RFC
PPPoE 中継エージェントについて
アクセス スイッチにイーサネット経由で接続されているエンド ホストをサービス プロバイダー BRAS が区別するのを支援するために、PPPoE 中継エージェント(PPPoE IA)が加入者と 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 のアクセス ノード ID の設定
この機能は、スイッチのアクセス ノード ID を設定することができます。指定しない場合、このパラメータは、管理インターフェイスの IP アドレスで自動的に生成されます。
次に、abcd のアクセス ノード ID を設定する例を示します。
Switch# configure terminal
Switch(config)# pppoe intermediate-agent format-type access-node-id string abcd
デフォルトでは、アクセス ノード ID は設定されていません。
スイッチ上の PPPoE IA に対する識別ストリング、オプション、デリミタの設定
この機能は、システムによるデフォルトの回線 ID の自動生成を上書きします。
使用可能なオプションは、sp、sv、pv および spv を示すスロットです(それぞれ、ポート、スロット VLAN、ポート VLAN、およびスロット ポート VLAN の組み合わせ)。有効なデリミタは # ., ; / スペースです。
WORD、オプション、およびデリミタを指定しないこのコマンドの no 形式では、回線 ID のデフォルトの自動生成に戻ります。
次に、「:」で区切られるオプションの spv で ID ストリング word を設定する例を示します。
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 は、特定のエラー状態だけでこのメッセージを送信します。ストリング {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.
デフォルトで、汎用エラー メッセージは設定されていません。ストリング値は、応答に追加される前に UTF-8 に変換されます。次のようなメッセージが表示されます。
PPPoE Discover packet too large to process. Try reducing the number of tags added.
(注) このタグ(0x0203 Generic-Error)は、エラーを示します。PPPoE ペイロードとともに、PPPoE IA が受信した PPPoE ディスカバリ パケットが、1484 バイトよりも大きい場合、これは PPPoE IA によって生成され、PADI または PADR の応答でユーザに返信される PADO または PADS パケットに追加されることがあります。エラー データは、UTF-8 ストリングにする必要があります。
インターフェイスでの PPPoE IA のイネーブル化
この機能は、インターフェイス上の PPPoE IA 機能をイネーブルにします。pppoe intermediate-agent コマンドが有効になるのは、PPPoE IA 機能がこのコマンドを使用してグローバルにイネーブルに設定されている場合だけです (IA のスタティック ACL をアクティブにし、PPPoE IA のインターフェイス上で、そのインターフェイスで受信した PPPoE ディスカバリ パケットの処理をアクティブにするには、グローバルにイネーブルにする必要があります)。
この設定は、フレームが属する VLAN に関係なく、このインターフェイスを通過するすべてのフレームに適用されます。デフォルトでは、PPPoE IA 機能はすべてのインターフェイスでディセーブルです。この機能を必要とする各インターフェイスで、このコマンドを実行する必要があります。
次の例では、FastEthernet 3/1 で PPPoE IA をイネーブルにする例を示します。
Switch# configure terminal
Switch(config) interface FastEthernet 3/1
Switch(config-if) pppoe intermediate-agent
(注) インターフェイス上で PPPoE IA をイネーブルにしても、着信パケットがタグ付けされないことがあります。タグ付けするために、PPPoE IA はグローバルにイネーブルにする必要があり、PPPoE サーバにスイッチを接続する少なくとも 1 本のインターフェイスに、信頼できる PPPoE IA の設定が必要です。詳細については、次の項を参照してください。
インターフェイス上の PPPoE IA の信頼設定
この機能を使用して、物理インターフェイスを trusted に設定します。次に、FastEthernet インターフェイス 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、PAD、または PADT)がインターフェイスで受信されるレート(1 秒あたり)を制限します。着信パケットのレートが設定された制限に到達するか、または超過すると、ポートは errdisable 状態になります。
次に、FastEthernet 3/1 で 30 のレート制限を設定する例を示します。
Switch# configure terminal
Switch(config) interface FastEthernet 3/1
Switch(config-if) pppoe intermediate-agent limit rate 30
(注) レート制限のパラメータは、1 秒あたりのパケット数です。着信パケットのレートがこの値を超えると、ポートはシャットダウンされます。
インターフェイス上の PPPoE IA ベンダー タグ除去の設定
この機能によって、管理者は、ユーザに転送する前に、インターフェイスで受信した PADO、PAD、PADT パケットからベンダー固有タグ(VSA)を除去できます。
次に、FastEthernet 3/2 で除去をイネーブルにする例を示します。
Switch# configure terminal
Switch(config) interface FastEthernet 3/2
Switch(config-if) pppoe intermediate-agent vendor-tag strip
デフォルトでは、この設定はディセーブルになっています。
(注) 通常、PPPoE サーバに接続されているインターフェイスで、ベンダー タグの除去を設定します。除去を設定した場合、(加入者および回線 ID 情報を伝送する)VSA が着信パケットから除去されます。このためには、PPPoE 中継エージェントをイネーブルにして pppoe intermediate-agent vendor-tag strip コマンドを有効にし、インターフェイスを trust に設定する必要があります。コマンドは、独立では機能しません。
インターフェイス上の PPPoE IA の回線 ID およびリモート ID の設定
[no] pppoe intermediate-agent format-type circuit-id コマンドは、インターフェイスの回線 ID を設定し、スイッチによる回線 ID の自動生成を上書きします。このコマンドを使用しない場合、1 つのデフォルト タグ(ユーザが接続している PPPoE 上のイーサネット x/y:z など)が、中継エージェントによって挿入されます。
[no] pppoe intermediate-agent format-type remote-id コマンドは、インターフェイスのリモート ID を設定します。
この機能により、回線 ID またはリモート ID がある物理インターフェイスで受信される PADI、PADR および PADT パケット(PPPoE ディスカバリ段階に属する)に、タグが付けられます。PPPoE IA が VLAN でイネーブルになっていない場合、これはその VLAN にかかわらず実行されます。
加入者線識別には、回線 ID の代わりにリモート ID を使用する必要があります。デフォルトで設定されていないため、PPPoE IA をイネーブルにした各インターフェイスでこの設定を行う必要があります。リモート ID のデフォルト値は、(すべての物理インターフェイスで)スイッチの 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 のイネーブル化
この機能によって、「x,y,」などの特定の VLAN カンマ区切りリストまたは「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 コマンドは、インターフェイス モードのコマンドと関係なく有効になります。このためには、PPPoE IA をグローバルにイネーブルにして、少なくとも 1 つのインターフェイスを PPPoE サーバに接続する必要があります。
インターフェイス上の VLAN に対する PPPoE IA の回線 ID およびリモート ID の設定
この項のインターフェイス上の特定の VLAN に対する回線 ID およびリモート ID を設定します。コマンドは、この物理インターフェイスに指定された回線 ID とリモート ID を上書きし、スイッチは、この VLAN で受信したパケットのタグ付けに WORD 値を使用します。このパラメータは、デフォルトでは設定されていません。
remote-id のデフォルト値は、(すべての VLAN で)スイッチの MAC アドレスです。加入者固有の情報を符号化するために、このパラメータを設定します。
(注) PPPoE IA がグローバルにイネーブルで、vlan-range モードである場合にだけ、vlan-range モードで circuit-id と remote-id の設定が有効です。
次に、インターフェイス g3/7 で、回線 ID を AA、リモート 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 キーワードは、インターフェイスまたは(インターフェイスの)VLAN で、PPPoE 中継エージェントをグローバルにイネーブルにすると表示されます。また、スイッチのアクセス ノード ID および汎用エラー メッセージと、次のコマンドによってグローバルに設定された ID のストリング オプションとデリミタ値も示されます。
Switch(config)# pppoe intermediate-agent format-type ?
access-node-id Access Node Identifier
generic-error-message Generic Error Message
identifier-string Identifier String
info キーワードでは、回線 ID、リモート ID、信頼とレート制限の設定、すべてのインターフェイスおよび関連するすべての VLAN に対するベンダー タグ除去の設定も表示されます。いずれかのパラメータが設定されていない場合、これらの設定は表示されません。
statistics オプションは、受信された PADI/PADR/PADT パケット数、すべてのインターフェイスおよび関連するすべての VLAN で最後のパケットが受信された時刻を表示します。
interface を指定した場合は、物理インターフェイスおよび関連する VLAN だけに適用される情報または統計情報が表示されます。
PPoE IA は PVLAN でサポートされますが、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
パケット カウンタのクリア
ここでは、すべてのインターフェイスでパケット カウンタをクリアする方法について説明します(ポート単位およびポート単位/VLAN 単位)。
次に、この方法の例を示します。
Switch# clear pppoe intermediate-agent statistics
Issuing of the above command clears the counters for all PPPoE discovery packets (PADI,PADO,PADR,PADS,PADT) received on DUT.
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 = 0 PADO = 0 PADR = 0 PADS = 0 PADT = 0
Vlan 3: Packets received PADI = 0 PADO = 0 PADR = 0 PADS = 0 PADT = 0
PPPoE 中継エージェントのデバッグ
debug pppoe intermediate-agent [packet | event | all] コマンドは、デバッグに役立つ PPPoE 情報を表示できます。このコマンドは、デフォルトではディセーブルです。
このコマンドの packet オプションは、ソフトウェアで受信されたパケットの内容(イーサネット フレームの送信元および宛先 MAC アドレス、PPPoE ディスカバリ パケットのコード、バージョンおよびタイプ、存在するタグのリスト)を表示します。
このコマンドの event オプションは、重要なメッセージ(設定した制限を超えるレートで PPPoE ディスカバリ パケットが着信したために、インターフェイスの状態が errdisable に変化したこと)をエコーします。これは、debug pppoe intermediate-agent event コマンドによって表示される唯一のイベントです。
all オプションは、パッケージとイベントのオプションの両方をイネーブルにします。
次に、packet オプションを付けて debug コマンドを入力する例を示します。
Switch# debug pppoe intermediate-agent packet
PPPOE IA Packet debugging is on
*Sep 2 06:12:56.133: PPPOE_IA: Process new PPPoE packet, Message type: PADI, input interface: Gi3/7, vlan : 2 MAC da: ffff.ffff.ffff, MAC sa: aabb.cc00.0000
*Sep 2 06:12:56.137: PPPOE_IA: received new PPPOE packet from inputinterface (GigabitEthernet3/4)
*Sep 2 06:12:56.137: PPPOE_IA: received new PPPOE packet from inputinterface (GigabitEthernet3/8)
*Sep 2 06:12:56.137: PPPOE_IA: Process new PPPoE packet, Message type: PADO, input interface: Gi3/4, vlan : 2 MAC da: aabb.cc00.0000, MAC sa: 001d.e64c.6512
*Sep 2 06:12:56.137: PPPOE_IA: Process new PPPoE packet, Message type: PADO, input interface: Gi3/8, vlan : 2 MAC da: aabb.cc00.0000, MAC sa: aabb.cc80.0000
*Sep 2 06:12:56.137: PPPOE_IA: received new PPPOE packet from inputinterface (GigabitEthernet3/7)
*Sep 2 06:12:56.137: PPPOE_IA: Process new PPPoE packet, Message type: PADR, input interface: Gi3/7, vlan : 2 MAC da: 001d.e64c.6512, MAC sa: aabb.cc00.0000
*Sep 2 06:12:56.145: PPPOE_IA: received new PPPOE packet from inputinterface (GigabitEthernet3/4)
*Sep 2 06:12:56.145: PPPOE_IA: Process new PPPoE packet, Message type: PADS, input interface: Gi3/4, vlan : 2 MAC da: aabb.cc00.0000, MAC sa: 001d.e64c.6512
次に、event オプションを付けて debug コマンドを入力する例を示します。
Switch# debug pppoe intermediate-agent event
PPPOE IA Event debugging is on
*Jul 30 19:00:10.254: %PPPOE_IA-4-PPPOE_IA_ERRDISABLE_WARNING: PPPOE IA received 5 PPPOE packets on interface Gi3/7
*Jul 30 19:00:10.254: %PPPOE_IA-4-PPPOE_IA_RATE_LIMIT_EXCEEDED: The interface Gi3/7 is receiving more than the threshold set
*Jul 30 19:00:10.394: %PM-4-ERR_DISABLE: STANDBY:pppoe-ia-rate-limit error detected on Gi3/7, putting Gi3/7 in err-disable stat
トラブルシューティングのヒント
BRAS での PPPoE Agent Remote-ID タグおよび DSL Line Characteristics 機能の設定で、 radius-server attribute 31 remote-id グローバル コンフィギュレーション コマンドを入力した場合、
debug radius 特権 EXEC コマンドを使用して、レポートを生成できます。このレポートには、ディスカバリ フレームが受信される着信アクセス インターフェイス、PPPoE 拡張 NAS-Port 形式(形式 d)で確立されているセッションに関する情報が含まれます。