[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

2012/01/28

Red Hat 6系でLLDPを使う・その1

Red Hat Enterprise Linux 6 (RHEL6)およびその互換ディストリビューションでは、LLDPがサポートされている。今回の記事では、これを使ってみる。

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 件のコメント: