LINUX.ORG.RU
решено ФорумAdmin

Поиск MAC-адреса на свитчах


1

1

Всем привет,

иногда нужно узнать, в какой порт какого из двадцати свитчей втыкается клиент с известным MAC-адресом. Соответвенно, нужна софтина, позволяющая сделать

findfkinmac 00:03:47:d5:a0:ea
а она мне:
Found at TheCore port g2
Found at sw112 port e12
(конечно, предварительно придётся написать в конфиге адреса и другие параметры своих свитчей)

Реализация может быть другой, но результат нужен примерно такой.

Спасибо.

★★★★

нужна штука, которая будет опрашивать твои коммутаторы по какому-нибудь snmp.
у нас для этих (и многих других) целей используется ынтырпрайзное решение - hp nnm.

anonymous_sapiens ★★★★★
()
Ответ на: комментарий от anonymous_sapiens

Не, мне нужен бич-вариант.

Про SNMP: насколько я понимаю, аргумент по SNMP передать нельзя, т. е. запросить порт для конкретного мака нельзя, можно только прочитать список маков целиком и погрепать, так ведь?

muon ★★★★
() автор топика
Последнее исправление: muon (всего исправлений: 1)

Взялся пока набросать на коленке на примере трёх свитчей. Все три свитча от чудо-фирмы Allied Telesis (AT-8024GB, AT-8000S, x908), во всех используются разные команды («show switch fdb Address=», «show bridge address-table address», «show mac address-table | include») и разные способы отображения маков (0000cd2b0339, 00:00:cd:2b:03:39, 0000.cd2b.0339). И эти люди претендуют на энтерпрайз, лол.

muon ★★★★
() автор топика
Ответ на: комментарий от muon

Аргумент по SNMP передать можно, но в данном случае не нужно.

SNMP хорош тем, что если нужные MIB-ы поддерживаются, то не имеет значения синтаксис команд в CLI и формат их выхлопа.

frob ★★★★★
()
Ответ на: комментарий от muon

ну, ладно, у цисок тоже в зависимости от иоса show mac address-table или show mac-address-table :)

anonymous_sapiens ★★★★★
()
Ответ на: комментарий от muon

И эти люди претендуют на энтерпрайз, лол.

А ты чего хотел? CLI-формат может быть не стандартизирован вообще. Более-менее стандартизируют только SNMP MIB-ы. Такие дела

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Серьёзная железка предполагает серьёзные курсы / толстые книжки. А если я отправляюсь на курсы за 100500 рублей или трачу недели на самостоятельное изучение, то я должен быть уверен, что полученные знания и навыки не устареют за полгода. По-моему так.

muon ★★★★
() автор топика
Ответ на: комментарий от muon

полученные знания и навыки не устареют за полгода

Эм. SNMP протоколу уже как минимум лет 10. Или это недостаточно серьезно? ;-)

Pinkbyte ★★★★★
()
Ответ на: комментарий от frob

Спасибо, ты придал мне уверенности.

Нужное нашёл в BRIDGE-MIB, теперь вот такой строкой

snmpwalk -l authPriv -u userman -A DaPazzword -X rtkllkjhg -OvQ 192.168.0.18 .1.3.6.1.2.1.17.4.3.1.2.0.21.93.10.58.23
получаю порт для мака 0.21.93.10.58.23 (сиречь 00:15:5d:0a:3a:17).

muon ★★★★
() автор топика
Последнее исправление: muon (всего исправлений: 1)
Ответ на: комментарий от muon

На цисках такое сработает только если всё в первом VLAN-е.
Как на АТ — не знаю.

Я для своего клиента наваял скриптец вываливающий девайс и порт по IP хоста. Помогает, если надо временно перенастроить порт под свич или поразбираться с проблемами какого-нибудь конкретного сервера.

frob ★★★★★
()
Ответ на: комментарий от anonymous_sapiens

нужна штука, которая будет опрашивать твои коммутаторы по какому-нибудь snmp.

В итоге так и получилось.

только у меня ынтырпрайзный самописный bash-скрипт.

muon ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.