Cisco EtherChannel の設定手順|LACP と PAgP の違いと確認コマンド

  • URLをコピーしました!
目次

はじめに

Cisco Catalyst スイッチで複数の物理リンクを束ねる EtherChannel は、スイッチ間接続の冗長化と帯域確保の定番技術です。ただ、設定時には channel-group コマンドで 5 つのモード(active / passive / desirable / auto / on)から選択する必要があり、「どれを選ぶべきか」「対向とどう組み合わせれば成立するのか」で迷いやすいポイントになっています。モードの選択を誤ると、LAG が成立しないだけでなく、構成によってはブリッジングループを引き起こすおそれもあります。

この記事では、Catalyst 9000 系(IOS-XE)を基準に、EtherChannel の設定手順と確認コマンドを整理します。

この記事でわかること
  • EtherChannel の 3 方式(LACP / PAgP / on)と 5 つのモードの違い
  • モードの組み合わせによる成立可否と、避けるべき組み合わせ
  • L2 / L3 EtherChannel の設定手順(channel-group の実行例)
  • show etherchannel summaryshow lacp neighbor による確認方法
  • PAgP から LACP への移行手順

結論を先に述べると、新規設計では LACP を両端 active モードで構成することを推奨します。設定後は show etherchannel summary のフラグで束ねられた状態(P)を確認します。on モード(静的)は、対向機器が LACP に対応していない場合に限定して使い、ネゴシエーションを行うモードとは決して混在させないことが重要です。

なお、リンクアグリゲーション自体の仕組み(静的と LACP の障害検出の違い、ハッシュ分散の原理など)は、関連記事『リンクアグリゲーションの仕組みと方式の違い』で解説しています。本記事は Catalyst での設定手順に焦点を絞ります。

EtherChannel の基本と 3 つのモード(LACP / PAgP / on)

EtherChannel は、Catalyst スイッチにおけるリンクアグリゲーションの機能名です。束ねられた論理インターフェースはポートチャネル(Port-channel)と呼ばれ、STP や上位設定からは 1 つのポートとして扱われます。

構成方式は、使用するプロトコルによって 3 つに分かれます。channel-group コマンドで指定するモードとの対応は以下のとおりです。

方式プロトコルモード動作
LACPIEEE 802.1AX(旧 802.3ad)標準active自分から LACP ネゴシエーションを開始する
passive対向からの LACP パケットに応答のみ行う
PAgPCisco 独自desirable自分から PAgP ネゴシエーションを開始する
auto対向からの PAgP パケットに応答のみ行う
静的なしonネゴシエーションなしで強制的に束ねる

モードの組み合わせと成立可否

EtherChannel が成立するかどうかは、両端のモードの組み合わせで決まります。公式ドキュメントの記述に基づく成立可否は以下のとおりです。

自機器\対向activepassivedesirableautoon
active成立成立×××
passive成立不成立×××
desirable××成立成立×
auto××成立不成立×
on××××成立

このマトリクスから読み取るべきポイントは 3 つあります。

受け身同士(passive-passive、auto-auto)は成立しない

どちらもネゴシエーションを開始しないため、LAG は形成されません。片側を必ず active(PAgP なら desirable)にする必要があります。

LACP と PAgP は相互接続できない

両者はプロトコルとして互換性がなく、active-desirable のような組み合わせでは成立しません。両端で同じプロトコルに揃える必要があります。

on モードは on 同士でのみ使用し、ネゴシエーションモードと混在させない

最も注意すべきはこの点です。on モードのポートを desirable などのネゴシエーションモードのポートに接続すると、LAG が成立しないだけでは済まず、公式ドキュメントでもループの危険性が明記されています。

参考: Catalyst 6500 Release 15.4SY Software Configuration Guide(Cisco 公式)
“a bridge loop is created and a broadcast storm can occur”
(ブリッジングループが形成され、ブロードキャストストームが発生するおそれがあります)
https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst6500/ios/15-4SY/config_guide/sup6T/15_3_sy_swcg_6T/etherchannel.pdf

on モード側はネゴシエーションを待たずに即座にポートを束ねて転送を開始する一方、対向側は通常ポートとして動作するため、L2 ループが形成されうるという理屈です。on モードを使う場合は、必ず両端そろって on に設定し、結線前に両側の設定を完了させておくことを推奨します

新規設計では LACP を推奨する理由

3 方式のうち、新規設計で選択すべきは LACP です。理由は次の 4 つです。

  1. IEEE 標準プロトコルのため、FortiGate や Linux サーバーなど他メーカー機器との接続にも同じ方式を使える
  2. PAgP は Cisco 独自であることに加え、NX-OS(Nexus シリーズ)ではサポートされておらず、Cisco 製品間でも使える範囲が狭まっている
  3. LACPDU による障害検出があり、リンクダウンを伴わない障害にも対応できる
  4. 対向の設定不一致時に、ポートを suspended 状態にして事故を防ぐ保護動作がある

モードは両端とも active に設定することを推奨します。passive を含む構成でも成立はしますが、両端 active であれば、どちらか一方の機器がリプレースされた場合でもネゴシエーション開始側が必ず存在する状態を維持できます。

LACP による EtherChannel の設定手順

この章では、Catalyst 9300(IOS-XE 17.x)を例に、LACP による EtherChannel の設定手順を解説します。L2(スイッチポート)と L3(ルーテッドポート)では設定の流れが異なるため、それぞれ分けて説明します。

事前確認(メンバーポートの一致条件)

EtherChannel に参加させるポートは、設定パラメータが揃っていることが前提です。公式ドキュメントでは、LACP は同一の設定を持つポート同士をグループ化すると説明されています。

参考: Layer 2 Configuration Guide, Cisco IOS XE 17.15.x(Cisco 公式)
“LACP groups the ports with the same speed, duplex mode, native VLAN, VLAN range”
(LACP は、速度、デュプレックスモード、ネイティブ VLAN、VLAN 範囲が同一のポートをグループ化します)
https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9300/software/release/17-15/configuration_guide/lyr2/b_1715_lyr2_9300_cg/configuring_etherchannels.html

設定前に確認すべき主な一致条件は以下のとおりです。

確認項目条件
速度・デュプレックス全メンバーポートで同一であること
スイッチポートモード全メンバーがアクセスまたはトランクで統一されていること
アクセス VLANアクセスポートの場合、同一 VLAN に所属していること
ネイティブ VLAN・許可 VLAN 範囲トランクポートの場合、両方が一致していること(許可 VLAN 範囲が異なるとチャネルは形成されない)
既存設定の残骸過去の設定(音声 VLAN 等、EtherChannel 非対応の設定)が残っていないこと

既存ポートを流用する場合は、show running-config interface で各ポートの設定を見比べ、差分がない状態にしてから channel-group を投入することを推奨します。メンバーポートの設定不一致は、EtherChannel が組めない原因として最も頻度が高いポイントです

なお、EtherChannel 構成後の設定変更は、物理ポートではなくポートチャネルインターフェース(interface port-channel)に対して行います。ポートチャネルへの設定は全メンバーポートに反映されますが、物理ポート個別への設定はそのポートにしか反映されず、意図しない不一致の原因になります。

L2 EtherChannel の設定例(channel-group)

2 台のスイッチ間で、Gi1/0/1 と Gi1/0/2 をトランクポートとして束ね、Port-channel 1 を構成する例です。

Switch(config)# interface range gigabitEthernet 1/0/1 - 2
Switch(config-if-range)# switchport mode trunk
Switch(config-if-range)# channel-group 1 mode active
Creating a port-channel interface Port-channel 1

L2 EtherChannel の場合、channel-group コマンドの投入によってポートチャネルインターフェース(Po1)が自動的に作成されます。事前に interface port-channel 1 を手動で作成する必要はありません。

対向側のスイッチにも同じ手順で設定を投入します。前章で述べたとおり、モードは両端とも active を推奨します。

Switch2(config)# interface range gigabitEthernet 1/0/1 - 2
Switch2(config-if-range)# switchport mode trunk
Switch2(config-if-range)# channel-group 1 mode active

なお、チャネルグループ番号(この例では 1)は両端で一致している必要はなく、機器ごとに独立した番号を使用できます。ただし、運用上の分かりやすさから、可能であれば両端で揃えておくことを推奨します。

設定後、トランクの許可 VLAN の変更などは Po1 に対して行います。

Switch(config)# interface port-channel 1
Switch(config-if)# switchport trunk allowed vlan 10,20,30

L3 EtherChannel の設定例

コアスイッチ間の接続などで、EtherChannel を L3(ルーテッドポート)として構成する場合は、L2 と手順の順序が異なる点に注意が必要です。公式ドキュメントでは、先にポートチャネルインターフェースを手動で作成することが明記されています。

参考: Command Reference, Cisco IOS XE Gibraltar 16.11.x(Cisco 公式)
“Manually configure the port-channel logical interface before putting the interface into the channel group.”
(インターフェースをチャネルグループに参加させる前に、ポートチャネル論理インターフェースを手動で設定してください)
https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9300/software/release/16-11/command_reference/b_1611_9300_cr/layer_2_3_commands.html

手順は次の 2 段階です。

STEP
ポートチャネルインターフェースを作成し、IP アドレスを設定する
Switch(config)# interface port-channel 2
Switch(config-if)# no switchport
Switch(config-if)# ip address 172.16.1.1 255.255.255.252
STEP
物理ポートを L3 化し、チャネルグループへ参加させる
Switch(config)# interface range gigabitEthernet 1/0/23 - 24
Switch(config-if-range)# no switchport
Switch(config-if-range)# no ip address
Switch(config-if-range)# channel-group 2 mode active

L3 EtherChannel で注意すべきポイントは 2 つあります。

  1. IP アドレスはポートチャネルインターフェースにのみ設定し、物理ポートには設定しないこと。物理ポート側は no ip address の状態で参加させます。
  2. 物理ポート側にも no switchport を投入し、ポートチャネルと L2 / L3 のモードを一致させること。モードが不一致のポートはチャネルに参加できません。

設定後の確認コマンド

EtherChannel は設定を投入して終わりではなく、意図どおりに束ねられているかの確認が重要です。この章では、正常性確認の基本となる 2 つのコマンドと、出力の読み方を解説します。

show etherchannel summary の見方(フラグの読み方)

最初に実行すべきは show etherchannel summary です。全 EtherChannel の状態を 1 行ずつ一覧できます。

Switch# show etherchannel summary
Flags:  D - down        P - bundled in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator
(省略)
Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------
1      Po1(SU)         LACP      Gi1/0/1(P)  Gi1/0/2(P)

確認すべきポイントは、ポートチャネル自体のフラグとメンバーポートのフラグの 2 段階です。

正常状態: L2 EtherChannel なら Po1(SU)(S: Layer2、U: 使用中)、L3 なら Po2(RU) と表示され、全メンバーポートに (P)(束ねられて転送中)が付きます。

異常時に見るべきフラグは以下のとおりです。

フラグ状態主な原因
(D)ダウン物理リンク障害、ケーブル・SFP の問題
(I)スタンドアロン対向から LACPDU の応答がなく、独立ポートとして動作。対向側の設定漏れやプロトコル不一致が典型
(s)サスペンドメンバーポート間の設定不一致(速度・デュプレックス・VLAN 等)や、LACP ネゴシエーション不成立により停止
(w)集約待ちネゴシエーション進行中。長時間続く場合は要調査

suspended への遷移は、対向からの応答がない場合の保護動作として公式ドキュメントに記載されています。

参考: Layer 2 Configuration Guide, Cisco IOS XE 17.14.x, Catalyst 9200(Cisco 公式)
“ports in the port channel are moved to suspended state”
(ポートチャネル内のポートはサスペンド状態へ移行します)
https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9200/software/release/17-14/configuration_guide/lyr2/b_1714_lyr2_9200_cg/configuring_etherchannels.html

(I) スタンドアロン状態のポートは、EtherChannel に束ねられないまま通常ポートとして BPDU やデータを送受信します。STP で保護されていないトポロジーではループの原因になりうるため、放置は禁物です。

なお、束ねられた後のトラフィックがどの物理リンクを通っているかの確認(ロードバランスの偏りの分析)については、関連記事『EtherChannel ロードバランスの仕組みと振り分け先の確認方法』で詳しく解説しています。

show lacp neighbor での対向状態の確認

LACP 構成の場合、show lacp neighbor で対向機器の情報を確認できます。自機器の設定が正しくても LAG が組めない場合、対向がどう見えているかの切り分けに有効です。

Switch# show lacp neighbor
Flags:  S - Device is requesting Slow LACPDUs
        F - Device is requesting Fast LACPDUs
        A - Device is in Active mode  P - Device is in Passive mode

Channel group 1 neighbors

Partner's information:
                  LACP port                        Admin  Oper   Port    Port
Port      Flags   Priority  Dev ID          Age    key    Key    Number  State
Gi1/0/1   SA      32768     70b3.17xx.xxxx  12s    0x0    0x1    0x102   0x3D

確認ポイントは 3 つです。

  1. 対向の情報が表示されているか: Partner 欄が空、または表示されない場合、対向から LACPDU が届いていません。対向側の設定漏れ、モード不一致(両端 passive 等)、経路上の問題が疑われます。
  2. Flags の意味: A / P は対向のモード(アクティブ / パッシブ)、S / F は対向が要求している LACPDU レート(slow / fast)を示します。
  3. Dev ID(System ID): 意図した対向機器の MAC アドレスかを確認します。配線ミスで別の機器と繋がっているケースの検出に役立ちます。

静的(on モード)で構成する場合の注意点

on モード(静的 LAG)で構成した場合、show etherchannel summary の Protocol 欄は -(ハイフン)と表示されます。ここで注意すべきは、静的 LAG では両端の整合性を検証する仕組みが存在しないという点です。自機器側でメンバーポートに (P) が付いていても、それは「対向と正しく束ねられていること」の保証にはなりません。

このリスクに対する Catalyst 側の防御機能が EtherChannel ミスコンフィグガードです。STP の BPDU を利用して対向の設定不整合を検出し、該当ポートを err-disabled 状態にして事故を防ぎます。

参考: Catalyst 3750-X Software Configuration Guide, Configuring Optional Spanning-Tree Features(Cisco 公式)
“EtherChannel guard places the switch interfaces in the error-disabled state”
(EtherChannel ガードは、スイッチのインターフェースを error-disabled 状態にします)
https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3750x_3560x/software/release/12-2_55_se/configuration/guide/3750xscg/swstpopt.html

機能の有効状態は show spanning-tree summary の「EtherChannel misconfig guard」行で確認でき、無効の場合は次のコマンドで有効化します。

Switch(config)# spanning-tree etherchannel guard misconfig

err-disabled になったポートは、設定修正後に該当インターフェースの shutdown / no shutdown で復旧させるか、errdisable recovery cause channel-misconfig による自動復旧を設定しておきます。on モードを使う構成では、このガード機能の有効化と、結線前に両端の設定を完了させる運用をセットで推奨します

LACP 非対応機器(YAMAHA RTX・NEC IX 等)と接続するケース

on モードを使う実務上の主なケースは、対向機器が LACP に対応していない場合です。国内の拠点ネットワークでは、YAMAHA RTX や NEC IX(いずれも静的 LAG のみ対応)と Catalyst を接続する構成が該当します。

この構成では次の 3 点に注意が必要です。

  1. Catalyst 側は channel-group <番号> mode on で設定し、LACP モード(active / passive)と混在させないこと
  2. 静的 LAG はリンクダウンを伴わない障害を検出できないため、障害検出の限界を設計時に織り込むこと
  3. NEC IX のように帯域増速をサポートしない機器では、冗長化目的に限定した設計とすること

異メーカー間の LAG 接続で注意すべきポイントの全体像は、別記事『LAG のメーカー相互接続の注意点』で解説します。

PAgP から LACP への移行手順

既存環境で PAgP(desirable / auto)が使われている場合、IEEE 標準である LACP への移行を検討する場面があります。特に、Nexus への機器更新を控えている場合や、他メーカー機器との接続を新たに追加する場合は、移行の優先度が上がります。

移行時の通信影響を抑えるポイント

channel-group のモードは、コマンドを再投入することで変更できます。ただし、モード変更時の瞬断や再ネゴシエーションによる影響について、Cisco 公式ドキュメントに明確な記述は見当たりませんでした。このため、本記事では影響を断定せず、安全側に倒した手順を提案します。

基本方針

全ポートを一括で切り替えるのではなく、メンテナンスウィンドウを確保した上で、1 メンバーポートずつ切り替えることを推奨します。これにより、仮に切替時に瞬断が発生しても、残りのメンバーポートが通信を継続でき、影響を最小限にとどめられます。

手順の一例(Po1 が Gi1/0/1・Gi1/0/2 の 2 ポート構成の場合)
  1. 対向機器側の対応するポートを PAgP(desirable)から LACP(active)へ先に切り替える
  2. Catalyst 側で、まず Gi1/0/1 のみモードを変更する
Switch(config)# interface GigabitEthernet1/0/1
Switch(config-if)# channel-group 1 mode active
  1. show etherchannel summary で Gi1/0/1 が (P) として再度束ねられたことを確認する
  2. 問題がなければ Gi1/0/2 も同様に切り替える
Switch(config)# interface GigabitEthernet1/0/2
Switch(config-if)# channel-group 1 mode active
  1. 最終的に Protocol 欄が LACP に変わっていることを show etherchannel summary で確認する

なお、対向機器も含めて全面的に機器更新を行うタイミングであれば、新規構築として最初から LACP で設計する方がシンプルです。既存の PAgP 環境を稼働させたまま移行する場合に、上記の段階的な手順が有効になります。

移行後は、本記事で解説した確認コマンド(show etherchannel summaryshow lacp neighbor)で正常性を確認してください。

まとめ

Cisco Catalyst の EtherChannel は、モード(active / passive / desirable / auto / on)の組み合わせによって成立可否が決まり、特に on モードとネゴシエーションモードの混在はループのリスクを伴います。新規設計では両端 active の LACP を基本とし、設定後は show etherchannel summaryshow lacp neighbor で状態を確認することが、安定した運用につながります。

  • EtherChannel は 5 つのモードの組み合わせで成立可否が決まる
  • on モードとネゴシエーションモードの混在はブリッジングループのおそれがある
  • L3 EtherChannel はポートチャネル作成後に no switchport を投入する順序で構成する
  • show etherchannel summary のフラグ(P / I / s / w)で状態を素早く判別できる
  • 静的構成では EtherChannel ミスコンフィグガードの有効化を推奨
  • LACP 非対応機器との接続では on モードを両端に統一する
  • PAgP から LACP への移行はメンテナンスウィンドウ内で 1 ポートずつ切り替える

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

関西を拠点に活動する、現役インフラエンジニア。経験20年超。

大手通信キャリアにて、中〜大規模インフラ(ネットワーク・サーバ・クラウド・セキュリティ)の設計・構築およびプロジェクトマネジメントに従事。現場で直面した技術課題への対処や、最新の脆弱性情報への実務対応を、一次情報として発信しています。

保有資格
CCIE Lifetime Emeritus(取得から20年以上)/ VCAP-DCA / Azure Solutions Architect Expert

▶ 運営者プロフィール(詳細)

目次