Ruby vSphere Consoleの使い方(vsan.lldpnetmap編)

さて、だんだんこのシリーズも定着してきました。

今回はコマンド内にある用語に”LLDP”と入っていますので、内容が想像しやすいです。

 

”Link Layer Discovery Protocol”ですね。つまり、ホストが隣接するスイッチの情報が拾えるというやつです。

Windows Vista, 7の頃に、以下のようにネットワークトポロジーを可視化するための機能がありました。これはLLDPにより収集された情報をベースにしたものです。

f:id:instructor8010:20170706061858p:plain

似た動作をするプロトコルに”Cisco Discovery Protocol”がありますので、そちらを知っている方は、イメージがし易いと思います。

 

今回はこのコマンドを出力するのに、VMware Hands on LABを利用した所、次の状態に遭遇しました。

f:id:instructor8010:20170630212415p:plain

何も表示がありません。ある程度予測はしていました。

 

今回はVMwareのR&DのWilliam氏のブログです。LLDPコマンドの使い方を紹介しています。

www.virtuallyghetto.com

彼によれば、次のように対向のスイッチがCiscoスイッチか、またはLLDP非対応のスイッチである場合情報取得が出来ないとある。

f:id:instructor8010:20170630212851p:plain

Hands on LABは仮想環境上にデプロイされたESXi環境なので、次のように”仮想ハードウェア上ではこのコマンドは利用不可”と言われてしまいました。

f:id:instructor8010:20170630213029p:plain

今回はブログ作成時に物理スイッチ環境かつLLDPサポート環境がなかったので、

RVCのコマンドリファンレスガイドから出力結果を参照してみました。

ここでは、ホスト”10.143.188.54”は、”vmnic5”と”vmnic7″が対向のネットワーク製品”w2r13~”から始まる製品につながっている状態を示しています。

f:id:instructor8010:20170630220257p:plain

 

結論としては、この機能はLLDP対応の機器が利用されている場合のみ利用が出来る、ネットワーク接続先の情報を取得するコマンドと言えます。 

 

<補足>LLDPは仮想スイッチやホスト側でも設定が必要です。

次の図では、仮想スイッチ上で、Discovery Protocolが無効になっています。

f:id:instructor8010:20170630213625p:plain

設定から”Link Layer Discovery Protocol”を選択します。

f:id:instructor8010:20170630213702p:plain

この設定により、LLDPでの情報が拾えるようになります。

ちなみにプロトコルの動作モードは、3タイプあります。情報を拾うにはListenかBothである必要があります。

f:id:instructor8010:20170630220605p:plain

Switch Discovery Protocol

 

Listenは、仮想スイッチが対向の機器からLLDPプロトコルを利用し、デバイス情報を取得する、という設定です。

Advertiseは、仮想スイッチが対向の機器にLLDPプロトコルを通じて、自分自身がVMwareの仮想スイッチであることを通達する、という設定です。

Bothは、上記両方の動きです。

 

便利な機能ですが、デバイス情報の通知はセキュアでないと考えられるケースもあるため、管理者はセキュリティの強化のためにこの機能を利用しない、一部利用するなど選択肢が与えられていると理解出来ます。

コメント