【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が選択された状態です。そしてActionsのQuick 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ネットワークを作ってみたいと思います。