キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
1245
閲覧回数
0
いいね!
0
コメント
takasano
Cisco Employee
Cisco Employee

はじめに

このドキュメントでは、Cisco Nexus VXLAN での VXLAN Static Tunnels の簡単な解説と基本的な使用方法を解説します。
また、ここで使用するスイッチは特別断りが無い限り、Leaf01、Leaf02 には Cisco Nexus C93180YC-FX スイッチを、Leaf03 及び には Cisco Nexus C9336C-FX2 スイッチを、Spine には Cisco Nexus N9K-C92160YC-X 
用いています。
全ての Leaf は NX-OS 10.1(1)です。
Spineは NX-OS 9.3(6) です。

VXLAN については「Cisco Nexus シリーズ : VXLAN EVPN 基本設定」を確認してください。

 

VXLAN Static Tunnels について

VXLAN Static Tunnels を利用することで静的な VXLAN Tunnel を介して VTEP に接続することが出来ます。
この際に BGP EVPN などのコントロールプレーンプロトコルを使用する必要はありません。
このため、VTEP 間のスイッチ (例えば Spine など) で BGP を使うことが出来なくとも、疎通性があれば通信を行うことが出来ます。
本稿では Spine に Nexus を用いていますが、別の製品でも要件を満たせば問題は特にありません。
また、通信相手の VTEP は RFC 7348 に準拠しているデバイスであれば、どれでもかまいません。ただし、その機器に適切な VXLAN の設定と適切な経路情報を設定する必要があります。

 

注意点

以降の注意点は 2021年03月08日現在のものです。
本機能を使用するには NX-OS 9.3(3) 以降が必要です。
Cisco Nexus 9332C、9364C,、9300-EX、及び 9300-FX/FX2/FX3、9300-GX と 9300-FX3 プラットフォーム スイッチでサポートされています。
Cisco Nexus 9300-FX3 プラットフォーム スイッチでは NX-OS 10.1(1) 以降が必要です。
Underlay には OSPFv2、BGP、IS-IS あるいは IPv4 が利用できます。
Equal Cost Multi Path (ECMP) はサポートしていません。
Flood and Learn あるいは BGP EVPN ファブリックと同じファブリックでは設定出来ません。
Overlay では IPv4 をサポートしています。
その他の制約や注意事項については「Cisco Nexus 9000 Series NX-OS VXLAN Configuration Guide, Release 10.1(x)」の「Configuring VXLAN」の章にある「Guidelines and Limitations for VXLAN Static Tunnels」を確認してください。

 

使用するトポロジー

Topology図.png

このトポロジーでは Leaf01 と Leaf02 は VLAN 100を、Leaf03 は VLAN 100 と VLAN 200 を持っていて、各Leafで VLAN100 は L3VNI として機能しています。
Leaf01 と Leaf02 ではホストに繋がっている Interface がデフォルトゲートウェイとしての役割を持っています。
一方、Leaf03 では VLAN Interface がデフォルトゲートウェイとして機能します。
各 L3SW はそれぞれ別のネットワークにいますが、Leaf の L3VNI を介してそれぞれ通信を行うことが出来ます。
Spine は OSPF で経路をそれぞれの Leaf に広報し、疎通性を提供する意外に特に役割はありません。

 

設定方法

Step1, Underlay Network の設定

VTEP 間に疎通性を持たせるための Underlay Network の構築を行います。
ルーティングプロトコルとして OSPF を使用します。

なお、ここで Spine は OSPF で疎通性を提供するためのみに使用していて、BGPの設定などは一切行いません。
このため、下記の Config を各スイッチに投入しました。

Spine:

feature ospf

interface Ethernet1/3
  mtu 9216
  ip address 10.0.1.1/30
  ip ospf network point-to-point
  ip router ospf 100 area 0.0.0.0
  no shutdown

interface Ethernet1/4
  mtu 9216
  ip address 10.0.2.1/30
  ip ospf network point-to-point
  ip router ospf 100 area 0.0.0.0
  no shutdown

interface Ethernet1/53
  mtu 9216
  ip address 10.0.3.1/30
  ip ospf network point-to-point
  ip router ospf 100 area 0.0.0.0
  no shutdown

router ospf 100
  router-id 10.10.10.10

 

Leaf01:

feature ospf

interface Ethernet1/4
  mtu 9216
  ip address 10.0.1.2/30
  ip ospf network point-to-point
  ip router ospf 100 area 0.0.0.0
  no shutdown

interface loopback0
  ip address 1.1.1.1/32
  ip router ospf 100 area 0.0.0.0

router ospf 100
  router-id 1.1.1.1

  

Leaf02:

feature ospf

interface Ethernet1/4
  mtu 9216
  ip address 10.0.2.2/30
  ip ospf network point-to-point
  ip router ospf 100 area 0.0.0.0
  no shutdown

interface loopback0
  ip address 2.2.2.2/32
  ip router ospf 100 area 0.0.0.0

router ospf 100
  router-id 2.2.2.2

 

Leaf03:

feature ospf

interface Ethernet1/36
  mtu 9216
  ip address 10.0.3.2/30
  ip ospf network point-to-point
  ip router ospf 100 area 0.0.0.0
  no shutdown

interface loopback0
  ip address 3.3.3.3/32
  ip router ospf 100 area 0.0.0.0

router ospf 100
  router-id 3.3.3.3

OSPF のネイバーを確立出来ているか調べるために Spine で "show ip ospf neighbors" を実行しました。
以下がその結果となります。

Spine# show ip ospf neighbors
 OSPF Process ID 100 VRF default
 Total number of neighbors: 3
 Neighbor ID     Pri State            Up Time  Address         Interface
 1.1.1.1           1 FULL/ -          02:14:27 10.0.1.2        Eth1/3
 2.2.2.2           1 FULL/ -          02:15:21 10.0.2.2        Eth1/4
 3.3.3.3           1 FULL/ -          02:12:11 10.0.3.2        Eth1/53

このように全ての Leaf とネイバー関係を確立しています。

 

Step2, VNI と Tunnel-Profile、ホスト向け Interface の設定

ここでは各ネットワーク間の通信を行うための L3VNI の設定と Tunnel を確立するための設定を行います。
Tunnel を設定するためには "feature ofm" コマンドで Overlay Flow/policy Manager を有効にする必要があります。
Overlay Flow/policy Manager は下記のコマンドで有効化及び無効化できます。

switch(config)# [no] feature ofm


下記コマンドで "config-tnl-profile" モードに入り、Tunnel-Profile の設定を有効化及び無効化できます。

switch(config)# [no] tunnel-profile <tunnel-profile name>

"config-tnl-profile" モードでは下記コマンドでカプセル化タイプの指定を有効化及び無効化できます。
本稿では "vxlan" を指定して VXLAN によるカプセル化を行います。

switch(config-tnl-profile)# [no] encapsulation {VXLAN | VXLAN-GPE | SRv6}

"config-tnl-profile" モードでは下記コマンドでカプセル化されたパケットを送出する Loopback Interface の指定を有効化及び無効化できます。

switch(config-tnl-profile)# [no] source-interface loopback <virtual-interface-number>

最後に"config-tnl-profile" モードでは下記コマンドでカプセル化されたパケットを宛先に応じて転送するためのルートの指定を有効化及び無効化できます。
なお、各パラメータは下記の要領で指定してください。
<tenant-vrf> には Overlay で使用している VRF 名を指定してください。本稿では "vxlan-static" です。
<destination-host-prefix> には Overlay で使用している宛先のネットワークアドレスを指定してください。
<destination-vtep-ip-address> にはその宛先ネットワークが接続されている VTEP のアドレスを指定してください。
<destination-vtep-vrf> には VXLAN パケットを転送する Underlay の VRF 名を指定してください。本稿では "default" です。
<vni-number> には L3VNI の VNID を指定してください。本稿では 10100 です。
<destination-vtep-mac-address> には宛先の VTEP の VDC MAC Address を指定する必要があり、これについては次で解説します。

switch(config-tnl-profile)# [no] route vrf <tenant-vrf> <destination-host-prefix> <destination-vtep-ip-address> next-hop-vrf <destination-vtep-vrf> vni <vni-number> dest-vtep-mac <destination-vtep-mac-address>

宛先の VTEP の VDC MAC Address は"show vdc" コマンドで取得します。
下記は Leaf01 と Leaf02、Leaf03 での実行例です。

Leaf01# show vdc

vdc_id  vdc_name                          state               mac                 type        lc
------  --------                          -----               ----------          ---------   ------
1       Leaf01                            active              10:b3:d6:8e:07:67   Ethernet    None

Leaf02# show vdc

vdc_id  vdc_name                          state               mac                 type        lc
------  --------                          -----               ----------          ---------   ------
1       Leaf02                            active              00:3a:9c:a3:0e:47   Ethernet    None

Leaf03# show vdc

vdc_id  vdc_name                          state               mac                 type        lc
------  --------                          -----               ----------          ---------   ------
1       Leaf03                            active              a4:53:0e:eb:02:db   Ethernet    None

以上を踏まえて設定を行っていきます。
Loopback 0 を Tunnel で用いる VXLAN パケットを送受信するための Interface として利用します。
VLAN100 を各 Leaf で L3VNI として用いるため、この VLAN100 にはローカルホストが存在せず、IP アドレスを持たない状態でパケットを転送するために "ip forward" コマンドを投入しています。
また、VXLAN の Overlay 用の VRF である "vxlan-static" を各 Leaf で作成します。
Leaf01 と Leaf02 では L3SW との接続に L3 ポート を用いますが、Leaf03 では Access ポートを利用します。
加えて Leaf03 では "feature fabric forwarding" を有効にすることで、VLAN Interface で任意の MAC Address を持つ Anycast Gateway を設定出来るようになっています。

Leaf01:

feature interface-vlan
feature vn-segment-vlan-based
feature ofm

tunnel-profile static-vxlan
  encapsulation vxlan
  source-interface loopback0
  route vrf vxlan-static 192.168.2.0/24 2.2.2.2 next-hop-vrf default vni 10100 dest-vtep-mac 003a.9ca3.0e47
  route vrf vxlan-static 192.168.3.0/24 3.3.3.3 next-hop-vrf default vni 10100 dest-vtep-mac a453.0eeb.02db

vlan 1,100
vlan 100
  vn-segment 10100

vrf context vxlan-static
  vni 10100

interface Vlan100
  no shutdown
  vrf member vxlan-static
  ip forward

interface Ethernet1/54
  vrf member vxlan-static
  ip address 192.168.1.254/24
  no shutdown

 

Leaf02:

feature interface-vlan
feature vn-segment-vlan-based
feature ofm

tunnel-profile static-vxlan
  encapsulation vxlan
  source-interface loopback0
  route vrf vxlan-static 192.168.1.0/24 1.1.1.1 next-hop-vrf default vni 10100 dest-vtep-mac 10b3.d68e.0767
  route vrf vxlan-static 192.168.3.0/24 3.3.3.3 next-hop-vrf default vni 10100 dest-vtep-mac a453.0eeb.02db

vlan 1,100
vlan 100
  vn-segment 10100

vrf context vxlan-static
  vni 10100


interface Vlan100
  no shutdown
  vrf member vxlan-static
  ip forward

interface Ethernet1/54
  vrf member vxlan-static
  ip address 192.168.2.254/24
  no shutdown

 

Leaf03:

feature fabric forwarding
feature interface-vlan
feature vn-segment-vlan-based
feature ofm

tunnel-profile static-vxlan
  encapsulation vxlan
  source-interface loopback0
  route vrf vxlan-static 192.168.1.0/24 1.1.1.1 next-hop-vrf default vni 10100 dest-vtep-mac 10b3.d68e.0767
  route vrf vxlan-static 192.168.2.0/24 2.2.2.2 next-hop-vrf default vni 10100 dest-vtep-mac 003a.9ca3.0e47

fabric forwarding anycast-gateway-mac 2020.0000.00aa
vlan 1,100,200
vlan 100
  vn-segment 10100

vrf context vxlan-static
  vni 10100

interface Vlan100
  no shutdown
  vrf member vxlan-static
  ip forward

interface Vlan200
  no shutdown
  vrf member vxlan-static
  ip address 192.168.3.254/24
  fabric forwarding mode anycast-gateway

interface Ethernet1/1
  switchport
  switchport access vlan 200
  no shutdown

以上で設定は完了です。

ここでルーティングテーブルに設定した Static Tunnels のルートが載っているかを調べます。
結果は下記のようになりました。

Leaf01# show ip route vrf vxlan-static
IP Route Table for VRF "vxlan-static"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>

192.168.1.0/24, ubest/mbest: 1/0, attached
    *via 192.168.1.254, Eth1/54, [0/0], 00:13:49, direct
192.168.1.254/32, ubest/mbest: 1/0, attached
    *via 192.168.1.254, Eth1/54, [0/0], 00:13:49, local
192.168.2.0/24, ubest/mbest: 1/0
    *via 2.2.2.2%default, [2/0], 00:06:14, ofm, ofm, segid: 10100, sourceid: 1660944385 tunnelid: 0x2020202 encap: VXLAN

192.168.3.0/24, ubest/mbest: 1/0
    *via 3.3.3.3%default, [2/0], 00:04:52, ofm, ofm, segid: 10100, sourceid: 1660944385 tunnelid: 0x3030303 encap: VXLAN

Leaf02# show ip route vrf vxlan-static
IP Route Table for VRF "vxlan-static"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>

192.168.1.0/24, ubest/mbest: 1/0
    *via 1.1.1.1%default, [2/0], 00:05:50, ofm, ofm, segid: 10100, sourceid: 1660944385 tunnelid: 0x1010101 encap: VXLAN

192.168.2.0/24, ubest/mbest: 1/0, attached
    *via 192.168.2.254, Eth1/54, [0/0], 00:16:37, direct
192.168.2.254/32, ubest/mbest: 1/0, attached
    *via 192.168.2.254, Eth1/54, [0/0], 00:16:37, local
192.168.3.0/24, ubest/mbest: 1/0
    *via 3.3.3.3%default, [2/0], 00:04:44, ofm, ofm, segid: 10100, sourceid: 1660944385 tunnelid: 0x3030303 encap: VXLAN

Leaf03# show ip route vrf vxlan-static
IP Route Table for VRF "vxlan-static"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>

192.168.1.0/24, ubest/mbest: 1/0
    *via 1.1.1.1%default, [2/0], 00:03:49, ofm, ofm, segid: 10100, sourceid: 1660944385 tunnelid: 0x1010101 encap: VXLAN

192.168.2.0/24, ubest/mbest: 1/0
    *via 2.2.2.2%default, [2/0], 00:03:49, ofm, ofm, segid: 10100, sourceid: 1660944385 tunnelid: 0x2020202 encap: VXLAN

192.168.3.0/24, ubest/mbest: 1/0, attached
    *via 192.168.3.254, Vlan200, [0/0], 00:16:21, direct
192.168.3.1/32, ubest/mbest: 1/0, attached
    *via 192.168.3.1, Vlan200, [190/0], 00:16:20, hmm
192.168.3.254/32, ubest/mbest: 1/0, attached
    *via 192.168.3.254, Vlan200, [0/0], 00:16:21, local

確かにルートが載っています。
実際に VXLAN を通して通信が出来るかどうかを調べるため、L3SW01 - L3SW02、L3SW02 - L3SW03、L3SW03 - L3SW01 の3パターンで ping が成功するかどうかを調べます。
結果は下記のようになりました。

L3SW01# ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1): 56 data bytes
64 bytes from 192.168.2.1: icmp_seq=0 ttl=252 time=0.804 ms
64 bytes from 192.168.2.1: icmp_seq=1 ttl=252 time=0.669 ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=252 time=0.52 ms
64 bytes from 192.168.2.1: icmp_seq=3 ttl=252 time=0.494 ms
64 bytes from 192.168.2.1: icmp_seq=4 ttl=252 time=0.5 ms

--- 192.168.2.1 ping statistics ---
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max = 0.494/0.597/0.804 ms

L3SW02# ping 192.168.3.1
PING 192.168.3.1 (192.168.3.1): 56 data bytes
64 bytes from 192.168.3.1: icmp_seq=0 ttl=252 time=0.733 ms
64 bytes from 192.168.3.1: icmp_seq=1 ttl=252 time=0.494 ms
64 bytes from 192.168.3.1: icmp_seq=2 ttl=252 time=0.513 ms
64 bytes from 192.168.3.1: icmp_seq=3 ttl=252 time=0.5 ms
64 bytes from 192.168.3.1: icmp_seq=4 ttl=252 time=0.53 ms

--- 192.168.3.1 ping statistics ---
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max = 0.494/0.554/0.733 ms

L3SW03# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=252 time=0.794 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=252 time=0.547 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=252 time=0.514 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=252 time=0.581 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=252 time=0.544 ms

--- 192.168.1.1 ping statistics ---
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max = 0.514/0.595/0.794 ms

全て成功しました。
確かに VXLAN を通して通信を行うことが出来ています。

以上で本稿は終了です。

関連コンテンツ

Nexus スイッチ (NX-OS) : 設定例
Cisco Nexus シリーズ : VXLAN EVPN 基本設定
Cisco Nexus シリーズ : VXLAN EVPN L3VNI 基本設定

 

参考情報

Chapter: Configuring VXLAN: Configuring VXLAN Static Tunnels 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします