Получение MAC на порт уровня 3 через SNMP? - PullRequest
1 голос
/ 01 февраля 2012

Я работаю над сценарием для сопоставления серверов, которые подключены к нашим коммутаторам и маршрутизаторам.У меня это работает для сопоставления портов второго уровня, используя алгоритм, указанный в http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a00801c9199.shtml для извлечения MAC-адресов.

Порты уровня 3 - другой вопрос.Это порты, которые не отображаются в команде 'sh vlan' на коммутаторе маршрутизатора / уровня 3.В идеале я хотел бы использовать MAC-адреса, присутствующие в этих портах, лежащие в основе соединения уровня 3, так как это немного более «постоянный», чем IP-адрес - они отображаются в таблице MAC-адресов на устройстве.Однако тот факт, что эти порты не имеют связанной VLAN, и что извлечение MAC-адреса через SNMP индексируется VLAN, делает его довольно трудным.

Я бился головой об этом околонедели или около того, но, похоже, ничто из того, что я пробую / нахожу, не позволяет мне получить MAC-адреса без VLAN.Можно ли таким образом сопоставить порты третьего уровня или мне нужно будет использовать сопоставление 3-го уровня (IP-адрес)?

1 Ответ

0 голосов
/ 04 февраля 2012

Если вы подключены через слой 2 к устройству, вы можете просто использовать пинг по адресу уровня 3, чтобы сгенерировать поиск arp, а затем посмотреть в кеше arp для mac ... Это будет работать для любого уровня 3 порт, даже логические порты, такие как версия Portchannels уровня 3. Это, наверное, самый простой способ.

Если вы хотите быть на 100% в сфере SNMP:

Чтобы получить таблицу интерфейсов для этого устройства, пройдите ниже oid. Он вернется список всех интерфейсов на этом устройстве. Это должно работать на любом устройстве (даже на сервере), на котором работает агент SNMP:

.1.3.6.1.2.1.2.2.1.2

Это даст вам список номеров интерфейсов (последняя цифра в OID) и описания интерфейсов. Он работает для SVI и физических интерфейсов, не уверен насчет логических типов, отличных от SVI.

Затем для каждого интерфейса, чтобы получить его mac (где x - это значение в таблице интерфейса):

.1.3.6.1.2.1.2.2.1.6.x

Это дает тебе макинтош. (Ведущие 0 могут быть усечены на некоторых устройствах.) Однако для выполнения snmpwalk вам потребуется как минимум 1 адрес уровня 3 на каждом устройстве.

Если вы просто хотите получить все маки, тогда пройдитесь по этому oid:

.1.3.6.1.2.1.2.2.1.6

Я использую этот подход, чтобы сделать нечто подобное в большой сети.

...