コンテンツにスキップ

06. EVPN VPLS

6.1 CE向けインタフェースの設定

ゴール

PEルータにCE向けインタフェースの設定を行うこと

今回のEVPN-VPLSシナリオでは、下記のように全てのPE-CE間がシングルホーミング構成であることを想定します。

まず、全てのPEルータ(C8102-1〜C8102-3)のCE(Windows or Ubuntu)向けインタフェースの設定を下記のように行います。

interface HundredGigE0/0/0/2
 l2transport
 !
!

6.2 ブリッジドメイン設定

ゴール

PEルータ(C8102-1〜C8102-3)にてブリッジドメインの設定を行うこと

全てのPEルータ(C8102-1〜C8102-3)に下記設定を行います。

l2vpn
 bridge group BRIDGE
  bridge-domain BRIDGE_evi_100
   interface HundredGigE0/0/0/2
   !
   evi 100
   !

ブリッジドメインのstateが上がっていることを確認します。(C8102-1 ~ C8102-3)

RP/0/RP0/CPU0:c8102-1#show l2vpn bridge-domain bd-name BRIDGE_evi_100 
Thu Dec 25 01:38:07.771 UTC
Legend: pp = Partially Programmed.
Bridge group: BRIDGE, bridge-domain: BRIDGE_evi_100, id: 0, state: up, ShgId: 0, MSTi: 0
  Aging: 300 s, MAC limit: 131072, Action: none, Notification: syslog
  Filter MAC addresses: 0
  ACs: 1 (1 up), VFIs: 0, PWs: 0 (0 up), PBBs: 0 (0 up), VNIs: 0 (0 up)
  List of EVPNs:
    EVPN, state: up
  List of ACs:
    Hu0/0/0/2, state: up, Static MAC addresses: 0, MSTi: 5
  List of Access PWs:
  List of VFIs:
  List of Access VFIs:
RP/0/RP0/CPU0:c8102-1#

6.3 MP-BGP 設定

ゴール

リモートPE間での BGP セッションの確立を確認すること

先ほどのVPWSとコントロールプレーン設定は共通となります。evpn-vpws ですでに設定済みのため、追加の設定は不要です。

PE ルータにてBGP 設定(C8102-1 ~ C8102-3)を確認します。

RP/0/RP0/CPU0:c8102-1#show run router bgp
Tue Jan  6 01:56:45.996 UTC
router bgp 65000
 bgp router-id 1.1.1.1
 address-family l2vpn evpn
 !
 neighbor-group PEs
  remote-as 65000
  update-source Loopback0
  address-family l2vpn evpn
  !
 !
 neighbor 2.2.2.2
  use neighbor-group PEs
 !
 neighbor 3.3.3.3
  use neighbor-group PEs
 !
!

RP/0/RP0/CPU0:c8102-1#

PE間でBGPが上がっていることを確認します。(C8102-1 ~ C8102-3)

RP/0/RP0/CPU0:c8102-1#show bgp l2vpn evpn neighbors brief
Wed Dec 24 08:08:32.313 UTC

Neighbor         Spk    AS  Description                         Up/Down  NBRState
2.2.2.2           0 65000                                      00:00:32 Established 
3.3.3.3           0 65000                                      00:00:11 Established 
RP/0/RP0/CPU0:c8102-1#

EVIの詳細を確認します。(C8102-1 ~ C8102-3)

Unicast/Multicast Labelを確認できます。また、今回はRDとRTは明示的に設定していないため、下記のパラメータが選択されていることがわかります。

  • EVI BGP RD - $ROUTER-ID:$EVI
  • EVI BGP RT - $AS:$EVI

Advertise MACを現在設定していないため、Noになっています。

RP/0/RP0/CPU0:c8102-1#show evpn evi vpn-id 100 detail
Thu Dec 25 01:45:15.986 UTC

VPN-ID     Encap      Bridge Domain                Type               
---------- ---------- ---------------------------- -------------------
100        MPLS       BRIDGE_evi_100               EVPN               
   Stitching: Regular
   Unicast Label  : 24003
   Multicast Label: 24004
   Reroute Label: 0
   Flow Label: N
   Dynamic Flow Label: No
   Control-Word: Enabled
   E-Tree: Root
   Forward-class: 0
   Advertise MACs: No
   Advertise BVI MACs: No
   Aliasing: Enabled
   UUF: Enabled
   Re-origination: Enabled
   Multicast:
     IGMP-Snooping Proxy: No
     MLD-Snooping Proxy : No
   BGP Implicit Import: Enabled
   VRF Name: 
   Preferred Nexthop Mode: Off
   BVI Coupled Mode: No
   BVI Subnet Withheld: ipv4 No, ipv6 No
   L3VRF Label Mode: Per-VRF
   RD Config: none
   RD Auto  : (auto) 1.1.1.1:100
   RT Auto  : 65000:100
   Route Targets in Use           Type                 
   ------------------------------ ---------------------
   65000:100                      Import               
   65000:100                      Export               

RP/0/RP0/CPU0:c8102-1#

LFIBテーブルにもUnicast/Multicast Labelが存在していることを確認します。

(C8102-1 ~ C8102-3)

RP/0/RP0/CPU0:c8102-1#show mpls forwarding 
Thu Dec 25 01:40:44.852 UTC
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
16002  16002       SR Pfx (idx 2)     Hu0/0/0/0    10.14.0.4       435470      
16003  16003       SR Pfx (idx 3)     Hu0/0/0/1    10.15.0.5       22886       
16004  Pop         SR Pfx (idx 4)     Hu0/0/0/0    10.14.0.4       0           
16005  Pop         SR Pfx (idx 5)     Hu0/0/0/1    10.15.0.5       0           
24000  Pop         SR Adj (idx 0)     Hu0/0/0/0    10.14.0.4       0           
24001  Pop         SR Adj (idx 0)     Hu0/0/0/1    10.15.0.5       0           
24003  Pop         EVPN:100 U         BD=0 E       point2point     0           
24004  Pop         EVPN:100 M         BD=0 EIM     point2point     0           
RP/0/RP0/CPU0:c8102-1#

しかし、EVPNによるMAC アドバタイズメントを有効にしていないため、下記のようにMAC学習がされていないことがわかります。

RP/0/RP0/CPU0:c8102-1#show evpn evi mac
Thu Dec 25 01:52:41.944 UTC

VPN-ID     Encap      MAC address    IP address                               Nexthop                                 Label   
---------- ---------- -------------- ---------------------------------------- --------------------------------------- --------
RP/0/RP0/CPU0:c8102-1#

6.4 MAC Advertisement設定

ゴール

MACアドバタイズメントを有効にし、相互にMAC学習をすること

PE ルータにてMACアドバタイズメントを有効化(C8102-1 ~ C8102-3)

evpn
 evi 100
  advertise-mac
  !
 !
!

この設定により、RT-2のMAC advertisementのやりとりが開始され、学習したローカルおよびリモートの MAC アドレス及び対応するラベルの確認ができるようになります。

RP/0/RP0/CPU0:c8102-1#show evpn evi mac
Tue Jan  6 05:27:41.011 UTC

VPN-ID     Encap      MAC address    IP address     Nexthop                 Label   
---------- ---------- -------------- -------------- ----------------------- --------
100        MPLS       0050.56b2.962a ::             2.2.2.2                 24003   
100        MPLS       0050.56b2.b9ca ::             HundredGigE0/0/0/2      24003   
100        MPLS       0050.56b2.ca86 ::             3.3.3.3                 24003   
RP/0/RP0/CPU0:c8102-1#

PE間でやりとりされるBGP EVPNルートは ” show bgp l2vpn evpn” コマンドで確認できます。(オプション)

RP/0/RP0/CPU0:c8102-1#show bgp l2vpn evpn
Thu Dec 25 02:16:11.101 UTC
BGP router identifier 1.1.1.1, local AS number 65000
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0x0
BGP table nexthop route policy: 
BGP main routing table version 16
BGP NSR Initial initsync version 1 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best
              i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network            Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 1.1.1.1:100 (default for vrf BRIDGE_evi_100)
Route Distinguisher Version: 16
*>i[2][0][48][0050.56aa.7173][0]/104
                      3.3.3.3                       100      0 i
*>i[2][0][48][0050.56aa.91c5][0]/104
                      2.2.2.2                       100      0 i
*> [2][0][48][0050.56aa.ba57][0]/104
                      0.0.0.0                                0 i
*>i[2][0][48][3e0a.9933.6ea1][0]/104
                      2.2.2.2                       100      0 i
*>i[2][0][48][aa5e.2697.43aa][0]/104
                      3.3.3.3                       100      0 i
*> [2][0][48][ae29.15e2.d0f6][0]/104
                      0.0.0.0                                0 i
*> [3][0][32][1.1.1.1]/80
                      0.0.0.0                                0 i
*>i[3][0][32][2.2.2.2]/80
                      2.2.2.2                       100      0 i
*>i[3][0][32][3.3.3.3]/80
                      3.3.3.3                       100      0 i
Route Distinguisher: 2.2.2.2:100
Route Distinguisher Version: 13
*>i[2][0][48][0050.56aa.91c5][0]/104
                      2.2.2.2                       100      0 i
*>i[2][0][48][3e0a.9933.6ea1][0]/104
                      2.2.2.2                       100      0 i
*>i[3][0][32][2.2.2.2]/80
                      2.2.2.2                       100      0 i
Route Distinguisher: 3.3.3.3:100
Route Distinguisher Version: 15
*>i[2][0][48][0050.56aa.7173][0]/104
                      3.3.3.3                       100      0 i
*>i[2][0][48][aa5e.2697.43aa][0]/104
                      3.3.3.3                       100      0 i
*>i[3][0][32][3.3.3.3]/80
                      3.3.3.3                       100      0 i

Processed 15 prefixes, 15 paths
RP/0/RP0/CPU0:c8102-1#

下記のように、RT-2 アドバタイズメントの詳細を確認することもできます。MACアドレス0050.56aa.7173はC8102-3(3.3.3.3)から受け取っており、Unicast Label 24003で転送されることがわかります。(オプション)

RP/0/RP0/CPU0:c8102-1#show bgp l2vpn evpn rd 3.3.3.3:100 [2][0][48][0050.56aa.7173][0]/104
Thu Dec 25 02:20:00.634 UTC
BGP routing table entry for [2][0][48][0050.56aa.7173][0]/104, Route Distinguisher: 3.3.3.3:100
Versions:
  Process           bRIB/RIB   SendTblVer
  Speaker                 11           11
Last Modified: Dec 25 01:56:52.198 for 00:23:08
Paths: (1 available, best #1)
  Not advertised to any peer
  Path #1: Received by speaker 0
  Not advertised to any peer
  Local
    3.3.3.3 (metric 3) from 3.3.3.3 (3.3.3.3)
      Received Label 24003 
      Origin IGP, localpref 100, valid, internal, best, group-best, import-candidate, not-in-vrf
      Received Path ID 0, Local Path ID 1, version 11
      Extended community: Flags 0x10: SoO:3.3.3.3:100 RT:65000:100 
      EVPN ESI: 0000.0000.0000.0000.0000
RP/0/RP0/CPU0:c8102-1#

また、RT-3でやりとりされるBUMトラフィック用のラベル 24004が確認できます。

RP/0/RP0/CPU0:c8102-1#show bgp l2vpn evpn rd 1.1.1.1:100 [3][0][32][3.3.3.3]/80
Thu Dec 25 03:37:51.754 UTC
BGP routing table entry for [3][0][32][3.3.3.3]/80, Route Distinguisher: 1.1.1.1:100
Versions:
  Process           bRIB/RIB   SendTblVer
  Speaker                  6            6
Last Modified: Dec 25 01:45:43.198 for 01:52:08
Paths: (1 available, best #1)
  Not advertised to any peer
  Path #1: Received by speaker 0
  Not advertised to any peer
  Local
    3.3.3.3 (metric 3) from 3.3.3.3 (3.3.3.3)
      Origin IGP, localpref 100, valid, internal, best, group-best, import-candidate, imported
      Received Path ID 0, Local Path ID 1, version 6
      Extended community: EVPN L2 ATTRS:0x04:0 RT:65000:100 
      PMSI: flags 0x00, type 6, label 24004, ID 0x03030303
      Source AFI: L2VPN EVPN, Source VRF: default, Source Route Distinguisher: 3.3.3.3:100
RP/0/RP0/CPU0:c8102-1#

6.5 疎通確認

ゴール

WindowsとUbuntu間で相互に疎通確認を行うこと

UbuntuからWindows(198.18.10.100)へのPing確認

WindowsからUbuntu(198.18.10.127, 198.18.10.227)へのPing確認

WindowsからUbuntu(198.18.10.127, 198.18.10.227)へのSSH

6.6 パケットキャプチャ

ゴール

EVPN VPLSのラベル転送の動作を確認すること

WindowsからUbuntu(198.18.10.127)へ継続的にPingを実施

CML にて、C8102-1とC8102-4の間のリンクを右クリックし、Packet Captureを選択します。Start をクリックするとパケットキャプチャを開始します。Stop で停止します。

Source: 198.18.10.100, Destination: 198.18.10.127, Protocol: ICMP のパケットをクリックすると、詳細が表示されます。C8201-1からC8201-4へLabel: 24003 と 16002 が付与された上で転送されていることがわかります。

次に、C8201-4からC8201-2間のリンクを右クリックし、Packet Captureを選択します。Start でパケットキャプチャを開始し、Source: 198.18.10.100, Destination: 198.18.10.127, Protocol: ICMP のパケットをクリックします。PHPがデフォルトで有効になっているため、宛先の一つ手前でTransport Label (16002) が外されて、C8201-4からC8201-2へ転送されていることがわかります。

また、例えば、C8201-5からC8201-3間のリンクをパケットキャプチャしてみると、このリンクには198.18.10.127宛のトラフィックは流れないことがわかります。

Ctrl+CでPingを止めます。

ここで、BUMパケットがどのように転送されるのかを見てみます。存在しないIPアドレス(198.18.10.27)宛にWindowsからPingを行います。

CML にて、C8102-1とC8102-4の間のリンクを右クリックし、Packet Captureを選択します。Start をクリックするとパケットキャプチャを開始します。Stop で停止します。

Protocol: ARP、Info: Who has 198.18.10.27? Tell 198.18.10.100のパケットをクリックすると、詳細が表示されます。C8201-1からC8201-4へMulticast Label: 24004と Transport Label (C8102-2のNode SID) 16002 が付与された上で転送されていることがわかります。

同様に、CML にて、C8102-1とC8102-5の間のリンクをキャプチャし、Protocol: ARP、Info: Who has 198.18.10.27? Tell 198.18.10.100のパケットをクリックすると、C8201-1からC8201-5へMulticast Label: 24004と Transport Label (C8102-3のNode SID) 16003 が付与された上で転送されていることがわかります。

Ctrl+CでPingを止めます。

6.7 VPLS 設定の削除

ゴール

VPWS設定を削除すること

全てのPEにてCE向けインタフェース、EVPN設定を削除します(C8102-1 ~ C8102-3)

no interface HundredGigE0/0/0/2
no evpn
no l2vpn
no router bgp

EVPN-VPLSのシナリオは以上です。