【Nexus】NDFC(Nexus Dashboard Fabric Controller)使ってみます – Part 4  仮想L2ネットワーク作成

これまでの記事の中でファブリックの生成、アンダーレイの設定まで完了しましたので、ここからはオーバレイの設定と疎通確認までしたいと思います。

ここでは仮想L2ネットワークを作って疎通確認を行います。仮想ネットワーク用途にVNIの設定、それらのVNIとVLANを紐づけ、あとはダウンリンクポートへVLANの設定を行います。

自動化の際に生成されるVXLAN EVPNのコンフィグレーションも貼り付けますので、自動生成される模範的コンフィグも見ていきたいと思います。

今回のベースとなるファブリックの物理構成、アンダーレイ構成は以下の通りです。

管理ネットワーク
アンダーレイネットワーク
バージョン情報
Nexus Dashboard: 2.3.1c
NDFC: 12.1.1e
N9000v: 9.3.7

仮想L2ネットワークの作成と疎通確認

ここで作成する仮想L2ネットワークと物理ポートの関係は以下の通りです。この構成に沿って設定をしていきます。

ダウンリンクポートをアクセスポートに設定

N9Kvの場合、各ポートがデフォルトrouted portになっているのでアクセスポートに変更します。

LAN interfacesに移動します。そこから対象とするE1/7のダウンリンクを選択したいのですが、入力ボックスでInterface == Ethernet1/7 とフィルタすることで、ターゲットのIFを絞ることが可能です。そしてリーフスイッチとなるNXOS2, NXOS3を選択して、ActionsからEditを選択します。

Policyで int_access_host を選択してアクセスポートに変更します。変更後に画面右下にあるボタンからSaveをしてDeployに移りましょう。

Deployではアクセスポートに変更で必要なコンフィグを生成してデプロイをしてくれます。ここで生成されたコンフィグを参考までに掲載します。

##
## Port Change - e1/7 Access Port on NXOS2,NXOS3
##

interface ethernet1/7
  no spanning-tree port type edge trunk
  no switchport trunk allowed vlan none
  no switchport mode trunk
interface ethernet1/7
  switchport
  switchport mode access
  mtu 9216
  spanning-tree bpduguard enable
  spanning-tree port type edge
  no shutdown
configure terminal

デプロイ後に変更が反映されました。

L2VNIの設定

仮想L2ネットワークのためのオーバレイネットワーク設定を行っていきます。

オーバレイネットワークやその他の設定も含めて色々な設定方法があるのですが、今回はトポロジ画面から設定していきたいと思います。

以下のトポロジ画面から、右のNetworks (0)をダブルクリックします。

この状態で仮想L2ネットワークの状態表示や設定を行うことが可能です。では仮想L2ネットワークを作成するために、右上のActionsからCreate Networkを選択します。

ここではNDFC上で仮想ネットワークをNetwork Nameを設定します。以下の画面にあるMyNetowrk_30000はデフォルト名となり、今回はそのまま利用します。Layer 2 Onlyチェックをすることで、仮想L3ネットワーク関連の項目がグレーアウトします。

そしてNetwork IDにVNIの設定と、VLAN IDにダウンリンクポートに設定するVLAN IDを入力します。VLANはPropose VLANを押すことでプールから払い出すこともできますし、自身でアサインすることも可能です。

これで仮想L2ネットワーク MyNetwor_30000が作成されました。仮想的なL2スイッチを作ったイメージです。以下のような画面となります。ここでNETアイコンをダブルクリックしましょう。

このトポロジでは仮想L2NetworkとなるMyNetwork_30000を物理スイッチに適用していくことができます。

適用対象のスイッチを選択する必要があるのですが、左下のMulti-Selectを押することで複数リーフを一括で選択、適用をすることが可能です。Multi-Selectを選択して“i"マークにカーソルを合わせることで、複数リーフの選択の仕方がでてきます。

以下の画面はNXOS2とNXOS3が選択された状態です。そしてActionsQuick Attachを選択します。

そうするとDeploy Configuration画面に移行して、L2VNI設定をクイックに適用することが可能です。この際に生成されるコンフィグレーションを掲載します。

##
## L2VNI create & Quick Attach
## MyNetwork_30000 l2vni 30000 vlan2300 on NXOS2,NXOS3
##


configure profile MyNetwork_30000
  vlan 2300
    vn-segment 30000
  interface nve1
    member vni 30000
      ingress-replication protocol bgp
  evpn
    vni 30000 l2
      rd auto
      route-target import auto
      route-target export auto
configure terminal
apply profile MyNetwork_30000
configure terminal

L2VNIが適用されるとスイッチのアイコンが緑色となります。またオーバレイが設定されたことで、物理リーフ間のNVE peerがUpしたことも確認することができます。

NXOS2# show nve peers
Interface Peer-IP                                 State LearnType Uptime   Route
r-Mac
--------- --------------------------------------  ----- --------- -------- -----
------------
nve1      10.3.0.1                                Up    CP        00:04:26 n/a


NXOS2#

NXOS3# show nve peers
Interface Peer-IP                                 State LearnType Uptime   Route
r-Mac
--------- --------------------------------------  ----- --------- -------- -----
------------
nve1      10.3.0.2                                Up    CP        00:04:52 n/a


NXOS3#

ダウンリンクポートにVLAN設定

今度はダウンリンクポートにこのL2 VNIに紐づいているVLANをアサインします。以下の画面のようにActionsからMulti Attachを選択します。

以下のウイザードから先程アクセスポートに変更したe1/7をセットしてデプロイします。ここでは単純にダウンリンクポートにVLAN 2300がアサインされるだけです。

##
## MultiAttach 
## MyNetwork_30000 l2vni 30000 vlan2300 e1/7 on NXOS2,NXOS3
##

interface ethernet1/7
  switchport
  switchport mode access
  mtu 9216
  spanning-tree bpduguard enable
  spanning-tree port type edge
  no shutdown
  switchport access vlan 2300
configure terminal

疎通確認とNDFC上で状態確認

これで双方の設定は完了したので、疎通確認とBGPステータス、NDFC上での設定状況を見てみましょう。

### 疎通確認OK

VPCS> ping 1.1.1.1

84 bytes from 1.1.1.1 icmp_seq=1 ttl=64 time=22.871 ms
84 bytes from 1.1.1.1 icmp_seq=2 ttl=64 time=12.844 ms
84 bytes from 1.1.1.1 icmp_seq=3 ttl=64 time=13.225 ms
84 bytes from 1.1.1.1 icmp_seq=4 ttl=64 time=18.109 ms
84 bytes from 1.1.1.1 icmp_seq=5 ttl=64 time=15.026 ms

VPCS>
VPCS>  arp

00:50:79:66:68:0d  1.1.1.1 expires in 98 seconds

VPCS>
NXOS2#  show bgp l2vpn evpn
BGP routing table information for VRF default, address family L2VPN EVPN
BGP table version is 9, Local Router ID is 10.2.0.2
Status: s-suppressed, x-deleted, S-stale, d-dampened, h-history, *-valid, >-best
Path type: i-internal, e-external, c-confed, l-local, a-aggregate, r-redist, I-i
njected
Origin codes: i - IGP, e - EGP, ? - incomplete, | - multipath, & - backup, 2 - b
est2

   Network            Next Hop            Metric     LocPrf     Weight Path
Route Distinguisher: 10.2.0.1:35067
*>i[2]:[0]:[0]:[48]:[0050.7966.680a]:[0]:[0.0.0.0]/216
                      10.3.0.1                          100          0 i
*>i[3]:[0]:[32]:[10.3.0.1]/88
                      10.3.0.1                          100          0 i

Route Distinguisher: 10.2.0.2:35067    (L2VNI 30000)
*>i[2]:[0]:[0]:[48]:[0050.7966.680a]:[0]:[0.0.0.0]/216
                      10.3.0.1                          100          0 i
*>l[2]:[0]:[0]:[48]:[0050.7966.680d]:[0]:[0.0.0.0]/216
                      10.3.0.2                          100      32768 i
*>i[3]:[0]:[32]:[10.3.0.1]/88
                      10.3.0.1                          100          0 i
*>l[3]:[0]:[32]:[10.3.0.2]/88
                      10.3.0.2                          100      32768 i

NXOS2#


NXOS3# show bgp l2vpn evpn
BGP routing table information for VRF default, address family L2VPN EVPN
BGP table version is 9, Local Router ID is 10.2.0.1
Status: s-suppressed, x-deleted, S-stale, d-dampened, h-history, *-valid, >-best
Path type: i-internal, e-external, c-confed, l-local, a-aggregate, r-redist, I-i
njected
Origin codes: i - IGP, e - EGP, ? - incomplete, | - multipath, & - backup, 2 - b
est2

   Network            Next Hop            Metric     LocPrf     Weight Path
Route Distinguisher: 10.2.0.1:35067    (L2VNI 30000)
*>l[2]:[0]:[0]:[48]:[0050.7966.680a]:[0]:[0.0.0.0]/216
                      10.3.0.1                          100      32768 i
*>i[2]:[0]:[0]:[48]:[0050.7966.680d]:[0]:[0.0.0.0]/216
                      10.3.0.2                          100          0 i
*>l[3]:[0]:[32]:[10.3.0.1]/88
                      10.3.0.1                          100      32768 i
*>i[3]:[0]:[32]:[10.3.0.2]/88
                      10.3.0.2                          100          0 i

Route Distinguisher: 10.2.0.2:35067
*>i[2]:[0]:[0]:[48]:[0050.7966.680d]:[0]:[0.0.0.0]/216
                      10.3.0.2                          100          0 i
*>i[3]:[0]:[32]:[10.3.0.2]/88
                      10.3.0.2                          100          0 i

NXOS3#

次回は仮想L3ネットワーク設定

今回はオーバレイとなる仮想L2ネットワークの設定を行ってきました。少々手順としては煩雑かもしれませんが、多数の仮想ネットワークが存在するような環境や、動的に設定が繰り返される環境だと恩恵をうけれると思いました。

NDFCで生成されたコンフィグを見ると、過去マニュアルベースで作成したコンフィグとは異なり、configure profileというコマンドベースでコンフィグの塊が生成されているのも少し興味深かったです。

次回はオーバレイネットワーク上でルーティングを行う、仮想L3ネットワークを作ってみたいと思います。

参考URL

Cisco NDFC How To

Cisco NDFC Official HP

Cisco NDFC Data sheet

VXLAN OAM