MAC-адрес — физический адрес сетевого адаптера, записываемый в формате шести пар шестнадцатеричных цифр: 00:1A:2B:3C:4D:5E. В отличие от IP-адреса (сетевой уровень), MAC работает на канальном уровне в пределах одной локальной сети (сегмента Ethernet или WLAN).
Как работает
При передаче данных в Ethernet-сети каждый кадр содержит MAC-адрес источника и получателя. Коммутатор (switch) строит таблицу CAM (Content Addressable Memory), связывающую MAC-адреса с портами. Это позволяет передавать кадры только на нужный порт, не «флудить» на все.
Первые 3 байта MAC — OUI (Organizationally Unique Identifier), назначается IEEE производителю. По OUI можно определить производителя карты: 00:50:56 — VMware, 52:54:00 — QEMU/KVM, 00:1A:2B — зависит от вендора. Последние 3 байта — уникальный серийный номер в рамках производителя.
Кроме физического MAC (burned-in address, BIA) сетевые карты поддерживают смену MAC программно. В Linux: ip link set eth0 address AA:BB:CC:DD:EE:FF. Это используется для тестирования, обхода ограничений по MAC и в виртуализации, где гипервизор генерирует MAC для каждого vNIC.
История
MAC-адреса введены в стандарте IEEE 802.3 (Ethernet) в 1980 году. Xerox, Intel и DEC разработали первую версию Ethernet в 1970-х. OUI-реестр IEEE ведётся с 1986 года. В 2023 году введён стандарт «Locally Administered Address» для рандомизации MAC в Wi-Fi (противодействие слежке).
На что обращать внимание
MAC-фильтрация в коммутаторах (port security) позволяет разрешать трафик только с конкретных MAC-адресов — это защита от несанкционированных устройств. В облаке и виртуализации MAC-адреса vNIC уникальны в пределах ноды. Проверить MAC на Linux: ip link show eth0 или cat /sys/class/net/eth0/address.
Структура MAC-адреса
MAC-адрес — 48 бит (6 байт): 00:1A:2B:3C:4D:5E. Первые 3 байта (OUI) — идентификатор производителя (IEEE). 00:50:56 — VMware, 52:54:00 — QEMU/KVM, 00:15:5D — Microsoft Hyper-V. По OUI определяют производителя через базы данных IEEE.
MAC-адреса в виртуализации
При создании ВМ гипервизор генерирует случайный MAC для каждого vNIC. При clone/snapshot ВМ нужно изменить MAC — иначе два хоста в одной сети создадут конфликты ARP.
MAC в контексте безопасности
MAC-фильтрация на коммутаторах не является надёжной защитой: MAC легко подделывается (MAC spoofing). VLAN-изоляция надёжнее для сегментации сети. Команда arp -n показывает таблицу IP→MAC для известных хостов.
Sticky MAC и безопасность портов
Port security на коммутаторах: привязка MAC к порту. Sticky MAC: автоматическая привязка при первом подключении. При появлении нового MAC: port-security violation (shutdown/restrict/protect). В хостинге: защита от MAC flooding атак внутри серверной стойки.
Генерация MAC в облаке
В AWS: MAC-адрес привязан к ENI (Elastic Network Interface), не изменяется при stop/start. В Yandex Cloud, Hetzner: аналогично. Некоторые приложения (Oracle, IBM) привязывают лицензии к MAC-адресу — важно учитывать при миграции между облаками. MAC persistence отличается у разных провайдеров.