Определение простыми словами
MAC-адрес (Media Access Control) — это «номер паспорта» сетевой карты. Каждое устройство, которое подключается к Ethernet или Wi-Fi, имеет уникальный 48-битный номер из шести байтов. Первые три байта (OUI) указывают производителя — Intel, Apple, Realtek, последние три — серийный номер устройства.
MAC работает на втором уровне OSI — внутри одного сегмента сети. Когда вы заходите на сайт, ваш роутер пересылает фрейм Ethernet на MAC соседнего узла. На третьем уровне работает IP, а связку между ними обеспечивает ARP.
Сравнение
| Параметр | MAC-адрес | IP-адрес |
|---|---|---|
| Уровень OSI | L2 (канальный) | L3 (сетевой) |
| Длина | 48 бит (6 байт) | 32 бита (IPv4) / 128 бит (IPv6) |
| Назначение | зашит в железо | выдаёт DHCP / админ |
| Зона действия | один сегмент | глобальная |
| Пример | 00:1A:2B:3C:4D:5E | 192.0.2.10 |
| Маршрутизация | не маршрутизируется | через шлюзы |
Кейсы использования
- Привязка лицензий и аренды IP в DHCP по MAC: устройство всегда получает один и тот же адрес.
- Контроль доступа к Wi-Fi через белый список MAC.
- Гипервизор присваивает виртуальной машине MAC из выделенного диапазона QEMU/VMware.
- Активация ПО, привязанная к MAC сетевой карты сервера.
- Негативный сценарий: фильтрация по MAC легко обходится — адрес меняется одной командой
ip link set dev eth0 address .... Полагаться на это как на единственную защиту нельзя.
Технические детали
# Посмотреть MAC всех интерфейсов в Linux
ip link show
ip -br link
# Сменить MAC временно (до перезагрузки)
sudo ip link set dev eth0 down
sudo ip link set dev eth0 address 02:42:ac:11:00:99
sudo ip link set dev eth0 up
# Узнать MAC соседнего устройства из ARP-таблицы
ip neigh show
arp -a
# Найти производителя по OUI
curl -s https://api.macvendors.com/00:1A:2B
В Wi-Fi 6 и iOS 14+ применяются «приватные» рандомизированные MAC, что усложняет отслеживание устройств. На уровне сервера MAC привязывают к виртуальному интерфейсу через панель управления или через iproute2.
🔥 Где это применяется
Частые вопросы
Можно ли сменить MAC-адрес?
Да, программно. Команда <code>ip link set ... address</code> меняет MAC на лету. Прошитый в железе («burned-in») остаётся прежним, но операционная система и сеть видят новый.
MAC-адрес уникален во всём мире?
Производители получают пулы OUI от IEEE и обязаны не выпускать дубли. На практике дубликаты встречаются у дешёвых noname-адаптеров, что вызывает конфликты в локальной сети.
Передаётся ли MAC через интернет?
Нет. Маршрутизаторы заменяют MAC-адрес отправителя на каждом хопе. Через интернет до сервера долетает только IP-адрес и MAC последнего шлюза в его сегменте.