Media Access Control (MAC-адрес) - это уникальный идентификатор, назначенный для сетевых интерфейсов для связи на физическом сегменте сети. MAC-адреса используются для многочисленных сетевых технологий и наиболее сетевых технологий, включая Ethernet.
MAC-адреса чаще всего присваиваются производителем сетевой карты (NIC) и хранится в его аппаратной части. Присвоенный изготовителем МАС-адрес обычно кодирует зарегистрированный идентификационный номер производителя и может быть передано как burned-in в адрес. Он может быть также известен как аппаратный адрес Ethernet (EHA), аппаратный адрес или физический адрес.
Как сменить MAC-адрес сетевой карты
Иногда возникает необходимость поменять MAC-адрес сетевой карты. Например, если в точке доступа wi-fi прописан другой MAC-адрес. В Linux это сделать достаточно просто. В качестве примера мы используем сетевую карту eth0, поменяв MAC-адрес на 01:02:03:04:05:06.
Сначала нужно остановить сетевую карту:
ifconfig eth0 down
Далее прописываем нужный нам MAC
ifconfig eth0 hw ether 01:02:03:04:05:06
И теперь запускаем сетевую карту
ifconfig eth0 up
Проверяем:
1 2 3 4 5 6 7 8 9 10 11 |
|
ARP
Нужно описание!
Фильтрация по MAC с помощью ARP
Итак, предыстория: есть небольшая машинка, раздающая через Wi-Fi интернет. Создана на основе статьи Сервер из старого компьютера. Однако фильтрацию пользователей решено было возложить не на hostapd, а на iptables. Причина проста: нужно, чтобы некоторые машины могли присоединяться к сети, но не могли выходить за её пределы. Как позже оказалось, POSTROUTING в Iptables и MAC-адреса несовместимы, а делать цепочку отдельных правил не хотелось. Поэтому появилась мысль просто привязать IP и MAC в ARP таблице.
Итак, для начала мы можем посмотреть таблицу, которая уже создалась. Находим команду:
whereis arp
В нашем случае это оказалось /usr/sbin/arp (ubuntu server). Теперь смотрим, просто задав эту команду:
/usr/sbin/arp
1 2 3 4 |
|
Обратите снимание, что стоит только флаг C. Теперь соберем это все в один файл-таблицу
1
|
|
1 2 3 |
|
Просто, не так ли? Теперь запишем эти данные в ARP-таблицу:
arp -f /root/ipmac.txt
И проверяем:
1 2 3 4 5 |
|
Теперь добавился флаг M. Итак, если кто-то из клиентов поменяет сетевую карту, то интернет ему не светит. Конечно, это не самый безопасный способ. Грамотный специалист вполне сможет поменять MAC и, сменив IP на соответствующий, получить доступ в интернет.
Дополнительные команды ARP
очистка arp-таблицы:
arp -d -a
Загрузка связки IP+MAC из файла:
arp -f /root/ipmac.txt
Привязываем MAC к IP не через файл:
arp -s 10.0.0.1 00:11:22:33:44:55
Удаляем связку (не из файла, поэтому после перезагрузки данные могут восстановиться):
arp -d 10.0.0.1
Для отслеживания изменений MAC-адресов удобно использовать arpwatch.