ネットワークエンジニアのITブログ

長らくネットワークで生活してきましたが、ここ数年クラウドとサーバー系に触れる機会が増えて、日々成長しています。最近のお気に入りはNSXALBとGoogle Cloud。

ホームラボ環境再構築 ⑨NSX Edgeのインストール

続いてNSX Edgeの導入をしていきます。
NSX Edgeはデータプレーンのコンポーネントで、オーバーレイからアンダーレイへの通信を橋渡しする仮想アプライアンスになります。
ここでは、Edgeクラスタを構成するために、2台構築していきます。

ネットワーク構成


NSX Edgeの作成

まずは、[システム]ー[ノード]ー[Edgeトランスポートノード]を表示し、「EDGEノードの追加」選択します。

Edgeノートの追加で、名前を「edge62」、ホスト名/FQDNを「edge62.home.local」とし、フォームファクタは、「Medium」を選び、次へを選択します。

認証情報を入力し、「SSHログインを許可」と、「root SSHログインを許可」を有効化して、次へを選択します。

展開の構成で、以下の情報を入力し、次へを選択します。
コンピュートマネージャ:vcsa31
クラスタ:Cluster_Lab
ホスト:esx21.home.local
データストア:datastore_qnap2

ノードの設定で、以下の情報を入力し、次へを選択します。
管理IPの割り当て:IPv4のみ
タイプ:静的
管理IP:192.168.10.62/24
デフォルトゲートウェイ:192.168.10.1
管理インターフェイス:DPortGroup 10
ドメイン名の検索:home.local
DNSサーバ:192.168.10.32
NTPサーバ:192.168.10.32

続いてNSXの構成では、まず、VLANトランスポートゾーンのN-VDSを作成していきます。
以下の情報を入力します。
Edgeスイッチ名:nsxHostSwitch-vlan
トランスポートゾーン:tz-vlan01
アップリンクプロファイル:uplink-single01
チーミングポリシーアップリンクマッピング
 uplink01:DPortGroup 13

続いて、オーバーレイトランスポートゾーンのN-VDSを作成していきます。
以下の情報を入力します。
Edgeスイッチ名:nsxHostSwitch-overlay
トランスポートゾーン:tz-overlay01
アップリンクプロファイル:uplink-single01
IPアドレスタイプ(TEP):IPv4
IPv4割り当て(TEP):IPプールを使用
IPv4プール:TEP-Pool
チーミングポリシーアップリンクマッピング
 uplink01:DPortGroup 12


しばらく待っていると、構成の状態が「成功」にとなり作成が完了します。

同様に、edge63も作成します。

Edgeクラスタの作成

作成した2台のNSX Edgeを1つのEdgeクラスタとして構成します。
[システム]ー[ノード]ー[Edgeクラスタ]から、「EDGEクラスタの追加」を選択します。

Edgeクラスタの追加が表示されたら、名前を「Cluster62-63」とし、トランスポートノードのメンバータイプを「Edgeノード」として、先ほど作成したedge62/63に✅を入れて、右矢印マークを押下して、選択済みに移動させます。
移動後、追加を選択します。


Edgeクラスタが作成されました。

以上で、NSX Edgeのインストールが完了しました。

ホームラボ環境再構築 ⑧クラスタ(ESXiホスト)へのNSXインストール

ESXiホストにNSXをインストールする準備が整ったので、さっそく導入していきます。
なお、ホストへのインストールは、クラスタ単位でまとめて実施する方法と、ホスト単位で実施する2通りがあります。
NSX-Vではクラスタ単位でしか導入できなかったので、まずはホスト単位で導入後、いったんアンインストールしてクラスタ単位で導入してみます。

ネットワーク構成


ESXiホストへNSXをインストール

NSXを導入するクラスタおよびESXiホストを確認してみましょう。
[システム]ー[ホスト]ー[クラスタ]を選択すると以下の4つのクラスタ表示されますが、それぞれの用途から今回は、「Cluster_NSXT」の「esx26.home.local」のみにインストールしていきます。


インストールする対象の「esx26.home.local」に✅を入れ、「NSXの構成」を選択します。

NSXの構成が表示されたら、名前が「esx26.home.local」であることを確認し、次へを選択します。

「ホストスイッチの追加」を選択します。

各項目で以下の内容を入力し、追加を選択します。
VDSの選択:DSwitch
トランスポートゾーン:tz-overlay01
アップリンクプロファイル:uplink-double01
IPアドレスタイプ(TEP):IPv4
IPv4の割り当て:IPプールの使用
IPv4プール:TEP-Pool
チーミングポリ氏のアップリンクマッピング
 uplink01:アップリンク1
 uplink02:アップリンク2

追加すると、画面右に構成イメージが表示されるので、内容を確認して、終了を選択します。

しばらく待っていると、NSX構成が「成功」にとなりインストールが完了します。
なお、この時点では、NSX Edgeや他のホストを導入していないため、トンネルは「使用不可」となっているのが正しい状態です。

ESXiホストからNSXを削除

削除は、対象のホストを選択後、「NSXの削除」を選択します。

NSXの削除の画面が表示されたら、削除を選択します。

アンインストールが開始し、しばらくすると元の状態に戻ります。


クラスタNSXをインストール

先ほどは、ホスト単位に設定を行ってインストールしましたが、クラスタ内のホストが多くなってくるとインストールの手間が増えるので、クラスタ単位でインストールすることで、クラスタに参加しているすべてのESXiホストにNSXを導入することが可能です。
クラスタ単位でインストールする場合は、事前にトランスポートノードプロファイルを作成し、それを適用する形になります。

トランスポートノードプロファイルの作成

まずは、[システム]ー[ホスト]ー[トランスポートノードプロファイル]から、「トランスポートノードプロファイルの追加」を選択します。

名前を「host-node-profile」と入力し、ホストスイッチの「設定」を選択します。

ホストスイッチが表示されたら、「ホストスイッチの追加」を選択します。

各項目で以下の内容を入力し、追加を選択します。
vCenterの選択:vcsa31
VDSの選択:DSwitch
トランスポートゾーン:tz-overlay01
アップリンクプロファイル:uplink-double01
IPアドレスタイプ(TEP):IPv4
IPv4の割り当て:IPプールの使用
IPv4プール:TEP-Pool
チーミングポリ氏のアップリンクマッピング
 uplink01:アップリンク1
 uplink02:アップリンク2

追加されたことを確認して、適用を選択します。

ホストスイッチが追加されたことを確認して、保存を選択します。


クラスタNSXをインストール

[システム]ー[ホスト]ー[クラスタ]を選択すると以下の4つのクラスタ表示されるので、「Cluster_NSXT」に✅を入れて、NSXの構成を選択します。

NSXのインストールが表示されたら、トランスポートノードプロファイルで先ほど作成した「host-node-profile」を選び、保存を選択します。

しばらく待っていると、NSX構成が「成功」にとなりインストールが完了します。

以上で、クラスタ(ESXiホスト)へのインストールが完了しました。

ホームラボ環境再構築 ⑦NSX4.1.2導入(準備編)

NSX-Vに続いて、NSXをインストールしていきます。
NSX-Tは4.0からNSXという名前に変更になっています。NSX-Vのサポート終了間近のため、ほとんどの方はNSX-TもしくはNSXに移行されているのではないでしょうか。
NSXの導入はボリュウームが多いので、3回に分けて紹介します。

ネットワーク構成


NSX4.1.2のデプロイ

今回用意したソフトウェアバージョンは4.1になりますが、インストール手順は前回の3.1.1とほとんど変わりません。若干UIが変更となっていますが、わかりやすくなっていました。
まずは、OVAファイルをデプロイしていきます。

OVFテンプレートの選択で、事前に用意した「nsx-unified-appliance-4.1.2.1.0.22667794.ova」ファイルを指定します。

仮想マシン名は、「nsx61」とし、次へを選択します。

コンピューティングリソースの選択では、「Cluster_MGMT」を選び、次へを選択します。

詳細の確認で、証明書に関するメッセージが表示されるので、「すべて無視」をクリックし、次へを選択します。(このメッセージオプションを承認しないと次には進めません)

デプロイ構成の選択は、「Medium」を選択します。
ここは、各環境に合わせて選択してください。

ストレージの選択は、「QNAP2」を選び、次へを選択します。

ネットワーク選択は、ターゲットネットワークを管理用NWの「DPortGroup 10」とし、IPプロトコルを「IPv4」で、次へを選択します。

テンプレートのカスタマイズでは各種パスワードを設定します。

ホスト名は「nsx61」、ロール名を「NSX Manager」とし、IPアドレス設定を以下とし、次へを選択します。
IPv4アドレス:192.168.10.61
ネットマスク:255.255.255.0
ゲートウェイ:192.168.10.1

DNSサーバー、NTサーバーを「192.168.10.32」、ドメイン検索リストを「home.local」とし、SSHの有効化とroot SSHログインを許可にチェックを入れて、次へを選択します。

設定の確認行い、次へを選択します。

デプロイが完了したら、電源ONします。

しばらくすると、Webアクセスできるようになるので、「https://nsx61.home.local」にログインします。
なお、nsx61は事前にDNSサーバーにAレコードの登録をしてあります。

ログインするとエンドユーザー使用許諾契約書の画面が表示されるので、同意して続行を選択します。

カスタマーエクスペリエンス向上プログラムが表示されるので、任意でチェックし保存を選択します。

ようこそ画面は、スキップを選択します。

ここまででデプロイが完了しました。

ライセンス登録

NSXを利用するためにライセンスを登録していきます。
vExpertの場合は、NSX ENT Evaluation Versionが提供されているのでこれを利用します。
[システム]ー[ライセンス]からライセンス追加を選択します。

ライセンスキーを入力して、追加を選択します。


コンピュートマネージャの登録

vCenterと連携するため、[システム]ー[ファブリック]ー[コンピュートマネージャ]からコンピュートマネージャを追加を選択します。

vCenterの情報を入力し、次へを選択します。

サムプリントが見つかりませんという表示が出るので、追加を選択します。

正常の登録されると、登録状態が「登録済み」となります。

トランスポートゾーンの作成

デフォルトトランスポートゾーンがありますが、理解のために新しく、オーバーレイ用とVLAN用を作成します。
[システム]ー[ファブリック]ー[トランスポートゾーン}から、トランスポートゾーンの追加を選択します。

オーバーレイのトランスポートゾーン

名前を「tz-overlay01」、トラフィックタイプを「オーバーレイ」とし、保存を選択します。

VLANのトランスポートゾーン

同様にVLANのトランスポートゾーンも作成します。
名前を「tz-vlan01」、トラフィックタイプを「VLAN」とし、保存を選択します。

アップリンクプロファイルの作成

[システム]ー[ファブリック]ー[プロファイル}から、プロファイルの追加を選択します。

ESXiホスト用のアップリンクプロファイル

ESXiホストは基本的に4つのNICを搭載する構成をとっています。
物理サーバー、NestedESXは4つのNICは、以下のように使用するため、NSX用にNIC3、NIC4を冗長化して使用します。
NIC1:VDS(サービス、管理用)
NIC2:VDS(ストレージ、vMotion用)
NIC3:N-VDS(アクティブリンク)
NIC4:N-VDS(スタンバイリンク)

名前は「uplink-double01」を入力します。

チーミングポリシーは、「フェイルオーバーの順序」を選択し、アクティブアップリンクを「uplink01」、スタンバイリンクを「uplink02」とします。
トランスポートVLANは、GENEVEで利用するVLAN の「12」を入力し、追加を選択します。

NSX Edge用のアップリンクプロファイル

NSX EdgeのNIC構成は、最低3つ利用し、必要に応じて追加します。トランスポートゾーンやEdge Bridgeなど用途の異なる通信をするため、アップリンクは1つで利用します。
fp-eth0:GENEVE用(TEPで利用)
fp-eth1:トランスポートゾーン用(Tier-0接続用)
fp-eth2:Edge Bridge(今回は未設定)

名前は「uplink-single01」を入力します。

チーミングポリシーは、「フェイルオーバーの順序」を選択し、アクティブアップリンクのみ「uplink01」と入力します。
トランスポートVLANは、「0」を入力し、追加を選択します。

TEP用IPアドレスプールの作成

TEP割り当て用のPoolを事前に作成しておきます。
この後、ホストやNSX EdgeにNSXをインストールする際に使用します。
[ネットワーク]ー[IP管理]ー[IPアドレスポール}から、IPアドレスプールの追加を選択します。

名前を「TEP-Pool」、既存のプールとの重複の確認を「有効」とし、サブネットの設定を選択します。

サブネットの追加から「IP範囲」を選択します。

以下の内容で設定を入力し、追加を選択します。
IP範囲:192.168.12.11-192.168.12.30
CIDR:192.168.12.0/24
ゲートウェイIP:192.168.12.1
DNSサーバ:192.168.10.32
DNSサフィックス:home.local

設定が反映されたら、適用を選択します。

サブネットの設定が反映されたら、保存を選択します。

ここまでで、準備編は完了となります。
次回は、ESXiホストへのNSXの導入と、NSX Edgeのデプロイを紹介します。

DNS VSに対する委任か条件付きフォワードの選択について

NSXALBでGSLBを使用する場合、一般的には既存環境にDNSサーバーが存在している状態がほとんどなのではないでしょうか。その場合、既存のドメインを新しいドメインもしくは、サブドメインとしてCNAMEによる別名とすることで制御します。
利用されるCNAMEの別名ドメインは、クライアントからは意識する必要がないため、内部的に管理されるものになります。この時、ドメイン名の定義方法によって、元の権威DNSサーバーからDNS VSに対して、どのように転送するかが変わってきますので、その違いと設定方法、動作について紹介します。

GSLBとは

GSLBは、2つの異なるサイトへのアクセスを制御しますが、一般的なDNSサーバーには、クライアントからのリクエストを優先度やサーバーの稼働状態を踏まえて切り替えるような機能はありません。
そこで、権威DNSサーバーに来たDNSリクエストのドメイン名を一時的に変更して、NSXALBに転送することで、優先度やサーバーの稼働状態を踏まえて、適切なIPをクライアント返すような制御をしています。

権威DNSサーバーでの委任と条件付きフォワードの違い

その際、CNAMEの別名設定は、権威DNSサーバーが管理していないドメイン名もしくは、権威DNSサーバーの管理下にあるドメインサブドメイン)のどちらかを選択することになります。
権威DNSサーバーは、自身の管理下にあるドメインの条件付きフォワードはできないため、サブドメインを選択する場合は「委任」を、自身の管理下にないドメイン名は、条件付きフォワードを選択することなりなます。

選択のポイントしては、各企業のセキュリティポリシーや運用ルールにより異なるかと思いますが、そのドメインの管理者が誰になるのかで、運用方針が決まってくるかなと思います。
サブドメインを選択した場合は、親ドメインの管理下になるため、運用管理はドメイン管理者の運用ルールに従う必要があります。
逆に異なるドメインを選択した場合は、親ドメイン管理者の管理下ではないため、運用ルールを自身で決め運用することになります。

GSLBという観点であれば、どちらのCNAMEを利用しても動作の違いはないため、ドメインの運用管理だけが判断基準になります。

ここからは、委任と条件付きフォワードの動作を実際に確認してみます。

委任の動作

  1. Client01からServer01へ「www.homevm.local」の名前解決リクエスト送信
  2. Server01でCNAMEで別名の「www.gslb.homevm.local」へ変換
  3. 委任によりServer01からServer02へ転送
  4. Server02で「www.gslb.homevm.local」の名前解決結果(192.168.7.111)をServer01へ返答
  5. Server01は名前解決結果をClient01へ返答


DNS Query

②委任による転送

DNS VSによるDNS Response

④権威DNSサーバーからのDNS Response

条件付きフォワードの動作

  1. Client01からServer01へ「nsxtmgr51.homevm.local」の名前解決リクエスト送信
  2. Server01でCNAMEで別名の「nsxtmgr51.gslbhomevm.local」へ変換
  3. 条件付きフォワードによりServer01からServer02へ転送
  4. Server02で「nsxtmgr51.gslbhomevm.local」の名前解決結果(192.168.1.52)をServer01へ返答
  5. Server01は名前解決結果をClient01へ返答


DNS Query

②条件付きフォワードによる転送

DNS VSによるDNS Response

④権威DNSサーバーからのDNS Response

委任と条件付きフォワードの紹介は以上となります。

VMware Aria Operationsを導入してみる

今までvSphere、NSX、NSXALBなどを触ってきましたが、vROpsの時からほとんど触ったことがなかったので、VMware Aria Operationsを導入してみ触ってみようと思います。
今回は、導入するところまでを紹介していきます。

ネットワーク構成


ソフトウェア

VMware Aria Operations 8.12.1

初期セットアップ

AriaはOVFファイルとして提供されているので、OVFインポートし、電源ONした初期セットアップから開始したいと思います。
なお、インポート時にIPアドレスを「192.168.10.33」、FQDNを「aria33.home.local」で設定しています。
起動後、「https://aria33.home.local/admin/newCluster.action」にアクセスします。
インストール方法は、「高速インストール」を選択します。
高速インストールは、プライマリ ノードの作成、データ ノードの追加、クラスタの作成、接続ステータスのテストを行い、新規新トールよりも時間を短縮し、セットアップ処理を迅速化することができます。

新規クラスタで、次へを選択します。

管理者アカウントのパスワードを設定して、次へを選択します。

完了を選択すると、初期セットアップが開始するので完了まで待ちます。

初期セットアップが完了したら「https://aria33.home.local/ui/login.action」にアクセスします。

ようこその画面で、次へを選択します。

エンドユーザー使用許諾誓約書のチェックを入れて、次へを選択します。

製品キーがある方は入力し、「ライセンスキーの検証」をクリックして正常に検証されたら、次へを選択します。

カスタマーエクスペリエンス向上プログラムに参加するへチェックを入れ、次へを選択します。

設定内容の確認で完了を選択します。

設定が完了しログインすると、以下のような画面が表示されます。

[管理]ー[コスト/価格]ー[通貨]から通貨の設定を選択します。

通過の設定で、日本円(JPY)を選択し、通過の設定を選択します。

[管理]ー[物理データセンター]を選択します。

追加を選択します。

名前を「HomeLab」として保存を選択します。

[統合]ー[アカウント]ー[アカウントの追加]を選択します。

「vCenter」を選択します。

名前を「admin」、物理データセンターを「HomeLab」、vCenter Serverを「vcsa31.home.local」

認証情報にvCenterのログイン情報を入力してOKを選択します。

証明書の確認と承諾で、受け入れるを選択します。

認証情報が反映されたら、追加を選択します。

これでvCenterと連携ができたので、ホームに戻ると、vCenterの情報が反映されることが確認できました。

導入はいったんここまでとなります。
連携できるアカウントタイプに、NSX-T、各種パブリッククラウドがあるので、一元管理できるのは非常に便利だなと思います。
なお、pingというものが項目があり、ちょっと違和感があったのですが、後日調べてみようと思います。

NSXALBでSNMP Trap通知を行う

NSXALBでController、SE、VSで状態変化が発生した際にSNMP Trap通知を行う設定を行っていきます。
デフォルトのAlert設定だとDownに関するAlertしか発生しなかったり、ControllerのDownに関してはTrap通知されないようになっているので、この辺のおすすめ設定を紹介します。

ネットワーク構成

SNMP Trap Receiverとして、DNS/NTPサーバのdns32(192.168.10.32)を利用しています。

設定の流れ

SNMPの設定は以下の手順で設定します。

  1. System SettingsでSNMPを有効化する
  2. SNMP Trap通知先を設定する
  3. Alert Actionで通知先を関連付ける
  4. Alert ConfigでTrap通知するEventを定義し、Alert Actionを関連付ける

vmwareの以下サイト参考に設定しています。
docs.vmware.com

System SettingsでSNMPを有効化する

NSXALBの管理コンソールにログイン後、[Administration]ー[System Settings]からEDITを選択します。

SNMPの設定を、「None」から「SNMP V2」に変更し、SNMP Communityに「VMwarevmware1!」を入力後、SAVEを選択します。


SNMP Trap通知先を設定する

[Operations]ー[Notifications]ー[SNMP Trap]からCREATEを選択します。

Nameに「Trap Receiver」を入力し、SNMP Trap ServersからADDを選択します。

Trap Server IP Addressに「192.168.10.32」を入力します。
SNMP VersionとSNMP Communityは、System Settingsで設定したものが自動的に反映されます。

SNMP Trap Serversの情報が反映されたら、SAVEを選択します。

SNMP Trapの画面に戻ると設定が反映されていますが、Serverの欄が空欄になっているのはバグであるため、このまま設定を進めます。

Alert Actionで通知先を関連付ける

[Operations]ー[Alerts]ー[Alert Actions]からCREATEを選択します。

Nameに「SNMP Trap」を入力し、Alert Levelを「Low」から「Medium」に変更し、SNMP Trapは「Trap Receiver」を選び、SAVEを選択します。


Alert ConfigでTrap通知するEventを定義し、Alert Actionを関連付ける

[Operations]ー[Alerts]ー[Alert Config]からCREATEを選択します。

Nameに「SNMP Trap-Alert」を入力します。
Throttle Alertは、アラートが生成されてから設定された秒数経過するまで、アラートが抑止 (調整) される設定ですが、即時アラート通知をさせたいので「0」とします。

Event Occursは、ここで設定したEventが発生した際にActionが実行されるものとなります。
デフォルトの設定だと、Controller、SE、VSなどが別々のAlert Configで定義されており、かつDownの事象しか定義されていないため、ここでは、Upの事象でもTrap通知されるようにEventを選択していきます。

Event OccursでVS Upを選択したら、「AND」から「OR」に変更し、「+Add New Event」を選択して、以下のEventを追加していきます。

  • VS Down
  • Pool Up
  • Pool Down
  • VIP Up
  • VIP Down
  • SE Up
  • SE Down
  • Controller Leader Failover
  • Controller Node Joined
  • Controller Node Left

最後に、Alert Actionから「SNMP Trap」を選び、SAVEを選択します。

SNMP TrapはControllerから通知されるため、1台構成だとController自体の停止だとTrap通知できません。そのため、Controller Clusterが設定されていることが前提となりますが、Shutdown、Started、Warm Rebootだと、通常の起動、停止のアクションでは通知がされないため、Controllerが起動・停止した際に Controller ClusterのJoined、Leftをトリガーとして検知します。
また、Controller Leaderが障害となった場合は、Failoverが発生し残り2台のどちらかに切り替わるため、Leaderが変更となった場合も通知するようにします。

SNMP Trap通知の動作確認

SNMP Trapに関する設定が完了したので、実際に設定したEventを発生させTrapが通知されるか確認します。

VS Down、Pool Down、VIP Down

PoolをDownさせることで、VS、Pool、VIPのDown Trapを確認します。
Trapの受信は、dns32でtcpdumpを実行します。

[root@dns32 ~]# tcpdump -i ens192 -nn -tttt | grep Trap
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens192, link-type EN10MB (Ethernet), capture size 262144 bytes

2023-12-02 17:13:07.947721 IP 192.168.10.51.38612 > 192.168.10.32.162:  C="VMwarevmware1!" V2Trap(221)  .1.3.6.1.2.1.1.3.0=1224402 .1.3.6.1.6.3.1.1.4.1.0=.1.3.6.1.4.1.45468.0.5 .1.3.6.1.4.1.45468.1.1.7="[ALB: reason: SNMP Trap-Alert] At 2023-12-02 08:11:32+00:00 event VIP_DOWN occurred on object ALB in tenant admin as VIP 192.168.3.200 is DOWN. "

2023-12-02 17:13:07.976950 IP 192.168.10.51.54207 > 192.168.10.32.162:  C="VMwarevmware1!" V2Trap(326)  .1.3.6.1.2.1.1.3.0=1224405 .1.3.6.1.6.3.1.1.4.1.0=.1.3.6.1.4.1.45468.0.3 .1.3.6.1.4.1.45468.1.1.8="/api/virtualservice/virtualservice-f8f2bf3f-fee1-4d01-97cf-0abe57c69a54" .1.3.6.1.4.1.45468.2.3.1.6.4=2 .1.3.6.1.4.1.45468.1.1.4="[ALB: reason: SNMP Trap-Alert] At 2023-12-02 08:11:32+00:00 event VS_DOWN occurred on object ALB in tenant admin as VirtualService is Down. "

2023-12-02 17:13:08.006960 IP 192.168.10.51.51168 > 192.168.10.32.162:  C="VMwarevmware1!" V2Trap(229)  .1.3.6.1.2.1.1.3.0=1224408 .1.3.6.1.6.3.1.1.4.1.0=.1.3.6.1.4.1.45468.0.5 .1.3.6.1.4.1.45468.1.1.7="[192.168.10.51: reason: SNMP Trap-Alert] At 2023-12-02 08:11:33+00:00 event POOL_DOWN occurred on object Pool-HTTP in tenant admin as Pool is DOWN. "
VS Up、Pool Up、VIP Up

PoolをUpさせることで、VS、Pool、VIPのUpTrapを確認します。

[root@dns32 ~]# tcpdump -i ens192 -nn -tttt | grep Trap
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens192, link-type EN10MB (Ethernet), capture size 262144 bytes

2023-12-02 17:15:06.647249 IP 192.168.10.51.56182 > 192.168.10.32.162:  C="VMwarevmware1!" V2Trap(225)  .1.3.6.1.2.1.1.3.0=1236272 .1.3.6.1.6.3.1.1.4.1.0=.1.3.6.1.4.1.45468.0.5 .1.3.6.1.4.1.45468.1.1.7="[192.168.10.51: reason: SNMP Trap-Alert] At 2023-12-02 08:13:30+00:00 event POOL_UP occurred on object Pool-HTTP in tenant admin as Pool is UP. "

2023-12-02 17:15:06.675684 IP 192.168.10.51.46900 > 192.168.10.32.162:  C="VMwarevmware1!" V2Trap(217)  .1.3.6.1.2.1.1.3.0=1236275 .1.3.6.1.6.3.1.1.4.1.0=.1.3.6.1.4.1.45468.0.5 .1.3.6.1.4.1.45468.1.1.7="[ALB: reason: SNMP Trap-Alert] At 2023-12-02 08:13:30+00:00 event VIP_UP occurred on object ALB in tenant admin as VIP 192.168.3.200 is UP. "

2023-12-02 17:15:06.704245 IP 192.168.10.51.60861 > 192.168.10.32.162:  C="VMwarevmware1!" V2Trap(322)  .1.3.6.1.2.1.1.3.0=1236278 .1.3.6.1.6.3.1.1.4.1.0=.1.3.6.1.4.1.45468.0.3 .1.3.6.1.4.1.45468.1.1.8="/api/virtualservice/virtualservice-f8f2bf3f-fee1-4d01-97cf-0abe57c69a54" .1.3.6.1.4.1.45468.2.3.1.6.4=1 .1.3.6.1.4.1.45468.1.1.4="[ALB: reason: SNMP Trap-Alert] At 2023-12-02 08:13:30+00:00 event VS_UP occurred on object ALB in tenant admin as VirtualService is Up. "
SE Down、SE Up

SEをDown/UPさせて、Trapを確認します。

[root@dns32 ~]# tcpdump -i ens192 -nn -tttt | grep Trap
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens192, link-type EN10MB (Ethernet), capture size 262144 bytes

2023-12-02 17:19:37.525922 IP 192.168.10.51.36169 > 192.168.10.32.162:  C="VMwarevmware1!" V2Trap(313)  .1.3.6.1.2.1.1.3.0=1263360 .1.3.6.1.6.3.1.1.4.1.0=.1.3.6.1.4.1.45468.0.2 .1.3.6.1.4.1.45468.1.1.8="/api/serviceengine/se-0050569b135d" .1.3.6.1.4.1.45468.2.2.1.6.2=2 .1.3.6.1.4.1.45468.1.1.5="[192.168.10.53: reason: SNMP Trap-Alert] At 2023-12-02 08:18:00+00:00 event SE_DOWN occurred on object 192.168.10.53 in tenant admin as Service Engine marked down. "

2023-12-02 17:21:41.737520 IP 192.168.10.51.47336 > 192.168.10.32.162:  C="VMwarevmware1!" V2Trap(331)  .1.3.6.1.2.1.1.3.0=1275781 .1.3.6.1.6.3.1.1.4.1.0=.1.3.6.1.4.1.45468.0.2 .1.3.6.1.4.1.45468.1.1.8="/api/serviceengine/se-0050569b135d" .1.3.6.1.4.1.45468.2.2.1.6.2=1 .1.3.6.1.4.1.45468.1.1.5="[192.168.10.53: reason: SNMP Trap-Alert] At 2023-12-02 08:20:06+00:00 event SE_UP occurred on object 192.168.10.53 in tenant admin as Avi Service Engine connected to Avi Controller. "

補足

Controllerが1台構成のため、Failoverのテストは実施しませんが、Leaderを停止させると、新に昇格したLeaderからController Node LeftとController Leader Failoverのtrapが通知されます。

Controllerは固定IPで設定することがほとんどであるため、死活監視でも生き死には確認できますが、SEは構成によって、動的にスケールアウト/スケールインするため、死活監視が難しくなります。
そもそも、SEは特性上、死活監視の必要はないと思うので、SNMP Trapで状態を把握するぐらいで丁度良いのかなと考えます。

今回の検証は以上です。

ホームラボ環境再構築 ⑥論理スイッチ、ESG、DLRの導入

ここからは、NSX-Vのオーバーレイネットワークを構築していきます。

ネットワーク構成


論理スイッチの作成

まず最初に、各セグメントの論理スイッチを作成していきます。
ここでは、この後作成するESGのアップリンク側と内部ネットワーク側の2つを作成します。
メニューの[ネットワークとセキュリティ]ー[論理スイッチ]から、「追加」を選択します。

論理スイッチで以下の情報を入力します。
名前:LS-seg3
トランスポートゾーン:Global-TZ
レプリケーションモード:ユニキャスト
IPアドレス検出:有効
MACラーニング:有効

同様に、LS-seg4、LS-seg131も作成します。
名前:LS-seg4
トランスポートゾーン:Global-TZ
レプリケーションモード:ユニキャスト
IPアドレス検出:有効
MACラーニング:有効

名前:LS-seg131
トランスポートゾーン:Global-TZ
レプリケーションモード:ユニキャスト
IPアドレス検出:有効
MACラーニング:有効

Edge Service Gateway(ESG)の作成

メニューの「ネットワークとセキュリティ」から「NSX Edge」を選択し、「追加」から、Edge Services Gatewayを選択します。

基本情報では名前を「ESG01」とし、「Edgeアプライアンス仮想マシンのデプロイ」のチェックを入れて次へを選択します。

ユーザー名、パスワードは任意のものを設定します。また、SSHアクセスを有効とし、自動ルール生成も有効として、追加を押下します。

デプロイの設定で、データセンターは「Datacenter」、アプライアンスのサイズは「Compact」を選択し、「Edgeアプライアンス仮想マシンを追加」を選択します。

Edgeアプライアンスの配置パラメータで以下を入力し、追加を選択します。
クラスタ/リソース:Cluster_NSXV
データストア:datastore_qnap2
ホスト:esx24.home.local
フォルダ:Discoverd virtual machine
リソースの予約:システム管理

設定が完了したら、次へを選択します。

インターフェイスでは追加を選択します。

インターフェイスの設定で以下を入力し、OKを選択します。
名前:ESG01-uplink
タイプ:アップリンク
接続先:DPortGroup 3
接続ステータス:接続中
サブネットの設定:192.168.3.254/24

同様に内部ネットワークのインターフェイスも作成し、次へを選択します。
名前:ESG-seg4
タイプ:内部
接続先:LS-seg4
接続ステータス:接続中
サブネットの設定:192.168.4.1/24

デフォルトゲートウェイを「有効」、vNICを「ESG01-uplink」、ゲートウェイIPアドレスを「192.168.3.1」を入力して次へを押下します。
なお、ゲートウェイは2960-L3となるので、事前にVLANインターフェースの設定を実施しておきます。

ファイアウォールのデフォルトポリシーを「有効」、デフォルトトラフィックポリシーを「許可」、ログを「無効」として次へを選択します。ここでは、いったんデフォルトポリシーを許可で作成しておきます。

確認して終了を押下するとデプロイが始まり完了するとESGが表示されます。



分散論理ルーター(DLR)の作成

続いて分散論理ルータを作成します。
メニューの「ネットワークとセキュリティ」から「NSX Edge」を選択し、「追加」から、分散論理ルーターを選択します。

名前は「DLR01」とし、制御仮想マシンのデプロイにチェックを入れ、次へを選択します。

ユーザー名、パスワードは任意のものを設定します。また、SSHアクセスを有効とし、追加を選択します。

デプロイの設定で、データセンターは「Datacenter」を選択し、「Edgeアプライアンス仮想マシンを追加」を選択します。

Edgeアプライアンスの配置パラメータで以下を入力し、追加を選択します。
クラスタ/リソース:Cluster_NSXV
データストア:datastore_qnap2
ホスト:esx24.home.local
フォルダ:Discoverd virtual machine
リソースの予約:システム管理

接続先は、「DPortGroup 10」を選択します。

インターフェイスでは追加を選択します。

インターフェイスの設定で以下を入力し、OKを選択します。
名前:DLR-uplink
タイプ:アップリンク
接続先:LS-seg4
接続ステータス:接続中
サブネットの設定:192.168.4.254/24

デフォルトゲートウェイを「有効」、vNICを「DLR-uplink」、ゲートウェイIPアドレスを「192.168.4.1」を入力して次へを押下します。

確認して終了を押下するとデプロイが始まり完了するとESGが表示されます。



OSPFの設定

前回構築したホームラボでは、2960-L3がスタティックルーティングのみサポートだったため、動的ルーティングプロトコルの確認ができませんでした。
そこで、今回は、Cisco891を用意して、OSPFによるルーティングを確認してみたいと思います。

ESG01の設定

最初に、ESG01の[ルーティング]ー[グローバル設定]から「動的ルーティング設定」を選択します。

ルーターIDとして、アップリンクの192.168.3.254を選択します。

続いて、OSPFの設定から編集を選択します。

ステータスを有効にして、保存を選択します。

発行ボタンを選択し、有効化します。
なお、エリア定義は、デフォルトで「0」と「51」が設定されているので、「0」の設定をそのまま使用していきます。

続いて、インターフェイス マッピングのエリアから追加を選択します。
作成画面では、以下を入力します。
vNIC:ESG01-uplink
エリア:0
インターフェイスのMTU設定を無視:無効
Hello間隔:10秒
Dead間隔:40秒
優先度:128
コスト:1

同様に内部リンクも設定します。
vNIC:ESG-seg4
エリア:0
インターフェイスのMTU設定を無視:無効
Hello間隔:10秒
Dead間隔:40秒
優先度:128
コスト:1

発行ボタンを押下し有効化します。

DLR01の設定

DLR01でOSPFを有効化する前に、内部のインターフェイスを作成しておきます。
名前:DLR-seg131
タイプ:アップリンク
接続先:LS-seg4
接続ステータス:接続中
サブネットの設定:192.168.131.1/24

DLR01の[ルーティング]ー[グローバル設定]から「動的ルーティング設定」を選択します。

ルーターIDとして、アップリンクの192.168.4.254を選択します。

続いて、OSPFの設定から編集を選択します。

ステータスを有効にして、プロトコルアドレスを「192.168.4.253」、転送アドレスを「192.168.4.254」で入力し、保存を選択します。

エリア定義で追加を選択し、エリアIDを「0」として追加を選択します。

続いて、インターフェイス マッピングのエリアから追加を選択します。
作成画面では、以下を入力します。
vNIC:DLR-uplink
エリア:0
インターフェイスのMTU設定を無視:無効
Hello間隔:10秒
Dead間隔:40秒
優先度:128
コスト:1


C891の設定

CiscoルータのVLAN、ルーティングの設定を参考として記載しておきます。

!
interface Vlan3
 ip address 192.168.3.2 255.255.255.0
!
interface Vlan100
 ip address 192.168.100.254 255.255.255.0
!
router ospf 10
 passive-interface Vlan100
 network 192.168.3.0 0.0.0.255 area 0
 network 192.168.100.0 0.0.0.255 area 0
 default-information originate
!
ip route 0.0.0.0 0.0.0.0 192.168.100.1
!

ルーティング確認

C891、ESG01でルーティングテーブルを確認し、ネットワーク情報を送受信していることを確認します。

C891のルーティングテーブル
C891#sh ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is 192.168.100.1 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 192.168.100.1
      192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.3.0/24 is directly connected, Vlan3
L        192.168.3.2/32 is directly connected, Vlan3
O     192.168.4.0/24 [110/2] via 192.168.3.254, 00:33:55, Vlan3
      192.168.100.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.100.0/24 is directly connected, Vlan100
L        192.168.100.254/32 is directly connected, Vlan100
O E2  192.168.131.0/24 [110/0] via 192.168.3.254, 00:01:05, Vlan3
C891#
C891#sh ip os nei

Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.3.254   128   FULL/BDR        00:00:34    192.168.3.254   Vlan3
C891#
ESG01のルーティングテーブル
ESG01-0# sh ip route
Total number of routes: 5

Codes: O - OSPF derived, i - IS-IS derived, B - BGP derived,
C - connected, S - static, L1 - IS-IS level-1, L2 - IS-IS level-2,
IA - OSPF inter area, E1 - OSPF external type 1, E2 - OSPF external type 2,
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

S       0.0.0.0/0            [1/0]         via 192.168.3.1
C       192.168.3.0/24       [0/0]         via 192.168.3.254
C       192.168.4.0/24       [0/0]         via 192.168.4.1
O       192.168.100.0/24     [110/2]       via 192.168.3.2
O   E2  192.168.131.0/24     [110/0]       via 192.168.4.254
ESG01-0#
ESG01-0# sh ip os nei
NeighborID       Pri  Address          DeadTime  State                 Interface
192.168.100.254  1    192.168.3.2      39        Full/DR/35m54s        vNic_0
192.168.4.254    128  192.168.4.253    32        Full/BDR/3m14s        vNic_1
ESG01-0#

以上で、NSX-V環境の構築及びオーバーレイネットワークとの通信確認までが完了となります。