URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 64628
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Использование протокола CDP (Cisco ..."

Отправлено auto_tips , 09-Мрт-10 23:34 
Проект LLDP (http://trac.luffy.cx/lldpd/) позволяет задействовать на Linux-серверах протокол CDP (Cisco Discovery Protocol), позволяющий на Cisco посмотреть соседей с включенной CDP-командой "sh cdp nei". Команда выведет оборудование которое подключено, на каком порту и т.д., более подробно для заданного устройства параметры можно посмотреть командой "sh cdp ent Device_ID".

Ниже приведен процесс настройки CDP для CentOS 5.4. Для Debian-подобных дистрибутивов принцип примерно тот же, за исключением особенностей сборки и расположения файлов.

Загружаем пакет src.rpm:

   wget http://www.luffy.cx/lldpd/lldpd-0.4.0-1.fc10.src.rpm

Установим его:

   rpm -Uhv lldpd-0.4.0-1.fc10.src.rpm

Появится файл спецификаций /usr/src/redhat/SPECS/lldpd.spec, на основе которого выполним сборку пакета:

   rpmbuild -bb /usr/src/redhat/SPECS/lldpd.spec

Устанавливаем вновь собранный пакет:

   rpm -Uhv /usr/src/redhat/RPMS/i386/lldpd-0.4.0-1.i386.rpm

Настраиваем опции запуска демона, отредактировав файл /etc/sysconfig/lldpd. Правим:

   OPTIONS="-v -c";

где,
"-v" - включаем поддержку vlan если они у Вас есть на машине с Linux
"-c" - включаем протокол CDP
более подробную информацию можно посмотреть в "man lldpd"

Запускаем демон:

   /etc/init.d/lldpd start

После запуска, в файле /var/log/messages мы увидим приблизительно такие строки:

   lldpd[30206]: lldpd_decode: switching to CDPv2 on port eth1
   lldpd[30206]: lldpd_decode: switching to CDPv2 on port eth0

всё в порядке, демон запустился.

Чтоб все работало, на оборудовании с другой стороны, на порту, должен быть включен CDP, то есть не должно стоять "no cdp enable" на интерфейсе.

Собственно, осталось только проверить как все работает и получить информацию.

   lldpctl

получаем:

   LLDP neighbors

   Interface: eth0
    ChassisID: sw-b-48 (local)
    SysName:   sw-b-48
    SysDescr:
     cisco WS-C2960-48TT-L running on
     Cisco IOS Software, C2960 Software (C2960-LANBASE-M)
     Copyright (c) 1986-2007 by Cisco Systems, Inc.
     Compiled Thu 19-Jul-07 20:06 by nachen
    MgmtIP:    172.16.25.48
    Caps:      Bridge(E)
    PortID:    FastEthernet0/4 (ifName)
    PortDescr: FastEthernet0/4
  
Видим , что на другой стороне у нас коммутатор C2960, версию IOS, порт коммутатора, к которому подключена машина с Linux.

Для остроты ощущений, посмотрим вывод на cisco, у нас там появилось:

   my.linux.machine
   Fas 0/4           92             R       Linux     eth0

То есть, видим, что у нас на порту fa0/4 подключена машина с Linux, сетевое имя машины, и её сетевая карта eth0.

Стоит отметить еще утилиту cdpr, но с её помощью можно только получать информацию по CDP, а не обмениваться ей, для Red Hat-подобных дистрибутивов она есть в репозитории rpmforge.


URL: http://wiki.dodex.org/2010/03/08/cdp-%D0%BD%D.../
Обсуждается: http://www.opennet.me/tips/info/2313.shtml


Содержание

Сообщения в этом обсуждении
"Использование протокола CDP (Cisco Discovery Protocol) в Linux"
Отправлено аноним , 09-Мрт-10 23:34 
LLDP (IEEE 801.AB) это не CDP. Не путайте. СDP показывает больше.

"Использование протокола CDP (Cisco Discovery Protocol) в Lin..."
Отправлено Вячеслав , 10-Мрт-10 07:23 
Протоколы LLDP и CDP ничего не показывают =\ Железки отображают ровно то, что получают на интерфейсы. LLDP TVL может содержать любые значения.

А совет, собственно, полезный, когда у тебя 6-интерфейсные сервера linux и инженер, который может перепутать интерфейсы. (Хотя пока этот вопрос решается с помощью анализа маков на интерфейсах коммутатора.)


"Использование протокола CDP (Cisco Discovery Protocol) в Lin..."
Отправлено shadow_alone , 10-Мрт-10 10:19 
Мне собственно не раз помогало. Админы повтыкают в коммутатор, а дескрипшн не везде выставят. Понятно что по маку можно определить, но зачем, если есть способ проще.

"Использование протокола CDP (Cisco Discovery Protocol) в Lin..."
Отправлено anonymous , 10-Мрт-10 13:06 
Т.е. чиста показать что знаете что ето такое. А почитать влом?
http://www.cisco.com/en/US/technologies/tk652/tk701/technolo...

"Использование протокола CDP (Cisco Discovery Protocol) в Linux"
Отправлено rdx , 10-Мрт-10 15:47 
Спасибо за статью.

"Использование протокола CDP (Cisco Discovery Protocol) в Linux"
Отправлено mike_t , 11-Мрт-10 09:18 
мне больше понравился http://www.blinkenlights.nl/software/ladvd/

"Использование протокола CDP (Cisco Discovery Protocol) в Linux"
Отправлено mike_t , 11-Мрт-10 09:19 
да, и cdpr нафиг не нужен, есть способ гораздо проще
tcpdump -vvv -s 1024 ether dst 01:00:0c:cc:cc:cc or ether dst 01:80:c2:00:00:0e

"Использование протокола CDP (Cisco Discovery Protocol) в Lin..."
Отправлено Анонимко , 11-Мрт-10 15:12 
О да, проще ;)
но как вариант запомним. :)

"Использование протокола CDP (Cisco Discovery Protocol) в Lin..."
Отправлено mike_t , 12-Мрт-10 08:10 
хорошо, универсальней :)

"Использование протокола CDP (Cisco Discovery Protocol) в Lin..."
Отправлено Sem , 15-Мрт-10 17:30 
А с другой стороны, со стороны каталиста?

"Использование протокола CDP (Cisco Discovery Protocol) в Linux"
Отправлено den , 05-Мрт-11 11:04 
Есть такой еще вариант для FreeBSD #CDP – Cisco Discovery Protocol во FreeBSD#
http://it-admin.org/os-freebsd/cdp-%e2%80%93-...