The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Использование протокола CDP (Cisco Discovery Protocol) в Linux
Проект 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.
 
09.03.2010 , Автор: shadow_alone , Источник: http://wiki.dodex.org/2010/03/08/cd...
Ключи: cdp, cisco, linux, lldpd
Раздел:    Корень / Администратору / Система / Просмотр состояния и мониторинг системы

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, аноним (?), 23:34, 09/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    LLDP (IEEE 801.AB) это не CDP. Не путайте. СDP показывает больше.
     
     
  • 2.2, Вячеслав (??), 07:23, 10/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Протоколы LLDP и CDP ничего не показывают =\ Железки отображают ровно то, что получают на интерфейсы. LLDP TVL может содержать любые значения.

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

     
     
  • 3.3, shadow_alone (ok), 10:19, 10/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Мне собственно не раз помогало. Админы повтыкают в коммутатор, а дескрипшн не везде выставят. Понятно что по маку можно определить, но зачем, если есть способ проще.
     
  • 3.4, anonymous (??), 13:06, 10/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е. чиста показать что знаете что ето такое. А почитать влом?
    http://www.cisco.com/en/US/technologies/tk652/tk701/technologies_white_paper0
     

  • 1.5, rdx (??), 15:47, 10/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо за статью.
     
  • 1.6, mike_t (?), 09:18, 11/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    мне больше понравился http://www.blinkenlights.nl/software/ladvd/
     
  • 1.7, mike_t (?), 09:19, 11/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    да, и cdpr нафиг не нужен, есть способ гораздо проще
    tcpdump -vvv -s 1024 ether dst 01:00:0c:cc:cc:cc or ether dst 01:80:c2:00:00:0e
     
     
  • 2.8, Анонимко (?), 15:12, 11/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    О да, проще ;)
    но как вариант запомним. :)
     
     
  • 3.9, mike_t (?), 08:10, 12/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    хорошо, универсальней :)
     
  • 2.10, Sem (??), 17:30, 15/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А с другой стороны, со стороны каталиста?
     

  • 1.11, den (??), 11:04, 05/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Есть такой еще вариант для FreeBSD #CDP – Cisco Discovery Protocol во FreeBSD#
    http://it-admin.org/os-freebsd/cdp-%e2%80%93-cisco-discovery-p
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру