lldpd
LLDPというL2近隣探査用プロトコルの実装
- インストール
- <code># pkgreplace -N
whereis lldpd | cut -d ":" -f 2
&& rehash</code> * 設定 * そこまで大げさなものはないです。 * <code># echo 'lldpdenable=“YES”' » /etc/rc.conf</code>
- 起動
- <code># /usr/local/etc/rc.d/lldpd start</code>
- 出力(対応装置が近くにあれば、LLDPネイバに登録される)
- <code># lldpneighbors
OpenLLDP Neighbor Info:
Interface 'eth0' has 1 LLDP Neighbors:
Neighbor 1:
Chassis ID: MAC Address - 00 25 61 01 35 80 Port ID: Locally Assigned - 33 Time To Live: 120 seconds Port Description: Port #3 System Name: PROCURVE J9450A System Description: HP ProCurve 1810G - 24 GE, P.1.17, eCos-2.0 System Capabiltiies: Bridge/Switch (enabled) Management Address: IPv4 - 192.168.1.4 (ifIndex - 419430400) (OID: Proprietary MIB) End Of LLDPDU:</code> * メモ * 動作するインタフェースはプロミスキャスモードになってしまう。 * <code>Nov 17 00:13:22 nazuna kernel: <6>eth1: promiscuous mode enabled</code> * 動作するインタフェースを明示する場合は、lldpd_flags="-i eth0"のようにrc.confに書く * ただし、この書式では複数のI/Fを指定できない。全てのI/Fまたは単一のI/Fになってしまう。 * 仮想インタフェース(ng0とかpfsyncとかplipとか)では動かないので、下記のようなエラーが出て鬱陶しい。 * <code>Nov 17 00:12:45 nazuna kernel: <4>ng0: can't handle af1</code> * 別にそれ以外のI/Fは淡々と動き続けるから鬱陶しい止まりなんだけど。 * 再起動するとLLDP Neighbors情報は消える。 * フォアグラウンドで動かすと、エラーが出てるのが分かる。 * <code># lldpd -f
/var/run/lldpd.sock:19 [Error] Unable to bind to the unix domain socket for client registration! [Error] Unable to listen to the unix domain socket for client registration! ioctl[SIOC{ADD/DEL}MULTI]: Device not configured Unable to set multicast mode, trying promiscuous… Success! BIOCGBLEN: 4096 eth0 MAC: 00:0C:29:00:3F:CF eth0 MTU: 4096 eth0 MAC: 00:0C:29:00:3F:CF Would stuff interface #: 1 [ERROR] in config file: invalid locationdataformat '0' ioctl[SIOC{ADD/DEL}MULTI]: Device not configured Unable to set multicast mode, trying promiscuous… Success! BIOCGBLEN: 4096 eth1 MAC: 00:0C:29:00:3F:D9 eth1 IP: 192.168.122.3 eth1 MTU: 4096 eth1 MAC: 00:0C:29:00:3F:D9 eth1 IP: 192.168.122.3 Would stuff interface #: 2 [ERROR] in config file: invalid locationdataformat '0' [Error] (16) : Device busy (socketInitializeLLDP:167) [ERROR] Problem initializing socket for plip0 [Error] (16) : Device busy (socketInitializeLLDP:167) [ERROR] Problem initializing socket for pfsync0 [Error] (16) : Device busy (socketInitializeLLDP:167) [ERROR] Problem initializing socket for ng0 [Error] (16) : Device busy (socketInitializeLLDP:167) [ERROR] Problem initializing socket for ng1 [Error] (16) : Device busy (socketInitializeLLDP:167) [ERROR] Problem initializing socket for ng2 sysinfo.machine: amd64 sysinfo.sysname: FreeBSD sysinfo.release: 7.4-RELEASE-p4 lldpsystemdesc: amd64/FreeBSD 7.4-RELEASE-p4 lldpsystemname: nazuna.ainoniwa.net. Running RX state machine for eth1 Decrementing RX Timers Displaying RX Timers</code>