Slide 1

Slide 1 text

Meraki MX Act-ActのOne-Armed構成 ~ Failover時間の確認 ~ 初版作成日: 2022/04/23 作成者: MyHomeNWLab

Slide 2

Slide 2 text

筆者情報 • Name • MyHomeNWLab • Blog • https://myhomenwlab.hatenablog.com/ • Twitter • https://twitter.com/MyHomeNWLab • 座右の銘 • 仕事で触れないなら、自宅に導入して遊べばいいじゃない。 2 興味の赴くまま、技術を食い散らかします。

Slide 3

Slide 3 text

概要 • Meraki MXをOne-Armed構成でActive-Active (Act-Act)で導入する際の観点をまとめました。 • 個人所有の検証機器の台数での検証には限界があるため、単一DC内にMXをAct-Actで構成してい ます。DC-DC Failoverの要素が入りますが、物理的なDC冗長化構成ではありません。流石に個人 レベルでDCの契約は無理があります。 • 本内容は「このような構成ではどのような挙動になるのか?」また、「障害時間はどの程度のものなの か?」を確認するために検証を行った記録です。そのため、本構成を推奨しているわけではありません。 • そもそも論として、シンプルが特徴のMerakiでは特異な構成にすべきではありません。 3

Slide 4

Slide 4 text

検証環境の情報 • Meraki MX • Model: MX64 *2, MX67W * 1 • Version: MX 15.44 (2021/11時点のStable Release) • Firewall • Fortinet FortiGate 60D * 1 • Version: v5.6.6 build1630 (GA) 4

Slide 5

Slide 5 text

5 Firewall (FortiGate 60D) Meraki MX67W Routed Mode Meraki MX64#2 One-Armed Meraki MX64#1 One-Armed Internet WAN1 WAN2 OSPF Area 0 (ECMP) Tunnel (WAN2 side) Tunnel (WAN1 side) LAN-side Zone WAN-side Zone Networks: NW_Branch1 Networks: NW_DC_MX1 (Primary Hub) Networks: NW_DC_MX2 (Secondary Hub) Meraki MX Act-Act Logical Topology

Slide 6

Slide 6 text

internal1-2 (virtual-switch) 6 Firewall (FortiGate 60D) vdom1 NW: 10.255.1XX.0/24 vdom2 NW:10.255.2XX.0/24 wan2 wan1 Internal1 Internal6 Internal2 Meraki MX64#1 One-Armed Meraki MX64#2 One-Armed Meraki MX67W Routed Mode Home Gateway (Router) Internet PPPoE (BIGLOBE) PPPoE (AsahiNet) Meraki MX Act-Act Physical Topology 10.255.101.0/24 10.255.201.0/24 192.168.1.0/24 10.255.101.241 10.255.101.242 WAN1 WAN2 loopback199 10.255.199.99/32 10.255.11.0/24 PPPoE (BIGLOBE)

Slide 7

Slide 7 text

ネットワーク設計 • DC内のルーティングは、高速なコンバージェンスを行いたいためOSPFを採 用しました。 • Spoke側のMXは、Active-Active Auto VPNによるトンネルの冗長化 と負荷分散を行えるように、2つのUplink (WAN1, WAN2)を使用して います。 7

Slide 8

Slide 8 text

非対称ルーティング • 本構成ではSpokeからHubへの通信は「Hubの優先度」により一意に決 まるものの。HubからSpokeへの折り返し通信は、DC内のルーティングに 依存するため、非対称ルーティングが起こる構成になっています。 • MXはFirewallの同一Zoneに収容して、Firewall視点では非対称ルー ティングになった際の通信のドロップを避けるようにしています。 • なお、非対称ルーティングは通信フローが複雑になるため、積極的に使う ものではありません。 • 筆者は意図的に非対称ルーティングの影響を確認したかったため、本構 成にしております。 8

Slide 9

Slide 9 text

検証環境の補足 • Spoke側はキャリア冗長化を再現するために、Uplinkの機器にて BIGLOBEとAsahiNetのISPに対してPPPoEで接続しています。 • 検証機器の台数を節約した上で、グローバルIPアドレスをSpokeとHub で分けるために、FortiGateでVDOMを用いています。 • Home Gatewayには、PR-600MIを使用しています。 9

Slide 10

Slide 10 text

DC-DC FailoverとHub間のループ • DC-DC Failover構成ではHub間でループが発生するため、サポートへ 依頼して「Hub間のルート交換の無効化」をする必要があります。 • ですが、本検証時はループが発生していないため、サポートへ問い合わせ を行いました。原因は不明でしたが、サポートの方からは「ループが発生す る」のが想定動作だと伺っているため、DC-DC Failover構成では 「Hub間のルート交換の無効化」を行うのが原則になります。 10

Slide 11

Slide 11 text

11 Firewall (FortiGate 60D) Meraki MX67W Routed Mode Meraki MX64#2 One-Armed Meraki MX64#1 One-Armed Internet WAN1 WAN2 OSPF Area 0 (ECMP) Tunnel (WAN2 side) Tunnel (WAN1 side) LAN-side Zone WAN-side Zone Networks: NW_Branch1 Networks: NW_DC_MX1 (Primary Hub) Networks: NW_DC_MX2 (Secondary Hub) Hub間ループの補足情報 【Local Networks】 10.255.101.0/24 10.255.199.99/32 【Local Networks】 10.255.101.0/24 10.255.199.99/32 DC-DC Failover構成では、 Hub同士でお互いに同一のルートを交換し合います。 本来はStatic RouteがAuto VPNより優先度が高いですが、 MX自身に同等のStatic Routeは設定できないため、 Auto VPN Peerのルートをインストールしてしまいます。 Static RouteはRouted Modeの状態で LAN側のみ設定が可能であるため、 本件ではループ回避のために利用できません。 同一ルートの学習し合いによる ループの発生

Slide 12

Slide 12 text

Merakiの設定 12

Slide 13

Slide 13 text

Network • 3種類のNetworkを作成しています。 • NW_DC_MX1 • NW_DC_MX2 • NW_Branch1 13

Slide 14

Slide 14 text

Network: NW_DC_MX1 & NW_DC_MX2 (1/2) • Addressing & VLANs • Mode: Passthrough or VPN Concentrator • Site-to-site VPN • Type: Hub • Local networks • Subnet: 10.255.101.0/24 • Subnet: 10.255.199.99/32 (FirewallのLoopback Address) 14

Slide 15

Slide 15 text

Network: NW_DC_MX1 & NW_DC_MX2 (2/2) • Site-to-site VPN (Cont.) • OSPF settings • Advertise remote routes: Enabled • Router ID • MX#1 (Primary Hub): 10.255.101.241 • MX#2 (Secondary Hub): 10.255.101.242 • Area ID: 0 • Cost: 1 • Hello timer: 1 ※備考: コンバージェンスを早めるために短めに調整しています。 • Dead timer: 4 • MD5 authentication: Disabled 15

Slide 16

Slide 16 text

DC側Firewall (FortiGate) 16

Slide 17

Slide 17 text

DC側Firewall (FortiGate)の設定 • 物理構成図と論理構成図の情報の従った設定をしています。 • 特記事項としては、OSPFのECMP構成における負荷分散アルゴリズムを 明示的に設定しております。負荷分散のアルゴリズムによっては、通信の 偏りが発生する可能性があるため注意が必要です。 17

Slide 18

Slide 18 text

FirewallのECMP設定: source-ip-based config vdom edit vdom1 config system settings set v4-ecmp-mode source-ip-based end end 18

Slide 19

Slide 19 text

FirewallからのOSPF Neighborの見え方 FG60D-DC (vdom1) # get router info ospf neighbor OSPF process 0: Neighbor ID Pri State Dead Time Address Interface 10.255.101.241 0 Full/DROther 00:00:03 10.255.101.241 internal1-2 10.255.101.242 0 Full/DROther 00:00:03 10.255.101.242 internal1-2 FG60D-DC (vdom1) # 19

Slide 20

Slide 20 text

FirewallのOSPF Routeの見え方 FG60D-DC (vdom1) # get router info ospf route E2 10.255.11.0/24 [1/1] via 10.255.101.242, internal1-2 via 10.255.101.241, internal1-2 C 10.255.101.0/24 [1] is directly connected, internal1-2, Area 0.0.0.0 E2 10.255.199.99/32 [1/1] via 10.255.101.242, internal1-2 via 10.255.101.241, internal1-2 FG60D-DC (vdom1) # 20

Slide 21

Slide 21 text

Networks: NW_Branch1 (1/2) • Addressing & VLANs • Mode: Routed • Routing • LAN setting: Single LAN • Configure Single LAN • MX IP: 10.255.11.254 • Subnet: 10.255.11.0/24 • VPN mode: Enable 21

Slide 22

Slide 22 text

Networks: NW_Branch1 (2/2) • Site-to-site VPN • Type: Spoke • Hubs • #1: NW_DC_MX1 - Default Route: Uncheck • #2: NW_DC_MX2 - Default Route: Uncheck • Local networks • Subnet: 10.255.11.0/24 - VPN mode: Enabled • SD-WAN & traffic shaping • Primary uplink: WAN1 • Load balancing: Enabled • Active-Active AutoVPN: Enabled 22

Slide 23

Slide 23 text

通信フロー 23

Slide 24

Slide 24 text

Flow: Form Spoke => To Hub • SpokeからHubへの通信フローは、Primary Hubに障害が発生しない 限り、Hubの優先度に従いPrimary Hub宛に送信されます。 24

Slide 25

Slide 25 text

Meraki MX64#2 One-Armed Meraki MX64#1 One-Armed 25 Meraki MX67W Routed Mode PC Firewall (FortiGate 60D) loopback199 10.255.199.99/32 Tunnel Networks: NW_DC_MX1 (Primary Hub) Networks: NW_DC_MX2 (Secondary Hub) Flow: From Spoke => To Hub Networks: NW_Branch1 Spoke発の通信は Primary Hubが優先されます。

Slide 26

Slide 26 text

Flow: From Hub => To Spoke • HubからSpokeへの通信フローは、OSPFのECMPによる負荷分散され ます。 • 通信の振り分けは負荷分散のアルゴリズムに依存する点に留意が必要で す。アルゴリズムによっては、対象通信が一方のHub側に偏る可能性があ ります。 26

Slide 27

Slide 27 text

Meraki MX64#2 One-Armed Meraki MX64#1 One-Armed 27 Meraki MX67W Routed Mode PC Firewall (FortiGate 60D) loopback199 10.255.199.99/32 Tunnel Networks: NW_DC_MX1 (Primary Hub) Networks: NW_DC_MX2 (Secondary Hub) Flow: From Hub => To Spoke Networks: NW_Branch1 Path#1 Path#2 FG60D-DC (vdom1) # get router info ospf route E2 10.255.11.0/24 [1/1] via 10.255.101.242, internal1-2 via 10.255.101.241, internal1-2 C 10.255.101.0/24 [1] is directly connected, internal1-2, Area 0.0.0.0 E2 10.255.199.99/32 [1/1] via 10.255.101.242, internal1-2 via 10.255.101.241, internal1-2

Slide 28

Slide 28 text

通信フローの確認 28

Slide 29

Slide 29 text

通信フローの確認 • MXではSite-to-Site VPNのInterfaceに対してパケット キャプチャを行えるため、検 証環境の正常系の状態で下記の2点を確認しました。 • Primary Hub側にはSpoke発の行きと戻りの通信が通っている点。 • Spoke発の通信はHubの優先度に従うため、Primary Hub側に行きの通 信が通ります。 • Secondary Hub側には負荷分散された戻り通信のみが通っている点。 • Spoke発の通信はHubの優先度に従うため、Secondary Hub側には行き の通信は通りません。 29

Slide 30

Slide 30 text

パケット キャプチャの画面 30

Slide 31

Slide 31 text

Primary HubのSite-to-Site VPNのパケット キャプチャ 31

Slide 32

Slide 32 text

Secondary HubのSite-to-Site VPNのパケット キャプチャ 32

Slide 33

Slide 33 text

障害時の切り替わり時間 33

Slide 34

Slide 34 text

障害試験の補足 • 拠点側のMXは1台しか用意できなかったため、筐体障害は実施できておりませ ん。 • MXの間接リンク障害が約 300秒 (約 5分)と長く、サービスへの影響が大きい ため、意図的に間接リンク障害の障害時間を確認できるように構成を組んでお ります。 • 障害検知時間の揺らぎを考慮して、各パターンで5回の確認を行っております。 34

Slide 35

Slide 35 text

障害試験時の疎通確認先に関して • 物理リンクとAuto VPN経由の通信では障害時間が異なるため、 Internet側の疎通先と、Auto VPN経由の疎通先を用意しました。 • Auto VPNはトンネルのダウン検知を5秒間隔で行っているため、Auto VPN経由通信の間接リンク障害時は、物理リンクより圧倒的に素早く切 り替わりが発生する特徴があります。 35

Slide 36

Slide 36 text

internal1-2 (virtual-switch) Firewall (FortiGate 60D) vdom1 NW: 10.255.1XX.0/24 vdom2 NW:10.255.2XX.0/24 wan2 wan1 Internal1 Internal6 Internal2 Meraki MX64#1 One-Armed Meraki MX64#2 One-Armed Meraki MX67W Routed Mode Home Gateway (Router) Internet PPPoE (BIGLOBE) PPPoE (AsahiNet) Physical Topology 10.255.101.0/24 10.255.201.0/24 192.168.1.0/24 10.255.101.241 10.255.101.242 WAN1 WAN2 loopback199 10.255.199.99/32 10.255.11.0/24 PPPoE (BIGLOBE) 1 2 3 4 5 8 7 PC From To 6 Google Public DNS 8.8.8.8 To 36

Slide 37

Slide 37 text

疎通確認ツール • ツール名: ExPing • Pingの実行間隔: 1000 ms • pingのタイムアウト: 1000 ms • 送信元: PC (Windows 10) • 宛先 • Firewall (FortiGate 60D) Loopback • Google Public DNS • Case Number: 3, 4, 5, 6 のみ 37

Slide 38

Slide 38 text

38 ExPing設定

Slide 39

Slide 39 text

断時間の算出 • 断時間は、障害によりパケットのロスを認識した時間と、障害復旧後に パケットの応答を認識した時間の差としております。 • 下記の例の場合では、断時間は 10秒 として算出しています。 39 "結果","日時","対象","IPアドレス","ステータス","備考" "OK","2021/11/07 23:20:25","10.255.199.99","10.255.199.99","Time: 12ms","" "OK","2021/11/07 23:20:26","10.255.199.99","10.255.199.99","Time: 12ms","" "OK","2021/11/07 23:20:27","10.255.199.99","10.255.199.99","Time: 11ms","" "OK","2021/11/07 23:20:28","10.255.199.99","10.255.199.99","Time: 13ms","" “NG”,“2021/11/07 23:20:29”,“10.255.199.99”,“”,“Request timed out”,““ ← パケットのロスを認識した時間 "NG","2021/11/07 23:20:32","10.255.199.99","","Request timed out","" "NG","2021/11/07 23:20:33","10.255.199.99","","Request timed out","" "NG","2021/11/07 23:20:36","10.255.199.99","","Request timed out","" "NG","2021/11/07 23:20:38","10.255.199.99","","Request timed out","" “OK”,“2021/11/07 23:20:39”,“10.255.199.99”,“10.255.199.99”,“Time: 12ms”,““ ← パケットの応答を認識した時間 "OK","2021/11/07 23:20:40","10.255.199.99","10.255.199.99","Time: 13ms","" "OK","2021/11/07 23:20:41","10.255.199.99","10.255.199.99","Time: 11ms","" "OK","2021/11/07 23:20:42","10.255.199.99","10.255.199.99","Time: 12ms",""

Slide 40

Slide 40 text

Failover Timeの目安時間 • Failover Timeの目安時間を記載します。 • DC-DC Failover構成: 20~30秒 • WAN Connectivity (間接リンク障害): 約 300秒 (約 5分) • Auto VPNトンネルのダウン検知: 5秒間隔 • 検証構成のOSPF Timer: Hello 1秒, Dead 4秒 40

Slide 41

Slide 41 text

障害試験のリスト 41 ケース 番号 テスト ケース テストの観点 1 Primary Hubの直接リンク (Direct Link)障害 To Auto VPN経由の対向LAN 2 Secondary Hubの直接リンク (Direct Link)障害 To Auto VPN経由の対向LAN 3 SpokeのPrimary Uplinkの直接リンク (Direct Link)障害 • To Auto VPN経由の対向LAN • To Google Public DNS (Internet上) 4 SpokeのSecondary Uplinkの直接リンク (Direct Link) 障害 • To Auto VPN経由の対向LAN • To Google Public DNS (Internet上) 5 SpokeのPrimary Uplinkの間接リンク (Indirect Link)障 害 • To Auto VPN経由の対向LAN • To Google Public DNS (Internet上) 6 SpokeのSecondary Uplinkの間接リンク (Indirect Link) 障害 • To Auto VPN経由の対向LAN • To Google Public DNS (Internet上) 7 Primary Hubの筐体障害 To Auto VPN経由の対向LAN 8 Secondary Hubの筐体障害 To Auto VPN経由の対向LAN

Slide 42

Slide 42 text

internal1-2 (virtual-switch) Firewall (FortiGate 60D) vdom1 NW: 10.255.1XX.0/24 vdom2 NW:10.255.2XX.0/24 wan2 wan1 Internal1 Internal6 Internal2 Meraki MX64#1 One-Armed Meraki MX64#2 One-Armed Meraki MX67W Routed Mode Home Gateway (Router) Internet PPPoE (BIGLOBE) PPPoE (AsahiNet) 障害ケース: 1 10.255.101.0/24 10.255.201.0/24 192.168.1.0/24 10.255.101.241 10.255.101.242 WAN1 WAN2 loopback199 10.255.199.99/32 10.255.11.0/24 PPPoE (BIGLOBE) 1 PC From To Google Public DNS 8.8.8.8 To 42

Slide 43

Slide 43 text

[1] Primary Hubの直接リンク (Direct Link)障害 To Auto VPN経由の対向LAN No. (試行回数) Failover パケットのロス数 / 断時間(秒) Failback パケットのロス数 / 断時間(秒) 1 20 パケットのロス / 39秒 0 パケットのロス / 0秒 2 19パケットのロス / 37秒 0 パケットのロス / 0秒 3 14 パケットのロス / 27秒 0 パケットのロス / 0秒 4 20 パケットのロス / 39秒 0 パケットのロス / 0秒 5 13 パケットのロス / 25秒 0 パケットのロス / 0秒 43 【ツールの設定】 pingの実行間隔: 1000 ms Pingのタイムアウト: 1000 ms

Slide 44

Slide 44 text

internal1-2 (virtual-switch) Firewall (FortiGate 60D) vdom1 NW: 10.255.1XX.0/24 vdom2 NW:10.255.2XX.0/24 wan2 wan1 Internal1 Internal6 Internal2 Meraki MX64#1 One-Armed Meraki MX64#2 One-Armed Meraki MX67W Routed Mode Home Gateway (Router) Internet PPPoE (BIGLOBE) PPPoE (AsahiNet) 障害ケース: 2 10.255.101.0/24 10.255.201.0/24 192.168.1.0/24 10.255.101.241 10.255.101.242 WAN1 WAN2 loopback199 10.255.199.99/32 10.255.11.0/24 PPPoE (BIGLOBE) 2 PC From To Google Public DNS 8.8.8.8 To 44

Slide 45

Slide 45 text

[2] Secondary Hubの直接リンク (Direct Link)障害 To Auto VPN経由の対向LAN 45 【ツールの設定】 pingの実行間隔: 1000 ms Pingのタイムアウト: 1000 ms No. (試行回数) Failover パケットのロス数 / 断時間(秒) Failback パケットのロス数 / 断時間(秒) 1 1 パケットのロス / 1 秒 0 パケットのロス / 0 秒 2 5 パケットのロス / 9 秒 0 パケットのロス / 0 秒 3 5 パケットのロス / 9 秒 0 パケットのロス / 0 秒 4 5 パケットのロス / 9 秒 1 パケットのロス / 1 秒 5 5 パケットのロス / 9 秒 0 パケットのロス / 0 秒

Slide 46

Slide 46 text

internal1-2 (virtual-switch) Firewall (FortiGate 60D) vdom1 NW: 10.255.1XX.0/24 vdom2 NW:10.255.2XX.0/24 wan2 wan1 Internal1 Internal6 Internal2 Meraki MX64#1 One-Armed Meraki MX64#2 One-Armed Meraki MX67W Routed Mode Home Gateway (Router) Internet PPPoE (BIGLOBE) PPPoE (AsahiNet) 障害ケース: 3 10.255.101.0/24 10.255.201.0/24 192.168.1.0/24 10.255.101.241 10.255.101.242 WAN1 WAN2 loopback199 10.255.199.99/32 10.255.11.0/24 PPPoE (BIGLOBE) 3 PC From To Google Public DNS 8.8.8.8 To 46

Slide 47

Slide 47 text

[3] SpokeのPrimary Uplinkの直接リンク (Direct Link)障害 To Auto VPN経由の対向LAN 47 【ツールの設定】 pingの実行間隔: 1000 ms Pingのタイムアウト: 1000 ms No. (試行回数) Failover パケットのロス数 / 断時間(秒) Failback パケットのロス数 / 断時間(秒) 1 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 2 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 3 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 4 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 5 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒

Slide 48

Slide 48 text

[3] SpokeのPrimary Uplinkの直接リンク (Direct Link)障害 To Google Public DNS (Internet上) 48 【ツールの設定】 pingの実行間隔: 1000 ms Pingのタイムアウト: 1000 ms No. (試行回数) Failover パケットのロス数 / 断時間(秒) Failback パケットのロス数 / 断時間(秒) 1 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 2 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 3 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 4 3 パケットのロス / 4 秒 0 パケットのロス / 0 秒 5 1 パケットのロス / 1 秒 0 パケットのロス / 0 秒

Slide 49

Slide 49 text

internal1-2 (virtual-switch) Firewall (FortiGate 60D) vdom1 NW: 10.255.1XX.0/24 vdom2 NW:10.255.2XX.0/24 wan2 wan1 Internal1 Internal6 Internal2 Meraki MX64#1 One-Armed Meraki MX64#2 One-Armed Meraki MX67W Routed Mode Home Gateway (Router) Internet PPPoE (BIGLOBE) PPPoE (AsahiNet) 障害ケース: 4 10.255.101.0/24 10.255.201.0/24 192.168.1.0/24 10.255.101.241 10.255.101.242 WAN1 WAN2 loopback199 10.255.199.99/32 10.255.11.0/24 PPPoE (BIGLOBE) 4 PC From To Google Public DNS 8.8.8.8 To 49

Slide 50

Slide 50 text

[4] SpokeのSecondary Uplinkの直接リンク (Direct Link)障害 To Auto VPN経由の対向LAN 50 【ツールの設定】 pingの実行間隔: 1000 ms Pingのタイムアウト: 1000 ms No. (試行回数) Failover パケットのロス数 / 断時間(秒) Failback パケットのロス数 / 断時間(秒) 1 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 2 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 3 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 4 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 5 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒

Slide 51

Slide 51 text

[4] SpokeのSecondary Uplinkの直接リンク (Direct Link)障害 To Google Public DNS (Internet上) 51 【ツールの設定】 pingの実行間隔: 1000 ms Pingのタイムアウト: 1000 ms No. (試行回数) Failover パケットのロス数 / 断時間(秒) Failback パケットのロス数 / 断時間(秒) 1 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 2 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 3 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 4 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒 5 0 パケットのロス / 0 秒 0 パケットのロス / 0 秒

Slide 52

Slide 52 text

internal1-2 (virtual-switch) Firewall (FortiGate 60D) vdom1 NW: 10.255.1XX.0/24 vdom2 NW:10.255.2XX.0/24 wan2 wan1 Internal1 Internal6 Internal2 Meraki MX64#1 One-Armed Meraki MX64#2 One-Armed Meraki MX67W Routed Mode Home Gateway (Router) Internet PPPoE (BIGLOBE) PPPoE (AsahiNet) 障害ケース: 5 10.255.101.0/24 10.255.201.0/24 192.168.1.0/24 10.255.101.241 10.255.101.242 WAN1 WAN2 loopback199 10.255.199.99/32 10.255.11.0/24 PPPoE (BIGLOBE) 5 PC From To Google Public DNS 8.8.8.8 To 52

Slide 53

Slide 53 text

[5] SpokeのPrimary Uplinkの間接リンク (Indirect Link)障害 To Auto VPN経由の対向LAN 53 【ツールの設定】 pingの実行間隔: 1000 ms Pingのタイムアウト: 1000 ms No. (試行回数) Failover パケットのロス数 / 断時間(秒) Failback パケットのロス数 / 断時間(秒) 1 11 パケットのロス / 21 秒 0 パケットのロス / 0 秒 2 11 パケットのロス / 21 秒 0 パケットのロス / 0 秒 3 11 パケットのロス / 21 秒 0 パケットのロス / 0 秒 4 9 パケットのロス / 19 秒 0 パケットのロス / 0 秒 5 10 パケットのロス / 20 秒 0 パケットのロス / 0 秒

Slide 54

Slide 54 text

[5] SpokeのPrimary Uplinkの間接リンク (Indirect Link)障害 To Google Public DNS (Internet上) 54 【ツールの設定】 pingの実行間隔: 1000 ms Pingのタイムアウト: 1000 ms No. (試行回数) Failover パケットのロス数 / 断時間(秒) Failback パケットのロス数 / 断時間(秒) 1 87 パケットのロス / 169 秒 0 パケットのロス / 0 秒 2 135 パケットのロス / 252 秒 0 パケットのロス / 0 秒 3 101 パケットのロス / 195 秒 0 パケットのロス / 0 秒 4 122 パケットのロス / 237 秒 0 パケットのロス / 0 秒 5 173 パケットのロス / 284 秒 0 パケットのロス / 0 秒

Slide 55

Slide 55 text

internal1-2 (virtual-switch) Firewall (FortiGate 60D) vdom1 NW: 10.255.1XX.0/24 vdom2 NW:10.255.2XX.0/24 wan2 wan1 Internal1 Internal6 Internal2 Meraki MX64#1 One-Armed Meraki MX64#2 One-Armed Meraki MX67W Routed Mode Home Gateway (Router) Internet PPPoE (BIGLOBE) PPPoE (AsahiNet) 障害ケース: 6 10.255.101.0/24 10.255.201.0/24 192.168.1.0/24 10.255.101.241 10.255.101.242 WAN1 WAN2 loopback199 10.255.199.99/32 10.255.11.0/24 PPPoE (BIGLOBE) PC From To 6 Google Public DNS 8.8.8.8 To 55

Slide 56

Slide 56 text

[6] SpokeのSecondary Uplinkの間接リンク (Indirect Link)障害 To Auto VPN経由の対向LAN 56 【ツールの設定】 pingの実行間隔: 1000 ms Pingのタイムアウト: 1000 ms No. (試行回数) Failover パケットのロス数 / 断時間(秒) Failback パケットのロス数 / 断時間(秒) 1 10 パケットのロス / 19 秒 0 パケットのロス / 0 秒 2 11 パケットのロス / 21 秒 0 パケットのロス / 0 秒 3 11 パケットのロス / 21 秒 0 パケットのロス / 0 秒 4 10 パケットのロス / 19 秒 0 パケットのロス / 0 秒 5 10 パケットのロス / 19 秒 0 パケットのロス / 0 秒

Slide 57

Slide 57 text

[6] SpokeのSecondary Uplinkの間接リンク (Indirect Link)障害 To Google Public DNS (Internet上) 57 【ツールの設定】 pingの実行間隔: 1000 ms Pingのタイムアウト: 1000 ms No. (試行回数) Failover パケットのロス数 / 断時間(秒) Failback パケットのロス数 / 断時間(秒) 1 10 パケットのロス / 19 秒 0 パケットのロス / 0 秒 2 8 パケットのロス / 15 秒 0 パケットのロス / 0 秒 3 9 パケットのロス / 17 秒 0 パケットのロス / 0 秒 4 9 パケットのロス / 17 秒 0 パケットのロス / 0 秒 5 10 パケットのロス / 19 秒 0 パケットのロス / 0 秒

Slide 58

Slide 58 text

internal1-2 (virtual-switch) Firewall (FortiGate 60D) vdom1 NW: 10.255.1XX.0/24 vdom2 NW:10.255.2XX.0/24 wan2 wan1 Internal1 Internal6 Internal2 Meraki MX64#1 One-Armed Meraki MX64#2 One-Armed Meraki MX67W Routed Mode Home Gateway (Router) Internet PPPoE (BIGLOBE) PPPoE (AsahiNet) 障害ケース: 7 10.255.101.0/24 10.255.201.0/24 192.168.1.0/24 10.255.101.241 10.255.101.242 WAN1 WAN2 loopback199 10.255.199.99/32 10.255.11.0/24 PPPoE (BIGLOBE) 7 PC From To Google Public DNS 8.8.8.8 To 58

Slide 59

Slide 59 text

[7] Primary Hubの筐体障害 To Auto VPN経由の対向LAN 59 【ツールの設定】 pingの実行間隔: 1000 ms Pingのタイムアウト: 1000 ms No. (試行回数) Failover パケットのロス数 / 断時間(秒) Failback パケットのロス数 / 断時間(秒) 1 18 パケットのロス / 36 秒 1 パケットのロス / 1 秒 2 16 パケットのロス / 31 秒 0 パケットのロス / 0 秒 3 19 パケットのロス / 37 秒 0 パケットのロス / 0 秒 4 20 パケットのロス / 39 秒 0 パケットのロス / 0 秒 5 19 パケットのロス / 37 秒 0 パケットのロス / 0 秒

Slide 60

Slide 60 text

internal1-2 (virtual-switch) Firewall (FortiGate 60D) vdom1 NW: 10.255.1XX.0/24 vdom2 NW:10.255.2XX.0/24 wan2 wan1 Internal1 Internal6 Internal2 Meraki MX64#1 One-Armed Meraki MX64#2 One-Armed Meraki MX67W Routed Mode Home Gateway (Router) Internet PPPoE (BIGLOBE) PPPoE (AsahiNet) 障害ケース: 8 10.255.101.0/24 10.255.201.0/24 192.168.1.0/24 10.255.101.241 10.255.101.242 WAN1 WAN2 loopback199 10.255.199.99/32 10.255.11.0/24 PPPoE (BIGLOBE) 8 PC From To Google Public DNS 8.8.8.8 To 60

Slide 61

Slide 61 text

[8] Secondary Hubの筐体障害 To Auto VPN経由の対向LAN 61 【ツールの設定】 pingの実行間隔: 1000 ms Pingのタイムアウト: 1000 ms No. (試行回数) Failover パケットのロス数 / 断時間(秒) Failback パケットのロス数 / 断時間(秒) 1 1 パケットのロス / 1 秒 1 パケットのロス / 1 秒 2 6 パケットのロス / 11 秒 0 パケットのロス / 0 秒 3 5 パケットのロス / 8 秒 0 パケットのロス / 0 秒 4 5 パケットのロス / 9 秒 0 パケットのロス / 0 秒 5 5 パケットのロス / 10 秒 0 パケットのロス / 0 秒

Slide 62

Slide 62 text

障害試験結果の考察 62

Slide 63

Slide 63 text

Failover Timeの考察 • 「Secondary Hubの直接リンク (Direct Link)障害」は、OSPF ECMPにより戻りの通信 の振り分けを行っているため、OSPF Timerによる障害検知と、ECMPによる振り分けアルゴリ ズムに依存してると想定されます。 • SpokeからHubに対しては、Hubの優先度に従うため、Primary Hubが優先されるように なっており、片方向のフローで見ればSecondary Hubの障害の影響は受けないです。 • しかし、戻りの通信は、ECMPのアルゴリズムに依存しているため、OSPF Neighborがダウン した検知されるまでは振り分けられる可能性があり、ドロップが発生していると想定されます。 63

Slide 64

Slide 64 text

気になった観 • MXでは間接リンク障害が発生すると、Connection Monitoringのテスト状況により 障害検知に約300秒を要するのがドキュメント上の情報より判明しています。 • ですが、実際の間接リンク障害では、基本的に300秒も経たずに切り替わっております。 そして、どのような仕様もしくは外部要因に影響してるのか判断がつきませんでした。 • 特にSecondary Uplinkの間接リンクの障害時 (障害ケース: 6)は、大幅に断時 間が短い点が想定外でした。障害時間に短いに越したことはないため、詳細な調査ま では行ってませんが気になった点として書き留めております。 64 【Connection Monitoringに関するドキュメント】 Connection Monitoring for WAN Failover - Cisco Meraki https://documentation.meraki.com/MX/Firewall_and_Traffic_Shaping/Connection_Monitoring_for_WAN_Failover

Slide 65

Slide 65 text

関連記事 65

Slide 66

Slide 66 text

関連記事 • 筆者が執筆している記事から関連性のあるものを抜粋しました。 • Meraki MXにおけるDC-DC Failoverの特性 • URL: https://myhomenwlab.hatenablog.com/entry/2022/04/06/223605 • Meraki MXのDC-DC Failoverは、Hub間でループするのが想定動作であり、実際にはループしてい なくてもループする前提で扱う • URL: https://myhomenwlab.hatenablog.com/entry/2022/04/03/042110 • Meraki MXの間接リンク障害の検知時間は約300秒 (5分) • URL: https://myhomenwlab.hatenablog.com/entry/2022/02/27/212144 66

Slide 67

Slide 67 text

End Of File 本スライドが資料の最後です。 67