以下の内容はhttps://yokohama539.hatenablog.com/entry/2025/04/17/004117より取得しました。


vJunosでIP-Closなネットワーク作ってみた。~その4~

今回は過去3回やっているvJunos-Switchを使ったIP-Closなネットワークをまた検証したいと思います。
ちなみに過去3回の記事はこちらです。
yokohama539.hatenablog.com
yokohama539.hatenablog.com
yokohama539.hatenablog.com

今回はMAC-VRF形式でのEVPN-VXLANを構築したいと思います。

「MAC-VRF形式」とはJunosにおいてEVPN-VXLANを設定する際、新しいconfig形式となるcommand群になります。
Junos 20.4R1以降より追加され、旧形式よりも各Service Type(Vlan-Based、Vlan-Aware、Vlan-Bundle)のconifgが統一されており、大変わかりやすくなっています。
過去3回では旧形式のconfigで構築していたので、今回はMAC-VRF形式のconfigでちゃんと機能するか検証したいと思います。

1. EVPN-VXLAN 構成

基本的には過去構築したのと同様のトポロジーを組みます。
Multihomingでの経路切り替え動作まで確かめたいので、leafは3台構成とします。
物理構成は以下になります。

2. EVPN-VXLAN 設定

ではまず(IP-Fabric部分の)各機器のLoopbackアドレスを学習するUnderlayを構築していきます。
とは言っても過去検証したトポロジーと一緒なのでサラッと論理構成とconfigを載せます。

//spine-01
set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.0/31
set interfaces ge-0/0/1 unit 0 family inet address 10.1.1.2/31
set interfaces ge-0/0/2 unit 0 family inet address 10.1.1.4/31
set interfaces lo0 unit 0 family inet address 172.16.0.1/32
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 0011 from route-filter 172.16.0.0/24 prefix-length-range /32-/32
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 0011 then accept
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 9999 then reject
set routing-options router-id 172.16.0.1
set routing-options autonomous-system 4200000001
set protocols bgp group UNDERLAY type external
set protocols bgp group UNDERLAY family inet unicast
set protocols bgp group UNDERLAY export EXPORT_BGP_UNDERLAY
set protocols bgp group UNDERLAY neighbor 10.1.1.1 peer-as 4200001001
set protocols bgp group UNDERLAY neighbor 10.1.1.3 peer-as 4200001002
set protocols bgp group UNDERLAY neighbor 10.1.1.5 peer-as 4200001003
//leaf-01
set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/31
set interfaces lo0 unit 0 family inet address 172.16.0.11/32
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 0011 from protocol direct
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 0011 from route-filter 172.16.0.11/32 exact
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 0011 then accept
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 9999 then reject
set routing-options router-id 172.16.0.11
set routing-options autonomous-system 4200001001
set protocols bgp group UNDERLAY type external
set protocols bgp group UNDERLAY family inet unicast
set protocols bgp group UNDERLAY export EXPORT_BGP_UNDERLAY
set protocols bgp group UNDERLAY neighbor 10.1.1.0 peer-as 4200000001
//leaf-02
set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.3/31
set interfaces lo0 unit 0 family inet address 172.16.0.12/32
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 0011 from protocol direct
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 0011 from route-filter 172.16.0.12/32 exact
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 0011 then accept
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 9999 then reject
set routing-options router-id 172.16.0.12
set routing-options autonomous-system 4200001002
set protocols bgp group UNDERLAY type external
set protocols bgp group UNDERLAY family inet unicast
set protocols bgp group UNDERLAY export EXPORT_BGP_UNDERLAY
set protocols bgp group UNDERLAY neighbor 10.1.1.2 peer-as 4200000001
//leaf-03
set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.5/31
set interfaces lo0 unit 0 family inet address 172.16.0.13/32
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 0011 from protocol direct
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 0011 from route-filter 172.16.0.13/32 exact
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 0011 then accept
set policy-options policy-statement EXPORT_BGP_UNDERLAY term 9999 then reject
set routing-options router-id 172.16.0.13
set routing-options autonomous-system 4200001003
set protocols bgp group UNDERLAY type external
set protocols bgp group UNDERLAY family inet unicast
set protocols bgp group UNDERLAY export EXPORT_BGP_UNDERLAY
set protocols bgp group UNDERLAY neighbor 10.1.1.4 peer-as 4200000001


続いて各機器間でEVPN Routeを学習するOverlay Networkを構築します。
ここも過去検証したトポロジーと一緒なのでサラッと論理構成とconfigを載せます。

//spine-01
set protocols bgp group OVERLAY type external
set protocols bgp group OVERLAY multihop no-nexthop-change
set protocols bgp group OVERLAY local-address 172.16.0.1
set protocols bgp group OVERLAY family evpn signaling
set protocols bgp group OVERLAY neighbor 172.16.0.11 peer-as 4200001001
set protocols bgp group OVERLAY neighbor 172.16.0.12 peer-as 4200001002
set protocols bgp group OVERLAY neighbor 172.16.0.13 peer-as 4200001003
//leaf-01
set protocols bgp group OVERLAY type external
set protocols bgp group OVERLAY multihop
set protocols bgp group OVERLAY local-address 172.16.0.11
set protocols bgp group OVERLAY family evpn signaling
set protocols bgp group OVERLAY peer-as 4200000001
set protocols bgp group OVERLAY neighbor 172.16.0.1
//leaf-02
set protocols bgp group OVERLAY type external
set protocols bgp group OVERLAY multihop
set protocols bgp group OVERLAY local-address 172.16.0.12
set protocols bgp group OVERLAY family evpn signaling
set protocols bgp group OVERLAY peer-as 4200000001
set protocols bgp group OVERLAY neighbor 172.16.0.1
//leaf-03
set protocols bgp group OVERLAY type external
set protocols bgp group OVERLAY multihop
set protocols bgp group OVERLAY local-address 172.16.0.13
set protocols bgp group OVERLAY family evpn signaling
set protocols bgp group OVERLAY peer-as 4200000001
set protocols bgp group OVERLAY neighbor 172.16.0.1


UnderlayおよびOverlayでBGP Peeringできているか確認します。

//leaf-01
lab@spine-01# run show bgp summary | no-more
<snip>
Table          Tot Paths  Act Paths Suppressed    History Damp State    Pending
inet.0
                       3          3          0          0          0          0
bgp.evpn.0
                       9          9          0          0          0          0
Peer                     AS      InPkt     OutPkt    OutQ   Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
10.1.1.1         4200001001         78         77       0       0       33:32 Establ
  inet.0: 1/1/1/0
10.1.1.3         4200001002         79         78       0       0       33:35 Establ
  inet.0: 1/1/1/0
10.1.1.5         4200001003         78         77       0       0       33:38 Establ
  inet.0: 1/1/1/0
172.16.0.11      4200001001         78         87       0       0       33:24 Establ
  bgp.evpn.0: 1/1/1/0
172.16.0.12      4200001002         83         81       0       0       33:28 Establ
  bgp.evpn.0: 4/4/4/0
172.16.0.13      4200001003         84         82       0       0       33:36 Establ
  bgp.evpn.0: 4/4/4/0
//leaf-01
lab@leaf-01# run show bgp summary | no-more
<snip>
Table          Tot Paths  Act Paths Suppressed    History Damp State    Pending
inet.0
                       3          3          0          0          0          0
bgp.evpn.0
                       8          8          0          0          0          0
Peer                     AS      InPkt     OutPkt    OutQ   Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
10.1.1.0         4200000001         83         81       0       0       35:26 Establ
  inet.0: 3/3/3/0
172.16.0.1       4200000001         93         81       0       0       35:18 Establ
  bgp.evpn.0: 8/8/8/0
//leaf-02
lab@leaf-02# run show bgp summary | no-more
<snip>
Table          Tot Paths  Act Paths Suppressed    History Damp State    Pending
inet.0
                       3          3          0          0          0          0
bgp.evpn.0
                       5          5          0          0          0          0
Peer                     AS      InPkt     OutPkt    OutQ   Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
10.1.1.2         4200000001         92         90       0       0       39:29 Establ
  inet.0: 3/3/3/0
172.16.0.1       4200000001         96         95       0       0       39:23 Establ
  bgp.evpn.0: 5/5/5/0
//leaf-03
lab@leaf-03# run show bgp summary | no-more
<snip>
Table          Tot Paths  Act Paths Suppressed    History Damp State    Pending
inet.0
                       3          3          0          0          0          0
bgp.evpn.0
                       5          5          0          0          0          0
Peer                     AS      InPkt     OutPkt    OutQ   Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
10.1.1.4         4200000001         95         93       0       0       40:46 Establ
  inet.0: 3/3/3/0
172.16.0.1       4200000001         99         98       0       0       40:44 Establ
  bgp.evpn.0: 5/5/5/0


そして今回のキモとなるVXLAN周りの設定を行います。
まずは論理構成を載せます。構成自体は過去やったのと一緒です。
leaf-01はSingle-home、leaf-02とleaf-03はMulti-home構成とします。


で具体的なconfigですが、今回、Service TypeはVlan-Basedとします。
EVPNに関わるcommandは全てrouting-instance配下となります。
旧方式の場合は、Service Typeによってinstance-typeが"default-switch"だったり"evpn"だったりでした。
が、MAC-VRF形式はinstance-typeは"mac-vrf"に統一されているのでわかりやすいです!

//leaf-01
set routing-instances MAC-VRF-VLAN0012 instance-type mac-vrf
set routing-instances MAC-VRF-VLAN0012 protocols evpn encapsulation vxlan
set routing-instances MAC-VRF-VLAN0012 protocols evpn extended-vni-list 10012
set routing-instances MAC-VRF-VLAN0012 vtep-source-interface lo0.0
set routing-instances MAC-VRF-VLAN0012 service-type vlan-based
set routing-instances MAC-VRF-VLAN0012 interface ge-0/0/6.0
set routing-instances MAC-VRF-VLAN0012 route-distinguisher 172.16.0.11:1
set routing-instances MAC-VRF-VLAN0012 vrf-target target:539:539
set routing-instances MAC-VRF-VLAN0012 vlans VLAN0012 vlan-id 12
set routing-instances MAC-VRF-VLAN0012 vlans VLAN0012 vxlan vni 10012
set interfaces ge-0/0/6 unit 0 family ethernet-switching interface-mode trunk
set interfaces ge-0/0/6 unit 0 family ethernet-switching vlan members all
//leaf-02
set chassis aggregated-devices ethernet device-count 1
set interfaces ge-0/0/6 gigether-options 802.3ad ae1
set interfaces ae1 esi 00:01:02:03:04:05:06:07:08:09
set interfaces ae1 esi all-active
set interfaces ae1 esi df-election-type preference value 150
set interfaces ae1 aggregated-ether-options lacp active
set interfaces ae1 aggregated-ether-options lacp system-id 00:00:00:00:00:12
set interfaces ae1 unit 0 family ethernet-switching interface-mode trunk
set interfaces ae1 unit 0 family ethernet-switching vlan members all
set routing-instances MAC-VRF-VLAN0012 instance-type mac-vrf
set routing-instances MAC-VRF-VLAN0012 protocols evpn encapsulation vxlan
set routing-instances MAC-VRF-VLAN0012 protocols evpn extended-vni-list 10012
set routing-instances MAC-VRF-VLAN0012 vtep-source-interface lo0.0
set routing-instances MAC-VRF-VLAN0012 service-type vlan-based
set routing-instances MAC-VRF-VLAN0012 interface ae1.0
set routing-instances MAC-VRF-VLAN0012 route-distinguisher 172.16.0.12:1
set routing-instances MAC-VRF-VLAN0012 vrf-target target:539:539
set routing-instances MAC-VRF-VLAN0012 vlans VLAN0012 vlan-id 12
set routing-instances MAC-VRF-VLAN0012 vlans VLAN0012 vxlan vni 10012
//leaf-03
set chassis aggregated-devices ethernet device-count 1
set interfaces ge-0/0/6 gigether-options 802.3ad ae1
set interfaces ae1 esi 00:01:02:03:04:05:06:07:08:09
set interfaces ae1 esi all-active
set interfaces ae1 esi df-election-type preference value 100
set interfaces ae1 aggregated-ether-options lacp active
set interfaces ae1 aggregated-ether-options lacp system-id 00:00:00:00:00:12
set interfaces ae1 unit 0 family ethernet-switching interface-mode trunk
set interfaces ae1 unit 0 family ethernet-switching vlan members all
set routing-instances MAC-VRF-VLAN0012 instance-type mac-vrf
set routing-instances MAC-VRF-VLAN0012 protocols evpn encapsulation vxlan
set routing-instances MAC-VRF-VLAN0012 protocols evpn extended-vni-list 10012
set routing-instances MAC-VRF-VLAN0012 vtep-source-interface lo0.0
set routing-instances MAC-VRF-VLAN0012 service-type vlan-based
set routing-instances MAC-VRF-VLAN0012 interface ae1.0
set routing-instances MAC-VRF-VLAN0012 route-distinguisher 172.16.0.13:1
set routing-instances MAC-VRF-VLAN0012 vrf-target target:539:539
set routing-instances MAC-VRF-VLAN0012 vlans VLAN0012 vlan-id 12
set routing-instances MAC-VRF-VLAN0012 vlans VLAN0012 vxlan vni 10012
//vRouter-01
set interfaces ge-0/0/0 vlan-tagging
set interfaces ge-0/0/0 unit 0 vlan-id 12
set interfaces ge-0/0/0 unit 0 family inet address 12.12.12.1/24
//vRouter-02
set chassis aggregated-devices ethernet device-count 1
set interfaces ge-0/0/0 gigether-options 802.3ad ae1
set interfaces ge-0/0/1 gigether-options 802.3ad ae1
set interfaces ae1 vlan-tagging
set interfaces ae1 aggregated-ether-options lacp active
set interfaces ae1 unit 0 vlan-id 12
set interfaces ae1 unit 0 family inet address 12.12.12.2/24

これでconfig投入は完了です。

3. EVPN-VXLAN 正常時動作確認

動作確認をしていきます。
まず、MP-BGP(bgp.evpn.0テーブル)でEVPN Route情報が学習されているか確認します。
leaf-02(172.16.0.12)とleaf-03(172.16.0.13)についてはRoute-Type1と4のentryが存在するか確認します。
(Routing Table entryの出力フォーマットの細かい見方はその1で説明してます)

//spine-01
lab@spine-01# run show route table bgp.evpn.0 | match :172.16.0.1
1:172.16.0.12:0::010203040506070809::FFFF:FFFF/192 AD/ESI
1:172.16.0.12:1::010203040506070809::0/192 AD/EVI
1:172.16.0.13:0::010203040506070809::FFFF:FFFF/192 AD/ESI
1:172.16.0.13:1::010203040506070809::0/192 AD/EVI
3:172.16.0.11:1::0::172.16.0.11/248 IM
3:172.16.0.12:1::0::172.16.0.12/248 IM
3:172.16.0.13:1::0::172.16.0.13/248 IM
4:172.16.0.12:0::010203040506070809:172.16.0.12/296 ES
4:172.16.0.13:0::010203040506070809:172.16.0.13/296 ES
//leaf-01
lab@leaf-01# run show route table bgp.evpn.0 | match  :172.16.0.1
1:172.16.0.12:0::010203040506070809::FFFF:FFFF/192 AD/ESI
1:172.16.0.12:1::010203040506070809::0/192 AD/EVI
1:172.16.0.13:0::010203040506070809::FFFF:FFFF/192 AD/ESI
1:172.16.0.13:1::010203040506070809::0/192 AD/EVI
3:172.16.0.11:1::0::172.16.0.11/248 IM
3:172.16.0.12:1::0::172.16.0.12/248 IM
3:172.16.0.13:1::0::172.16.0.13/248 IM
4:172.16.0.12:0::010203040506070809:172.16.0.12/296 ES
4:172.16.0.13:0::010203040506070809:172.16.0.13/296 ES
//leaf-02
lab@leaf-02# run show route table bgp.evpn.0 | match :172.16.0.1
1:172.16.0.12:0::010203040506070809::FFFF:FFFF/192 AD/ESI
1:172.16.0.12:1::010203040506070809::0/192 AD/EVI
1:172.16.0.13:0::010203040506070809::FFFF:FFFF/192 AD/ESI
1:172.16.0.13:1::010203040506070809::0/192 AD/EVI
3:172.16.0.11:1::0::172.16.0.11/248 IM
3:172.16.0.12:1::0::172.16.0.12/248 IM
3:172.16.0.13:1::0::172.16.0.13/248 IM
4:172.16.0.12:0::010203040506070809:172.16.0.12/296 ES
4:172.16.0.13:0::010203040506070809:172.16.0.13/296 ES
//leaf-03
lab@leaf-03# run show route table bgp.evpn.0 | match :172.16.0.1
1:172.16.0.12:0::010203040506070809::FFFF:FFFF/192 AD/ESI
1:172.16.0.12:1::010203040506070809::0/192 AD/EVI
1:172.16.0.13:0::010203040506070809::FFFF:FFFF/192 AD/ESI
1:172.16.0.13:1::010203040506070809::0/192 AD/EVI
3:172.16.0.11:1::0::172.16.0.11/248 IM
3:172.16.0.12:1::0::172.16.0.12/248 IM
3:172.16.0.13:1::0::172.16.0.13/248 IM
4:172.16.0.12:0::010203040506070809:172.16.0.12/296 ES
4:172.16.0.13:0::010203040506070809:172.16.0.13/296 ES

各機器、EVPN Routeを学習していますね。

続いてVXLAN周りを確認します。
まず、各leafにてVTEPが検出できているか確認します。
showコマンドも20.4R1よりMAC-VRF形式に対応したcommandが追加されています。
なので、過去の検証で行った確認コマンドと少し異なります。

//leaf-01
lab@leaf-01# run show mac-vrf forwarding vxlan-tunnel-end-point remote
Logical System Name       Id  SVTEP-IP         IFL   L3-Idx    SVTEP-Mode    ELP-SVTEP-IP
<default>                 0   172.16.0.11      lo0.0    0
 RVTEP-IP         L2-RTT                   IFL-Idx   Interface    NH-Id   RVTEP-Mode  ELP-IP        Flags
 172.16.0.12      MAC-VRF-VLAN0012         346       vtep.32770   593     RNVE
    VNID          MC-Group-IP
    10012         0.0.0.0
 RVTEP-IP         L2-RTT                   IFL-Idx   Interface    NH-Id   RVTEP-Mode  ELP-IP        Flags
 172.16.0.13      MAC-VRF-VLAN0012         345       vtep.32769   589     RNVE
    VNID          MC-Group-IP
    10012         0.0.0.0
//leaf-02
lab@leaf-02# run show mac-vrf forwarding vxlan-tunnel-end-point remote
Logical System Name       Id  SVTEP-IP         IFL   L3-Idx    SVTEP-Mode    ELP-SVTEP-IP
<default>                 0   172.16.0.12      lo0.0    0
 RVTEP-IP         L2-RTT                   IFL-Idx   Interface    NH-Id   RVTEP-Mode  ELP-IP        Flags
 172.16.0.11      MAC-VRF-VLAN0012         347       vtep.32770   587     RNVE
    VNID          MC-Group-IP
    10012         0.0.0.0
 RVTEP-IP         L2-RTT                   IFL-Idx   Interface    NH-Id   RVTEP-Mode  ELP-IP        Flags
 172.16.0.13      MAC-VRF-VLAN0012         346       vtep.32769   586     RNVE
    VNID          MC-Group-IP
    10012         0.0.0.0
//leaf-03
lab@leaf-03# run show mac-vrf forwarding vxlan-tunnel-end-point remote
Logical System Name       Id  SVTEP-IP         IFL   L3-Idx    SVTEP-Mode    ELP-SVTEP-IP
<default>                 0   172.16.0.13      lo0.0    0
 RVTEP-IP         L2-RTT                   IFL-Idx   Interface    NH-Id   RVTEP-Mode  ELP-IP        Flags
 172.16.0.11      MAC-VRF-VLAN0012         346       vtep.32769   586     RNVE
    VNID          MC-Group-IP
    10012         0.0.0.0
 RVTEP-IP         L2-RTT                   IFL-Idx   Interface    NH-Id   RVTEP-Mode  ELP-IP        Flags
 172.16.0.12      MAC-VRF-VLAN0012         347       vtep.32770   592     RNVE
    VNID          MC-Group-IP
    10012         0.0.0.0

leafでVTEPが検出できてますね。
次にleaf-02とleaf-03でMultihoming構成となっているか確認します。

//leaf-02
lab@leaf-02# run show mac-vrf routing instance MAC-VRF-VLAN0012 extensive | no-more
Instance: MAC-VRF-VLAN0012
<snip>
  Number of ethernet segments: 1
    ESI: 00:01:02:03:04:05:06:07:08:09
      Status: Resolved by IFL ae1.0
      Local interface: ae1.0, Status: Up/Forwarding
      Number of remote PEs connected: 1
        Remote-PE        MAC-label  Aliasing-label  Mode
        172.16.0.13      10012      10012           all-active
      DF Election Algorithm: Preference based
      Designated forwarder: 172.16.0.12, Preference: 150
      Backup forwarder: 172.16.0.13, Preference: 100
      Last designated forwarder update: Apr 14 00:09:02
  Router-ID: 172.16.0.12
  Source VTEP interface IP: 172.16.0.12
  SMET Forwarding: Disabled
//leaf-03
lab@leaf-03# run show mac-vrf routing instance MAC-VRF-VLAN0012 extensive | no-more
<snip>
  Number of ethernet segments: 1
    ESI: 00:01:02:03:04:05:06:07:08:09
      Status: Resolved by IFL ae1.0
      Local interface: ae1.0, Status: Up/Forwarding
      Number of remote PEs connected: 1
        Remote-PE        MAC-label  Aliasing-label  Mode
        172.16.0.12      10012      10012           all-active
      DF Election Algorithm: Preference based
      Designated forwarder: 172.16.0.12, Preference: 150
      Backup forwarder: 172.16.0.13, Preference: 100
      Last designated forwarder update: Apr 14 00:09:05
  Router-ID: 172.16.0.13
  Source VTEP interface IP: 172.16.0.13
  SMET Forwarding: Disabled

leaf-02、leaf-03ともにDF(Designated forwarder)、Backup forwarderが選出されてますね。
ではvRouter間で通信できるかPingを飛ばします。

//vRouter-01
lab@vRouter-01# run ping 12.12.12.2
PING 12.12.12.2 (12.12.12.2): 56 data bytes
64 bytes from 12.12.12.2: icmp_seq=0 ttl=64 time=21.779 ms
64 bytes from 12.12.12.2: icmp_seq=1 ttl=64 time=4.719 ms
64 bytes from 12.12.12.2: icmp_seq=2 ttl=64 time=5.994 ms

無事にPingが飛びました!!

一応、パケットキャプチャーをして中身を見ます。

ちゃんとEthernet Frameがencapされてますね。

4. EVPN-VXLAN 経路切り替わり動作確認その1 (vRouter側 通信断)

では次にMultihomigの確認として、その2で行ったリンク障害が発生してもホスト間の通信は継続される動作を見たいと思います。
まず、leaf-02とvRouter-02間のリンクをダウンさせてみます。
リンクダウン契機でDFがleaf-2となり、vRouter間の通信が継続されるか確認します。
概要はこんな感じです。


ではleaf-02のge-0/0/6をdisableにします。show | compareで振り返らずcommitします。
(既にその2で確認したので最低限の確認をして、切り替わるかだけ見ます)

//leaf-02
[edit]
lab@leaf-02# set interfaces ge-0/0/6 disable

[edit]
lab@leaf-02# commit
commit complete

[edit]
lab@leaf-02# run show interfaces ge-0/0/6
Physical interface: ge-0/0/6, Administratively down, Physical link is Down
<snip>


では確認していきます。
まず、DF選出状況を確認します。

//leaf-02
lab@leaf-02# run show mac-vrf routing instance MAC-VRF-VLAN0012 extensive | no-more
<snip>
  Number of ethernet segments: 1
    ESI: 00:01:02:03:04:05:06:07:08:09
      Status: Resolved
      Local interface: ae1.0, Status: Down
      Number of remote PEs connected: 1
        Remote-PE        MAC-label  Aliasing-label  Mode
        172.16.0.13      10012      10012           all-active
      DF Election Algorithm: Preference based
      Designated forwarder: 172.16.0.13, Preference: 100
      Last designated forwarder update: Apr 16 23:43:34
  Router-ID: 172.16.0.12
  Source VTEP interface IP: 172.16.0.12
  SMET Forwarding: Disabled
//leaf-03
lab@leaf-03# run show mac-vrf routing instance MAC-VRF-VLAN0012 extensive | no-more
<snip>
  Number of ethernet segments: 1
    ESI: 00:01:02:03:04:05:06:07:08:09
      Status: Resolved by IFL ae1.0
      Local interface: ae1.0, Status: Up/Forwarding
      DF Election Algorithm: Preference based
      Designated forwarder: 172.16.0.13, Preference: 100
      Last designated forwarder update: Apr 16 23:43:34
  Router-ID: 172.16.0.13
  Source VTEP interface IP: 172.16.0.13
  SMET Forwarding: Disabled

leaf-02とleaf-03にて、leaf-03がDFに昇格されているのが確認できます。
また、leaf-02にてLocal InterfaceがDownとなっており、検知されているのが確認できます。

併せて、leaf-01でVTEPマッピング状況を確認します。

//leaf-01
lab@leaf-01# run show mac-vrf forwarding vxlan-tunnel-end-point remote
Logical System Name       Id  SVTEP-IP         IFL   L3-Idx    SVTEP-Mode    ELP-SVTEP-IP
<default>                 0   172.16.0.11      lo0.0    0
 RVTEP-IP         L2-RTT                   IFL-Idx   Interface    NH-Id   RVTEP-Mode  ELP-IP        Flags
 172.16.0.13      MAC-VRF-VLAN0012         345       vtep.32769   589     RNVE
    VNID          MC-Group-IP
    10012         0.0.0.0

リンクダウン契機にてマッピングされているVTEPがleaf-03のみになりました。
なので、leaf-01から通信する際はleaf-03のみの経路になります。
この間、vRouter-01とvRouter-02間でPingを飛ばしてましたが、timeoutはありませんでしたので、速やかに経路収束は行われてそうですね。

ちなみにspine-01のbgp.evpn.0テーブルを見るとleaf-02のEVPN Route情報はキレイに無くなってます。
(x:172.16.0.12:~の経路情報が全くない)

//spine-01
lab@spine-01# run show route table bgp.evpn.0 | match :172.16.0.1
1:172.16.0.13:0::010203040506070809::FFFF:FFFF/192 AD/ESI
1:172.16.0.13:1::010203040506070809::0/192 AD/EVI
2:172.16.0.11:1::0::50:01:00:03:00:01/304 MAC/IP
2:172.16.0.13:1::0::2c:6b:f5:c3:2e:c0/304 MAC/IP
2:172.16.0.11:1::0::50:01:00:03:00:01::12.12.12.1/304 MAC/IP
3:172.16.0.11:1::0::172.16.0.11/248 IM
3:172.16.0.13:1::0::172.16.0.13/248 IM
4:172.16.0.13:0::010203040506070809:172.16.0.13/296 ES

細かい動作確認は省略しますが、この後、leaf-02のge-0/0/6にてdisableを削除するとleaf-02がDFへ戻りました。

5. EVPN-VXLAN 経路切り替わり動作確認その2 (spine側 通信断)

最後にCore Isolation機能を確認します。機能の説明はその2に書いてあります。
今回はspine-01とleaf-02間でBGP Peer Down状態にして動作を確認したいと思います。
概要はこんな感じです。


ではleaf-02にて、Overlayでのspine-01とのPeerをdownします。show | compareで振り返らずcommitします。
(こちらも既にその2で確認したので最低限の確認をして、切り替わるかだけ見ます)

//leaf-02
[edit]
lab@leaf-02# deactivate protocols bgp group OVERLAY neighbor 172.16.0.1

[edit]
lab@leaf-02# commit
commit complete

[edit]
lab@leaf-02# run show bgp summary

Threading mode: BGP I/O
Default eBGP mode: advertise - accept, receive - accept
Groups: 2 Peers: 3 Down peers: 2
Table          Tot Paths  Act Paths Suppressed    History Damp State    Pending
inet.0
                       3          3          0          0          0          0
bgp.evpn.0
                       0          0          0          0          0          0
Peer                     AS      InPkt     OutPkt    OutQ   Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
10.1.1.2         4200000001         74         71       0       0       31:16 Establ
  inet.0: 3/3/3/0
//172.16.0.1のPeerがなくなっている。
//spine-01
lab@spine-01# run show bgp summary | grep 172.16.0.12
172.16.0.12      4200001002          0          0       0       1        2:04 Active

Peer down状態になりました。

では確認していきます。
まず、leaf-02とvRouter-02間のae1インターフェイス状態を確認します。

//leaf-02
lab@leaf-02# run show lacp interfaces ae1 extensive | no-more
Aggregated interface: ae1
    LACP state:       Role   Exp   Def  Dist  Col  Syn  Aggr  Timeout  Activity
      ge-0/0/6 CDN    Actor   No    No    No   No   No   Yes     Fast    Active
      ge-0/0/6 CDN  Partner   No    No    No   No  Yes   Yes     Fast    Active
    LACP protocol:        Receive State  Transmit State          Mux State
      ge-0/0/6                  Current   Fast periodic            Waiting
    LACP info:        Role     System             System       Port     Port    Port
                             priority         identifier   priority   number     key
      ge-0/0/6       Actor        127  00:00:00:00:00:12        127        1       2
      ge-0/0/6     Partner        127  2c:6b:f5:c3:2e:c0        127        1       2
//vRouter-02
lab@vRouter-02# run show lacp interfaces ae1 extensive | no-more
Aggregated interface: ae1
    LACP state:       Role   Exp   Def  Dist  Col  Syn  Aggr  Timeout  Activity
      ge-0/0/0       Actor    No    No    No   No  Yes   Yes     Fast    Active
      ge-0/0/0     Partner    No    No    No   No   No   Yes     Fast    Active
      ge-0/0/1       Actor    No    No   Yes  Yes  Yes   Yes     Fast    Active
      ge-0/0/1     Partner    No    No   Yes  Yes  Yes   Yes     Fast    Active
    LACP protocol:        Receive State  Transmit State          Mux State
      ge-0/0/0                  Current   Fast periodic           Attached
      ge-0/0/1                  Current   Fast periodic Collecting distributing
    LACP info:        Role     System             System       Port     Port    Port
                             priority         identifier   priority   number     key
      ge-0/0/0       Actor        127  2c:6b:f5:c3:2e:c0        127        1       2
      ge-0/0/0     Partner        127  00:00:00:00:00:12        127        1       2
      ge-0/0/1       Actor        127  2c:6b:f5:c3:2e:c0        127        2       2
      ge-0/0/1     Partner        127  00:00:00:00:00:12        127        1       2

leaf-02側のstateが「Waiting」となり、vRouter-02側のge-0/0/0のLAGがダウンしているのが確認できます。

続いてDF選出状況やVTEPマッピング状況を見ていきましょう。

//leaf-02
lab@leaf-02# run show mac-vrf routing instance MAC-VRF-VLAN0012 extensive | no-more
<snip>
  Number of ethernet segments: 1
    ESI: 00:01:02:03:04:05:06:07:08:09
      Status: Resolved
      Local interface: ae1.0, Status: Down
      DF Election Algorithm: Preference based
      Designated forwarder: DF not elected yet
      Last designated forwarder update: Apr 17 00:08:16
  Router-ID: 172.16.0.12
  Source VTEP interface IP: 172.16.0.12
  SMET Forwarding: Disabled
//leaf-03
lab@leaf-03# run show mac-vrf routing instance MAC-VRF-VLAN0012 extensive | no-more
<snip>
  Number of ethernet segments: 1
    ESI: 00:01:02:03:04:05:06:07:08:09
      Status: Resolved by IFL ae1.0
      Local interface: ae1.0, Status: Up/Forwarding
      DF Election Algorithm: Preference based
      Designated forwarder: 172.16.0.13, Preference: 100
      Last designated forwarder update: Apr 17 00:08:16
  Router-ID: 172.16.0.13
  Source VTEP interface IP: 172.16.0.13
  SMET Forwarding: Disabled
//leaf-01
lab@leaf-01# run show mac-vrf forwarding vxlan-tunnel-end-point remote
Logical System Name       Id  SVTEP-IP         IFL   L3-Idx    SVTEP-Mode    ELP-SVTEP-IP
<default>                 0   172.16.0.11      lo0.0    0
 RVTEP-IP         L2-RTT                   IFL-Idx   Interface    NH-Id   RVTEP-Mode  ELP-IP        Flags
 172.16.0.13      MAC-VRF-VLAN0012         345       vtep.32769   589     RNVE
    VNID          MC-Group-IP
    10012         0.0.0.0

spine-01から見てleaf-02がdownしているので、当然leaf-03がDFへ昇格しています。
また、leaf-01にてマッピングされているVTEPがleaf-03のみになりました。
この間、vRouter-01とvRouter-02間でPingを飛ばしてましたが、timeoutはありませんでした。いい感じに経路収束されてそうですね。

この場合も当然、spine-01のbgp.evpn.0テーブルにおいてleaf-02のEVPN Route情報はキレイに無くなってます。
(x:172.16.0.12:~の経路情報が全くない)

//spine-01
lab@spine-01# run show route table bgp.evpn.0 | match :172.16.0.1
1:172.16.0.13:0::010203040506070809::FFFF:FFFF/192 AD/ESI
1:172.16.0.13:1::010203040506070809::0/192 AD/EVI
2:172.16.0.11:1::0::50:01:00:03:00:01/304 MAC/IP
2:172.16.0.13:1::0::2c:6b:f5:c3:2e:c0/304 MAC/IP
2:172.16.0.11:1::0::50:01:00:03:00:01::12.12.12.1/304 MAC/IP
3:172.16.0.11:1::0::172.16.0.11/248 IM
3:172.16.0.13:1::0::172.16.0.13/248 IM
4:172.16.0.13:0::010203040506070809:172.16.0.13/296 ES

細かい動作確認は省略しますが、この後、BGP Peer設定をactivateするとleaf-02がDFへ戻りました。

という訳で長くなりましたが、MAC-VRF形式設定で問題なく動きました!今回は以上になります!!
ここまでお読みいただき、ありがとうございました!!!

6. 参考資料

書籍「Deploying Juniper Data Centers with EVPN VXLAN」
Juniper Networks Documentation - EVPN User Guide - MAC-VRF Routing Instance Type Overview
www.juniper.net




以上の内容はhttps://yokohama539.hatenablog.com/entry/2025/04/17/004117より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14