近隣ノードを発見するプロトコルは以下のように様々、ありますが、いずれも各ベンダー独自の規格でした。
メーカー | プロトコル |
---|---|
Cisc | CDP(Cisco Discovery Protocol) |
Extreme Networks | EDP(Extreme Discovery Protocol) |
Foundry Networks | FDP(Foundry Discovery Protocol) |
Nortel | NDP(Nortel Discovery Protocol) |
しかし、現在ではこういった近隣ノード発見の手段が IEEE 802.1AB において "LLDP" として標準化されています。
LLDP に関しては ITpro に分かりやすい記事がまとめられていました。
- 第1回 近隣ノードの自動検知で企業ネットの運用管理を効率化
- 第2回 仕組みは,管理情報をマルチキャストで送信するだけ
- 第3回 IP電話機の接続を検知してLANの設定を自動化
- 第4回 Windows Vistaが搭載する近隣探索プロトコル「LLTD」
Linux でも "lldpd" という LLDP 対応のアプリケーションが存在しており、今回はこのアプリケーションを試してみます。
32bit 環境へインストールする
CentOS 5.5(i386)へインストールしてみます。カーネルは以下の通りです。
$ uname -a
Linux centos-i386-01 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:53:09 EST 2011 i686 i686 i386 GNU/Linux
lldpd-0.4.2-1.el5.i386.rpm - CentOS 5 (RHEL 5) - CentALT から RPM パッケージをダウンロード&インストールします。
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
sudo rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
64bit 環境へインストールする
CentOS 5.5(x86_64)へインストールしてみます。カーネルは以下の通りです。
$ uname -a
Linux centos-01 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
lldpd-0.4.2-1.el5.x86_64.rpm - CentOS 5 (RHEL 5) - CentALT から RPM パッケージをダウンロード&インストールします。
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
sudo rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
インストールされたファイル一覧
RPM パッケージにより、以下のファイルがインストールされました。
$ rpm -ql lldpd
/etc/rc.d/init.d/lldpd
/etc/sysconfig/lldpd
/usr/sbin/lldpctl
/usr/sbin/lldpd
/usr/share/doc/lldpd-0.4.2
/usr/share/doc/lldpd-0.4.2/CHANGELOG
/usr/share/doc/lldpd-0.4.2/README
/usr/share/man/man8/lldpctl.8.gz
/usr/share/man/man8/lldpd.8.gz
/var/run/lldpd
設定ファイル
lldp の設定ファイルは "/etc/sysconfig/lldpd" になります。デフォルトでは以下のようになっていました。
# Uncomment to start SNMP subagent and enable CDP, SONMP and EDP protocol
#OPTIONS="-x -c -s -e"
デフォルトで lldpd は LLDP にのみ、対応しており、CDP を無視します。CDP を送受信する為には "-c" オプションを指定する必要があるので、上記の設定ファイルへ以下の一行を追記します。
OPTIONS="-c"
設定ファイルへの追記が完了したら、lldpd を再起動し、設定ファイルの変更を反映しておきます。
$ sudo /etc/init.d/lldpd restart
Stopping lldpd: [ OK ]
Starting lldpd: [ OK ]
コメント