FortiGate リンクアグリゲーションの設定手順|LACP モードと HA 構成の注意点

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

はじめに

FortiGate と上位・下位スイッチの接続を冗長化し、あわせて帯域を確保する手段として、リンクアグリゲーション(aggregate インターフェース)は定番の構成です。ただ、FortiGate はファイアウォールという製品特性上、スイッチの LAG 設定とは異なる考慮点があります。ファイアウォールポリシーで参照されているインターフェースはメンバーにできない、HA クラスタでは仮想 MAC アドレスと対向スイッチの LAG 設計に固有の注意点がある、といった点です。

この記事では、FortiOS 7.x 系を基準に、FortiGate のリンクアグリゲーションの設定手順と設計上の注意点を整理します。

この記事でわかること
  • aggregate と redundant の 2 つのインターフェースタイプの違いと使い分け
  • LACP モード(static / passive / active)の違いと選び方
  • aggregate インターフェースの GUI・CLI での設定手順
  • lacp-speed とロードバランスアルゴリズムの設定
  • HA 構成でリンクアグリゲーションを使う場合の注意点

結論を先に述べると、対向スイッチが LACP に対応している場合は、タイプ aggregate+lacp-mode active(既定値)での構成を推奨します。設定時は「ポリシー等で参照されているインターフェースはメンバーにできない」という制約があるため、構築の順序が重要です。また、HA 構成では、セカンダリ機の LACP 参加の挙動と、対向スイッチが複数の LAG グループを構成できるかを事前に確認しておくことが安定運用のポイントになります。

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

FortiGate のリンクアグリゲーションの基本

FortiGate では、config system interface のインターフェースタイプとして aggregate を選択することで、IEEE 802.3ad のリンクアグリゲーションを構成できます。作成した aggregate インターフェースは物理インターフェースと同様に扱え、VLAN サブインターフェースの追加やファイアウォールポリシーでの参照が可能です。

なお、aggregate インターフェースの対応可否はモデルによって異なります。導入前に、対象機種が対応しているかを Fortinet 公式の Feature / Platform Matrix で確認することを推奨します。

aggregate と redundant の 2 つのインターフェースタイプ

FortiGate には、複数の物理インターフェースを束ねるタイプとして aggregate と redundant の 2 つがあり、動作が根本的に異なります。

項目aggregateredundant
プロトコル802.3ad(LACP または静的)なし(物理リンク状態で判断)
トラフィック全メンバーリンクで転送(分散)常に 1 本のみで転送
得られる効果帯域拡張+冗長化冗長化のみ
対向スイッチ側の LAG 設定必要不要

redundant インターフェースの動作について、公式ドキュメントには次のとおり記載されています。

参考: Aggregation and redundancy, FortiOS 7.6.4 Administration Guide(Fortinet 公式)
“In a redundant interface, traffic only goes over one interface at any time.”
(redundant インターフェースでは、トラフィックは常にいずれか 1 つのインターフェースのみを通ります)
https://docs.fortinet.com/document/fortigate/7.6.4/administration-guide/567758/aggregation-and-redundancy

使い分けの目安は次のとおりです。

aggregate を選ぶケース

対向スイッチが LAG(LACP または静的)に対応しており、冗長化に加えて帯域の確保も目的とする場合。一般的なスイッチとの接続ではこちらが基本です。

redundant を選ぶケース

対向側で LAG を構成できない場合や、アクティブ / スタンバイのシンプルな冗長構成で十分な場合。対向スイッチ側の設定が不要なため、異なる 2 台のスイッチへ 1 本ずつ接続する構成も取れます。

LACP モード(static / passive / active)の違い

aggregate インターフェースの動作モードは lacp-mode で指定します。既定値は active です。

モード動作
active(既定値)自分から LACPDU を送信し、ネゴシエーションを開始する
passive自分からは送信せず、対向からの LACPDU に応答のみ行う
staticLACP を使用しない静的 LAG。LACPDU を送信せず、受信しても無視する

参考: Technical Tip: Initial troubleshooting steps for LACP(Fortinet 公式コミュニティ)
“Static: use static aggregation, do not send and ignore any LACP messages”
(static: 静的な集約を使用します。LACP メッセージを送信せず、受信しても無視します)
https://community.fortinet.com/fortigate-3/technical-tip-initial-troubleshooting-steps-for-lacp-link-aggregation-802-3ad-99760

注意すべきは、static は「LACP のモードの 1 つ」ではなく「LACP を使わない静的 LAG」であるという点です。FortiGate 側が static のまま対向スイッチで LACP(active / passive)を有効にしても、ネゴシエーションが行われないため LAG は成立しません。逆も同様です。

対向との組み合わせの基本は次のとおりです。

対向スイッチが LACP 対応

両端 active を推奨(active-passive でも成立するが、機器リプレース時の安定性から両端 active が無難)

対向が静的 LAG のみ対応(YAMAHA RTX、NEC IX、Cisco の on モード等)

FortiGate 側も lacp-mode static に揃える

なお、FortiSwitch を FortiLink で管理する構成では、FortiLink 用 aggregate インターフェースの lacp-mode を static に設定する必要がある(MCLAG 構成を除く)と公式ガイドに記載されています。FortiLink 用途と通常の LAG 用途で推奨値が異なる点は、混同しやすいポイントです。

aggregate インターフェースの設定手順

この章では、port3 と port4 を束ねて aggregate インターフェース「LAG-to-SW」を作成する例で、GUI と CLI それぞれの設定手順を解説します。FortiOS 7.x 系を基準としています。

事前確認(メンバーにできないインターフェースの条件)

FortiGate の LAG 構成で最初につまずきやすいのが、メンバーに追加できるインターフェースには条件があるという点です。公式ドキュメントに記載されている主な条件は以下のとおりです。

  • 物理インターフェースであること(VLAN インターフェースは不可)
  • 既に別の aggregate または redundant インターフェースのメンバーでないこと
  • aggregate インターフェースと同一の VDOM に属していること(VDOM をまたぐ構成は不可)
  • IP アドレスが設定されておらず、DHCP・PPPoE の設定もないこと
  • ファイアウォールポリシー、VIP、IP プール、マルチキャストポリシーのいずれからも参照されていないこと
  • HA のハートビートインターフェースでないこと

参考: Aggregation and redundancy, FortiOS 7.0.0 Administration Guide(Fortinet 公式)
“It is not referenced in any security policy, VIP, IP Pool, or multicast policy.”
(セキュリティポリシー、VIP、IP プール、マルチキャストポリシーのいずれからも参照されていないこと)
https://docs.fortinet.com/document/fortigate/7.0.0/administration-guide/567758/aggregation-and-redundancy

実務上の影響が大きいのは、ポリシー等からの参照に関する条件です。稼働中のインターフェースを後から LAG に組み込む場合、そのインターフェースを参照しているポリシーや経路をすべて削除・付け替えてからでないとメンバーに追加できません。Cisco の EtherChannel が「設定不一致だと束ねられない」のに対し、FortiGate は「参照が残っていると設定自体が投入できない」という違いがあります。稼働後の LAG 化は実質的に構成変更のメンテナンス作業になるため、可能であれば構築の初期段階で LAG を設計に織り込むことを推奨します

また、メンバーに追加したインターフェースは GUI の Network > Interfaces の一覧から表示されなくなります。これは公式ドキュメントにも記載された正常な動作であり、故障や設定消失ではありません。個別設定はできなくなり、ポリシー等では aggregate インターフェース名で参照します。

GUI での設定手順

  1. Network > Interfaces を開き、Create New > Interface を選択します。
  2. Name に「LAG-to-SW」など任意の名前を入力します。
  3. Type で「802.3ad Aggregate」を選択します。
  4. Interface members で port3、port4 を追加します。
  5. Addressing mode を Manual とし、IP/Netmask(例: 192.168.10.1/24)を入力します。
  6. 必要に応じて Administrative Access(HTTPS、SSH、PING 等)を選択し、OK で保存します。

Type の選択肢に「802.3ad Aggregate」が表示されない場合は、次の 2 点を確認してください。

  1. 使用モデルが aggregate インターフェースに対応しているか(Feature / Platform Matrix で確認)
  2. メンバーにできる条件を満たしたインターフェースが存在するか(前述の条件をすべて満たすポートがない場合、タイプ自体が選択できないことがあります)

CLI での設定手順(config system interface)

CLI では config system interface で作成します。GUI と同じ構成の設定例です。

config system interface
    edit "LAG-to-SW"
        set vdom "root"
        set type aggregate
        set member "port3" "port4"
        set ip 192.168.10.1 255.255.255.0
        set allowaccess ping https ssh
    next
end

lacp-mode は省略時 active で動作します。対向が静的 LAG のみ対応の場合は、edit "LAG-to-SW" 配下で set lacp-mode static を追加します。

作成した aggregate インターフェースには、物理インターフェースと同様に VLAN サブインターフェースを追加できます。トランク構成でスイッチと接続する場合の例です。

config system interface
    edit "LAG-to-SW.10"
        set vdom "root"
        set interface "LAG-to-SW"
        set vlanid 10
        set ip 192.168.20.1 255.255.255.0
    next
end

なお、aggregate インターフェースの削除にも作成時と同様の依存関係チェックが働きます。ポリシーや VLAN サブインターフェースから参照されている状態では削除できないため、撤去時は参照元から順に整理します。

LACP の動作パラメータ(lacp-speed とアルゴリズム)

aggregate インターフェースには、lacp-mode 以外にも動作を左右するパラメータがあります。この章では、障害検出速度に関わる lacp-speed と、トラフィック分散に関わるアルゴリズム設定を解説します。

lacp-speed(slow / fast)の設定

lacp-speed は、LACPDU の送信間隔を指定するパラメータです。

設定値LACPDU 送信間隔
slow(既定値)30 秒
fast1 秒

参考: Technical Tip: How to setup LACP between FortiGate and Juniper Switch(Fortinet 公式コミュニティ)
“The default lacp-speed on FortiGate is set to slow (every 30 seconds)”
(FortiGate の lacp-speed の既定値は slow(30 秒間隔)に設定されています)
https://community.fortinet.com/t5/FortiGate/Technical-Tip-How-to-setup-LACP-between-FortiGate-and-Juniper/ta-p/337346

LACP の仕様上、タイムアウト(対向障害とみなすまでの時間)は送信間隔をもとに判定されるため、fast に変更することで障害検出を高速化できます。設定は aggregate インターフェース配下で行います。

config system interface
    edit "LAG-to-SW"
        set lacp-speed fast
    next
end

注意点は、対向機器と設定を揃えることが推奨されるという点です。メーカーや機種によって既定値が異なり(前掲の公式 Technical Tip でも、Juniper 側の既定は fast であるケースが多いと注記されています)、不一致の構成は障害検出タイミングの非対称や、環境によっては LAG の不安定化の原因になりえます。レート不一致時の挙動の詳細は、別記事『LACP レート slow / fast の違いと不一致時の挙動』で解説します。

ロードバランスアルゴリズムの設定

メンバーリンクへのトラフィック分散方式は algorithm で指定します。既定値は L4 です。

設定値ハッシュ計算に使う情報
L2MAC アドレス
L3IP アドレス
L4IP アドレス+ポート番号
config system interface
    edit "LAG-to-SW"
        set algorithm L4
    next
end

既定値の L4 は最も分散粒度が細かく、通常は変更不要です。L2 や L3 に変更するのは、対向機器側の分散方式と揃えたい場合や、同一フローの経路を固定したい場合など、意図がある場合に限定するのがよいと考えられます。ハッシュ分散の原理(1 フローは 1 リンク、n 倍速にはならない)については、関連記事『リンクアグリゲーションの仕組みと方式の違い』のロードバランスの章を参照してください。

なお、この設定は FortiGate からの送信方向にのみ作用します。受信方向(対向スイッチ → FortiGate)の分散は対向スイッチ側のハッシュ設定で決まるため、帯域の偏りを調査する際は両方向を分けて確認します。

設定後の確認コマンド

diagnose netlink aggregate での状態確認

FortiGate の LAG 状態確認は、diagnose netlink aggregate コマンドで行います。まず一覧表示で対象を確認します。

FGT # diagnose netlink aggregate list
List of 802.3ad link aggregation interfaces:
1 name LAG-to-SW status up algorithm L4 lacp-mode active

次に、インターフェース名を指定して詳細を表示します。出力の冒頭には、LACP フラグ 6 文字の読み方の凡例が表示されます。

FGT # diagnose netlink aggregate name LAG-to-SW
LACP flags: (A|P)(S|F)(A|I)(I|O)(E|D)(E|D)
(A|P) - LACP mode is Active or Passive
(S|F) - LACP speed is Slow or Fast
(A|I) - Aggregatable or Individual
(I|O) - Port In sync or Out of sync
(E|D) - Frame collection is Enabled or Disabled
(E|D) - Frame distribution is Enabled or Disabled

status: up
distribution algorithm: L4
LACP mode: active
LACP speed: slow
actor key: 17    actor MAC address: xx:xx:xx:xx:xx:xx
partner key: 17  partner MAC address: yy:yy:yy:yy:yy:yy
member: port3
  link status: up
  LACP state: established
  actor state: ASAIEE
  partner state: ASAIEE
(以下略)

確認すべきポイントは 4 つです。

STEP
LACP state が established になっているか

negotiating のまま進まない場合、対向から LACPDU が届いていないか、設定不一致が疑われます。

STEP
actor state と partner state が ASAIEE になっているか

正常時は両方とも ASAIEE(Active・Slow・Aggregatable・In sync・collection Enabled・distribution Enabled)です。4 文字目が O(Out of sync)の場合や、末尾 2 文字が DD の場合は、フレームの送受信が有効化されておらず、ネゴシエーションが完了していません。

STEP
partner key が全メンバーで一致しているか

メンバー間で partner key が異なる場合、配線ミスにより対向側の別の LAG グループへ接続されている可能性があります。

STEP
member ごとの link status

物理リンクの状態と LACP の状態を分けて確認できます。

LACPDU が届いているか自体を確認したい場合は、LACPDU(EtherType 0x8809)だけを対象にしたパケットキャプチャが有効です。

FGT # diagnose sniffer packet any "ether proto 0x8809" 6 0 a

このほか、aggregate インターフェースには min-links(LAG を up とみなす最小メンバー数)が設定でき、リンク数が下回った場合に LAG 全体をダウンさせて対向機器へ状態を伝える動作が可能です。

参考: LAG interface status signals to peer device, FortiOS 7.4.3 Administration Guide(Fortinet 公式)
“FortiGate’s ability to signal LAG interface status to the peer device”
(FortiGate は LAG インターフェースの状態を対向機器へ通知できます)
https://docs.fortinet.com/document/fortigate/7.4.3/administration-guide/31022/lag-interface-status-signals-to-peer-device

経路の帯域保証が必要な設計(2 本のうち 1 本の障害時は縮退運転せず待機系へ切り替えたい場合等)では、min-links の活用を検討する価値があります。

HA 構成でリンクアグリゲーションを使う場合の注意点

FortiGate を HA クラスタで構成し、かつ aggregate インターフェースを使う場合、単体構成にはない固有の考慮点が生じます。この章では、その根本原因と対処方法を解説します。

セカンダリ機の LACP 参加と lacp-ha-secondary

HA クラスタでは、プライマリ機とセカンダリ機のインターフェースに同一の仮想 MAC アドレスが割り当てられます。

参考: HA with 802.3ad aggregate interfaces, FortiOS 8.0.0 Administration Guide(Fortinet 公式)
“the switches used to connect the cluster unit aggregated interfaces together should support configuring multiple Link Aggregation (LAG) groups”
(クラスタユニットの集約インターフェースを接続するスイッチは、複数の LAG グループを構成できることが望ましいです)
https://docs.fortinet.com/document/fortigate/8.0.0/administration-guide/842659/ha-with-802-3ad-aggregate-interfaces

この仮想 MAC アドレスの共有が、LACP との組み合わせで固有の課題を生みます。既定では lacp-ha-secondary が有効(enable)になっており、セカンダリ機も LACP ネゴシエーションに参加します。対向スイッチが複数の LAG グループをサポートしていれば、プライマリ・セカンダリそれぞれに独立した LAG を構成でき、フェイルオーバー時にセカンダリが即座に転送を開始できるという利点があります。

一方、対向スイッチが複数 LAG グループに対応していない場合、プライマリとセカンダリの物理インターフェースが同一 MAC アドレスを名乗るため、スイッチ側がこれらを同一の LAG グループとして扱おうとし、クラスタの動作に支障をきたすおそれがあります。この場合の対処が lacp-ha-secondary disable です。

config system interface
    edit "WAN_Aggregate"
        set lacp-ha-secondary disable
    next
end

(旧バージョンでは lacp-ha-slave という設定名でした。バージョンによって名称が異なる点に注意してください。)

lacp-ha-secondary を無効化すると、セカンダリ機は LACP ネゴシエーションに参加しなくなり、対向スイッチとの間でパケットの送受信が発生しません。この設定には次のトレードオフがあります。

メリット

対向スイッチが複数 LAG グループに非対応でも、プライマリ・セカンダリの MAC アドレス重複によるスイッチ側の混乱を避けられる

デメリット

Active-Active モードでの運用ができなくなる(セカンダリがパケットを処理できないため)。また、フェイルオーバー時にセカンダリが LACP ネゴシエーションを一から行う必要があり、フェイルオーバー時間が長くなる可能性がある

対向スイッチが複数 LAG グループに対応しているかどうかが、lacp-ha-secondary を無効化すべきかどうかの分岐点になります。対応している場合は既定の enable のまま運用し、Active-Active や高速フェイルオーバーの利点を活かすことを推奨します。

対向スイッチ側の LAG 設計

FortiGate の HA クラスタと接続するスイッチ側の設計は、次の 2 パターンに整理できます。

対向スイッチの構成lacp-ha-secondary特徴
MC-LAG / スタック構成でプライマリ・セカンダリを 1 つの LAG として収容enable(既定)Active-Active 可能、フェイルオーバーが高速
プライマリ・セカンダリを別々の LAG グループとして収容、または非対応スイッチdisableActive-Passive 限定、フェイルオーバーがやや遅い

Cisco の StackWise Virtual や VSS のようなマルチシャーシ構成であれば、複数の物理スイッチを 1 つの論理スイッチとして扱えるため、前者のパターンが選択しやすくなります。設定手順は、別記事『Cisco EtherChannel の設定手順』で解説しています。

なお、対向スイッチが静的 LAG のみ対応の機器(YAMAHA RTX、NEC IX 等)の場合、そもそも LACP ネゴシエーションが発生しないため、lacp-ha-secondary の設定は意味を持ちません。この場合は FortiGate 側も lacp-mode static とし、HA の観点では冗長化の仕組みそのものを見直す(redundant インターフェースの利用を検討する等)ことも選択肢に入ります。異メーカー間の LAG 接続で注意すべきポイント全般は、別記事『LAG のメーカー相互接続の注意点』で解説します。

まとめ

FortiGate のリンクアグリゲーション(aggregate インターフェース)は、lacp-mode によって動作が大きく変わり、対向機器との組み合わせを誤ると LAG が成立しません。設定前にはポリシー等からの参照を外しておく必要があり、HA 構成では仮想 MAC アドレスの共有に起因する lacp-ha-secondary の考慮が欠かせません。診断コマンドの出力を正しく読めるようになることが、安定運用への近道です。

  • aggregate は帯域拡張と冗長化、redundant は冗長化のみを提供する
  • ポリシー等から参照中のインターフェースは LAG のメンバーに追加できない
  • lacp-mode の既定値は active、対向が静的 LAG 専用の場合は static に揃える
  • lacp-speed の既定値は slow(30 秒間隔)、対向機器と揃えることを推奨
  • diagnose netlink aggregate name の LACP state と actor / partner state で正常性を判別できる
  • HA 構成では仮想 MAC アドレスの共有により lacp-ha-secondary の要否判断が必要
  • 対向スイッチが複数 LAG グループに対応しているかが設計の分岐点になる

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

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

この記事を書いた人

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

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

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

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

目次