LLDP (Link Layer Discovery Protocol)は、ネットワークインターフェースに直接接続されている対向機器が何かを知ることができる仕組み。Cisco製品を使ったことがあれば、CDPのオープン規格版だと思えば理解しやすいだろう。例えば、次のように使う。
[root@sl01 ~]# lldptool get-tlv -i em1 -n
Chassis ID TLV
MAC: 08:2e:5f:85:7f:eb
Port ID TLV
Local: 3
Time to Live TLV
120
Port Description TLV
3
System Name TLV
ProCurve Switch 2510G-48
System Description TLV
ProCurve J9280A Switch 2510G-48, revision Y.11.12, ROM N.10.02 (/sw/code/build/cod(cod11))
System Capabilities TLV
System capabilities: Bridge
Enabled capabilities: Bridge
Management Address TLV
IPv4: 172.18.0.245
Ifindex: 0
End of LLDPDU TLV
[root@sl01 ~]#出力結果を見ると、自身sl01のインターフェースem1の対向機器は、ProCurve Switch 2510G-48であって、そのポート3と接続されていることがわかる。その他、様々な情報を得ることができる。ただし、CDPとは違い、LLDPは、ネットワーク機器側、サーバ側双方ともデフォルトでは有効ではない。従って、有効にするための設定が必要。まずは、サーバ側の設定を見てみよう。ネットワーク機器側は既に設定されているものとする。以下は、RHEL6.1と互換のScientific Linux 6.1で検証した。
RHEL系でLLDP機能を担うのは、lldpadというパッケージ。まず、これをインストールする。
[root@sl01 ~]# yum install -y lldpad Loaded plugins: refresh-packagekit sl | 1.9 kB 00:00 sl-security | 1.9 kB 00:00 Setting up Install Process Resolving Dependencies <<略>> Running Transaction Warning: RPMDB altered outside of yum. Installing : libconfig-1.3.2-1.1.el6.x86_64 1/2 Installing : lldpad-0.9.41-4.el6.x86_64 2/2 Installed: lldpad.x86_64 0:0.9.41-4.el6 Dependency Installed: libconfig.x86_64 0:1.3.2-1.1.el6 Complete! [root@sl01 ~]#インストールすると、lldpadというサービスが追加される。サービスが起動していない状態では、設定できない。インストール直後は、サービスが起動されていないため、起動する。
[root@sl01 ~]# chkconfig --list lldpad lldpad 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@sl01 ~]# service lldpad start Starting lldpad: [done] [ OK ] [root@sl01 ~]#LLDPフレームを送受信するよう設定する。設定後、サービスを再起動しないと反映されないので注意する。
[root@sl01 ~]# lldptool set-lldp adminStatus=rxtx [root@sl01 ~]# service lldpad restart Checking for service lldpad: running Shutting down lldpad: [done] [ OK ] Starting lldpad: [done] [ OK ] [root@sl01 ~]#タイミングによるが、まず最初にLLDPフレームをいくつか送信した後、ネットワーク機器側からのLLDPフレームが届く。これは、以下の様に確認することができる。
[root@sl01 ~]# lldptool stats -i em1 Total Frames Transmitted = 5 Total Discarded Frames Received = 0 Total Error Frames Received = 0 Total Frames Received = 0 Total Discarded TLVs = 0 Total Unrecognized TLVs = 0 Total Ageouts = 0 [root@sl01 ~]# lldptool stats -i em1 Total Frames Transmitted = 5 Total Discarded Frames Received = 0 Total Error Frames Received = 0 Total Frames Received = 2 Total Discarded TLVs = 0 Total Unrecognized TLVs = 0 Total Ageouts = 0 [root@sl01 ~]#一回目の実行では、送信済フレームが5、受信済フレームが0だが、二回目は、受信フレームが2になっていることが解る。この状態になると、対向機器の情報を得ることができる。
[root@sl01 ~]# lldptool get-tlv -i em1 -n
Chassis ID TLV
MAC: 08:2e:5f:85:7f:eb
Port ID TLV
Local: 3
Time to Live TLV
120
Port Description TLV
3
System Name TLV
ProCurve Switch 2510G-48
System Description TLV
ProCurve J9280A Switch 2510G-48, revision Y.11.12, ROM N.10.02 (/sw/code/build/cod(cod11))
System Capabilities TLV
System capabilities: Bridge
Enabled capabilities: Bridge
Management Address TLV
IPv4: 172.18.0.245
Ifindex: 0
End of LLDPDU TLV
[root@sl01 ~]#一方、この状態ではサーバ側からはどう言う情報が送信されているのだろう。サーバ側から確認する。[root@sl01 ~]# lldptool get-tlv -i em1
Chassis ID TLV
MAC: d4:ae:52:72:4a:dd
Port ID TLV
MAC: d4:ae:52:72:4a:dd
Time to Live TLV
120
End of LLDPDU TLV
[root@sl01 ~]#シャーシID(Chassis ID)およびポートID(Port ID)としてMACアドレスが、TTLとして120[秒]が送信される設定になっている。ネットワーク機器側で確認する。
ProCurve Switch 2510G-48# show lldp info remote-device 3 LLDP Remote Device Information Detail Local Port : 3 ChassisType : mac-address ChassisId : d4 ae 52 72 4a dd PortType : mac-address PortId : d4 ae 52 72 4a dd SysName : System Descr : PortDescr : System Capabilities Supported : System Capabilities Enabled : Remote Management Address ProCurve Switch 2510G-48#それらの情報がネットワーク機器側に認識されていることが判る。
さらに、ホスト名が送信される様設定してみよう。設定後は再起動が必要。
[root@sl01 ~]# lldptool set-tlv -V sysName enableTx=yes [root@sl01 ~]# service lldpad restart Checking for service lldpad: running Shutting down lldpad: [done] [ OK ] Starting lldpad: [done] [ OK ] [root@sl01 ~]#ネットワーク機器側で確認する。
ProCurve Switch 2510G-48# show lldp info remote-device 3 LLDP Remote Device Information Detail Local Port : 3 ChassisType : mac-address ChassisId : d4 ae 52 72 4a dd PortType : mac-address PortId : d4 ae 52 72 4a dd SysName : sl01.mynetwork.local System Descr : PortDescr : System Capabilities Supported : System Capabilities Enabled : Remote Management Address ProCurve Switch 2510G-48#ホスト名が認識されている。
他の情報も有効にしてみよう。
[root@sl01 ~]# lldptool set-tlv -V sysDesc enableTx=yes [root@sl01 ~]# lldptool set-tlv -V portDesc enableTx=yes Checking for service lldpad: running Shutting down lldpad: [done] [ OK ] Starting lldpad: [done] [ OK ] [root@sl01 ~]#確認。
ProCurve Switch 2510G-48# show lldp info remote-device 3 LLDP Remote Device Information Detail Local Port : 3 ChassisType : mac-address ChassisId : d4 ae 52 72 4a dd PortType : mac-address PortId : d4 ae 52 72 4a dd SysName : sl01.mynetwork.local System Descr : Linux sl01.mynetwork.local 2.6.32-220.2.1.el6.x86_64 #1 S... PortDescr : Interface 4 as em1 System Capabilities Supported : System Capabilities Enabled : Remote Management Address ProCurve Switch 2510G-48#システム詳細(System Descr)にカーネルのバージョンが表示されている。セキュリティ的には表示しない方がいいかもしれない。
『Red Hat 6系でLLDPを使う・その1』
『Red Hat 6系でLLDPを使う・その2』
0 件のコメント:
コメントを投稿