Как найти MAC-адрес устройства на коммутаторе Cisco

При проведении работ по устранению неполадок или обслуживанию корпоративной сети иногда требуется выявить MAC-адреса конкретных устройств (хостов, других коммутаторов, других сетевых устройств), которые подключены к данной сети.

На небольших сетях это может быть довольно простой задачей, но на больших сетях это может представить определенные трудности. В этой статье мы рассмотрим, как выполнить это на Cisco-сетях, начиная с одного коммутатора и заканчивая крупной корпоративной сетью с несколькими коммутаторами.


Значение MAC-адреса

В мире компьютерных сетей каждое устройство обладает своим уникальным идентификатором, который называется MAC-адресом. Этот аппаратный адрес является неизменным для каждой сетевой карты Ethernet и используется для гарантированной доставки пакетов данных на конкретное устройство.

Коммутаторы и MAC-адреса

Для сетевых администраторов, управляющих сетевыми коммутаторами Cisco, умение определить MAC-адрес устройства, подключенного к конкретному порту, имеет высокую ценность. Коммутаторы формируют таблицу MAC-адресов, которая представляет собой важный элемент механизма коммутации на втором уровне в сетях Ethernet.

Порой она получает название таблицы CAM (Content Addressable Memory) из-за специфики используемого типа памяти для хранения данных. Эта таблица MAC-адресов позволяет коммутатору эффективно маршрутизировать фреймы на основе MAC-адресов, обеспечивая надежную доставку фреймов только к заранее определенному получателю.

Назначение таблицы MAC-адресов

Главная задача таблицы MAC-адресов – это сохранение соответствия между MAC-адресами и портами коммутатора, к которым подключены устройства. Это гарантирует передачу Ethernet-фреймов на правильный порт, сокращая ненужный сетевой трафик и обеспечивая эффективное использование доступной пропускной способности.

Как происходит наполнение таблицы MAC-адресов?

При получении Ethernet-фрейма на одном из своих портов, коммутатор осуществляет анализ MAC-адреса отправителя этого фрейма. Если данный адрес еще не фигурирует в таблице MAC-адресов, коммутатор вносит новую запись для этого MAC-адреса, ассоциируя его с портом, на котором произошло получение фрейма. Этот процесс называется процессом динамического обучения.

В каждой записи таблицы MAC-адресов устанавливается время устаревания. Если в течение этого времени устаревания, которое по умолчанию составляет 300 секунд или пять минут на коммутаторе Cisco, коммутатор не обнаружит фрейм от определенного MAC-адреса, то данный адрес будет удален из таблицы. Это обеспечивает актуальность таблицы и предотвращает наличие в ней устаревших записей.

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

Поиск устройства с определенным MAC-адресом

Иногда возникают ситуации, когда вы знаете MAC-адрес определенного устройства и хотите узнать, к какому порту на коммутаторе оно подключено.

MAC-адрес можно получить из различных источников, таких как DHCP-сервер, операционная система хоста (например, Windows) или метка на устройстве. Если у вас есть этот MAC-адрес, вы можете начать поиск порта, к которому это устройство подключено.

Простые топологии

В случае сетей, где есть всего один коммутатор, это довольно просто. Вы можете использовать команду “show mac address-table”, чтобы вывести содержимое текущей таблицы MAC-адресов.

Пример вывода может быть следующим:

Switch# show mac address-table

Vlan Mac Address Type Ports

—- ———– ——– —–

55 00a1.b2c3.d4e5 DYNAMIC Fa0/1
77 00b2.c3d4.e5f6 STATIC Fa0/2

Рассмотрим, что означает каждая из колонок:

  • Vlan: Если порт является портом доступа, в этой колонке указан номер VLAN, который соответствует VLAN, настроенному на этом порту. В случае транка, в этой колонке указывается конкретный номер VLAN, связанный с соответствующим MAC-адресом.
  • Mac Address: MAC-адрес связанного с портом устройства.
  • Type: Тип записи MAC-адреса может быть либо статическим, либо динамическим.
  • Ports: Это указанный порт, на котором был обнаружен определенный MAC-адрес.

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

Более сложные топологии

Что происходит, когда у вас есть несколько коммутаторов, и нужное вам устройство не подключено напрямую к локальному коммутатору? Рассмотрим эту топологию:

Предположим, что это часть обширной топологии предприятия с множеством коммутаторов. Мы имеем доступ к командной строке SW1 и техник, сидящий у ПК, сообщил нам MAC-адрес PC1.

MAC-адрес: 00a1.b2c3.001, но нам неизвестно, к какому коммутатору он привязан. Для выяснения этой информации мы можем выполнить команду show mac address-table на SW1, и получим примерно следующий результат:

SW1# show mac address-table

Vlan    Mac Address       Type        Ports

—-    ———–       ——–    —–

50      00a1.b2c3.0001    DYNAMIC     Gi0/1
60      00a1.b2c3.0002    DYNAMIC     Gi0/1
70      00a1.b2c3.0003    DYNAMIC     Gi0/1
50      00a1.b2c3.0004    DYNAMIC     Gi0/2
60      00a1.b2c3.0005    DYNAMIC     Gi0/3
70      00a1.b2c3.0006    DYNAMIC     Gi0/4

Мы заметили, что искомый MAC-адрес отображается на Gi0/1. При анализе топологии мы видим, что это является транковым портом, и это подтверждается наличием нескольких MAC-адресов, связанных с этим конкретным портом. Это логично, поскольку все устройства на SW2 будут отправлять свои сетевые пакеты в SW1 через порт Gi0/1, и таблица MAC-адресов будет заполняться по мере их выхода через этот порт.

После выявления этого факта мы можем перейти к SW2, который соединен с нашим транковым портом Gi0/1, и выполнить аналогичную команду. Мы можем продолжать этот процесс, пока не установим, к какому коммутатору непосредственно подключен наш PC1 через порт доступа.

В данном случае, при выполнении той же команды на SW2, мы определяем, что он действительно подключен к порту доступа:

SW2# show mac address-table dynamic address 00a1.b2c3.0001

Vlan    Mac Address       Type        Ports

—-    ———–       ——–    —–

50      00a1.b2c3.0001    DYNAMIC     Gi0/2

Команда выше, дополненная ключевыми словами, указывающими конкретный MAC-адрес, который нас интересует, выводит только этот адрес и показывает, что он подключен к Gi0/2. Путем более подробного анализа конфигурации мы можем определить, что это является портом доступа.

Практическое применение поиска MAC-адреса

Вот несколько преимуществ определения порта, к которому подключен определенный MAC-адрес на коммутаторе Cisco:

  • Обеспечение безопасности и соблюдение сетевой политики: MAC-адреса можно применять для внедрения политик безопасности. Например, можно разрешить доступ к определенному VLAN или сегменту сети только для устройств с определенными MAC-адресами.
  • Решение проблем: Это способствует выявлению проблем с соединением или настройкой. Зная, какое устройство подключено где, сетевым администраторам легче определить проблемы и решить их быстрее.
  • Инвентаризация и учет активов: Сетевые администраторы могут следить за устройствами, подключенными к сети, что имеет важное значение для крупных организаций с большим числом устройств.

Идентификация производителя через OUI

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

MAC-адрес – это не произвольная строка из цифр и букв. Первые три октета, или первые шесть шестнадцатеричных символов, известные как Уникальный идентификатор организации (OUI), определяют производителя устройства. Путем анализа OUI можно выявить производителя устройства. Это может быть особенно полезно в ситуациях, когда обнаруживаются неопознанные устройства в сети или требуется стандартизировать оборудование.

Вот несколько примеров хорошо известных OUI:

  • Cisco Systems: 00-40-96, 00-1E-13, 00-1D-45, 00-1B-D5
  • Hewlett-Packard (HP): 00-50-8B, 00-60-B0, 00-80-5F, 3C-D9-2B
  • Intel Corporation: 00-02-B3, 00-08-C7, 00-0E-0C, 00-1B-77

Заключение

Выявление MAC-адреса устройства на порту коммутатора Cisco является ключевым навыком для сетевых администраторов. Будь то в целях обеспечения безопасности, устранения неисправностей или отслеживания активов, знание команды show mac address-table и анализ ее результатов считается необходимым.

Что будем искать? Например,Cisco

Мы в социальных сетях